From e7258e38aeb46281fda474b8b7fcc3eee35edd9f Mon Sep 17 00:00:00 2001 From: Kujtim Hoxha Date: Sun, 23 Mar 2025 22:25:31 +0100 Subject: initial agent setup --- internal/db/db.go | 78 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 64 insertions(+), 14 deletions(-) (limited to 'internal/db/db.go') diff --git a/internal/db/db.go b/internal/db/db.go index b97eb7108..e882106c4 100644 --- a/internal/db/db.go +++ b/internal/db/db.go @@ -24,15 +24,30 @@ func New(db DBTX) *Queries { func Prepare(ctx context.Context, db DBTX) (*Queries, error) { q := Queries{db: db} var err error + if q.createMessageStmt, err = db.PrepareContext(ctx, createMessage); err != nil { + return nil, fmt.Errorf("error preparing query CreateMessage: %w", err) + } if q.createSessionStmt, err = db.PrepareContext(ctx, createSession); err != nil { return nil, fmt.Errorf("error preparing query CreateSession: %w", err) } + if q.deleteMessageStmt, err = db.PrepareContext(ctx, deleteMessage); err != nil { + return nil, fmt.Errorf("error preparing query DeleteMessage: %w", err) + } if q.deleteSessionStmt, err = db.PrepareContext(ctx, deleteSession); err != nil { return nil, fmt.Errorf("error preparing query DeleteSession: %w", err) } + if q.deleteSessionMessagesStmt, err = db.PrepareContext(ctx, deleteSessionMessages); err != nil { + return nil, fmt.Errorf("error preparing query DeleteSessionMessages: %w", err) + } + if q.getMessageStmt, err = db.PrepareContext(ctx, getMessage); err != nil { + return nil, fmt.Errorf("error preparing query GetMessage: %w", err) + } if q.getSessionByIDStmt, err = db.PrepareContext(ctx, getSessionByID); err != nil { return nil, fmt.Errorf("error preparing query GetSessionByID: %w", err) } + if q.listMessagesBySessionStmt, err = db.PrepareContext(ctx, listMessagesBySession); err != nil { + return nil, fmt.Errorf("error preparing query ListMessagesBySession: %w", err) + } if q.listSessionsStmt, err = db.PrepareContext(ctx, listSessions); err != nil { return nil, fmt.Errorf("error preparing query ListSessions: %w", err) } @@ -44,21 +59,46 @@ func Prepare(ctx context.Context, db DBTX) (*Queries, error) { func (q *Queries) Close() error { var err error + if q.createMessageStmt != nil { + if cerr := q.createMessageStmt.Close(); cerr != nil { + err = fmt.Errorf("error closing createMessageStmt: %w", cerr) + } + } if q.createSessionStmt != nil { if cerr := q.createSessionStmt.Close(); cerr != nil { err = fmt.Errorf("error closing createSessionStmt: %w", cerr) } } + if q.deleteMessageStmt != nil { + if cerr := q.deleteMessageStmt.Close(); cerr != nil { + err = fmt.Errorf("error closing deleteMessageStmt: %w", cerr) + } + } if q.deleteSessionStmt != nil { if cerr := q.deleteSessionStmt.Close(); cerr != nil { err = fmt.Errorf("error closing deleteSessionStmt: %w", cerr) } } + if q.deleteSessionMessagesStmt != nil { + if cerr := q.deleteSessionMessagesStmt.Close(); cerr != nil { + err = fmt.Errorf("error closing deleteSessionMessagesStmt: %w", cerr) + } + } + if q.getMessageStmt != nil { + if cerr := q.getMessageStmt.Close(); cerr != nil { + err = fmt.Errorf("error closing getMessageStmt: %w", cerr) + } + } if q.getSessionByIDStmt != nil { if cerr := q.getSessionByIDStmt.Close(); cerr != nil { err = fmt.Errorf("error closing getSessionByIDStmt: %w", cerr) } } + if q.listMessagesBySessionStmt != nil { + if cerr := q.listMessagesBySessionStmt.Close(); cerr != nil { + err = fmt.Errorf("error closing listMessagesBySessionStmt: %w", cerr) + } + } if q.listSessionsStmt != nil { if cerr := q.listSessionsStmt.Close(); cerr != nil { err = fmt.Errorf("error closing listSessionsStmt: %w", cerr) @@ -106,23 +146,33 @@ func (q *Queries) queryRow(ctx context.Context, stmt *sql.Stmt, query string, ar } type Queries struct { - db DBTX - tx *sql.Tx - createSessionStmt *sql.Stmt - deleteSessionStmt *sql.Stmt - getSessionByIDStmt *sql.Stmt - listSessionsStmt *sql.Stmt - updateSessionStmt *sql.Stmt + db DBTX + tx *sql.Tx + createMessageStmt *sql.Stmt + createSessionStmt *sql.Stmt + deleteMessageStmt *sql.Stmt + deleteSessionStmt *sql.Stmt + deleteSessionMessagesStmt *sql.Stmt + getMessageStmt *sql.Stmt + getSessionByIDStmt *sql.Stmt + listMessagesBySessionStmt *sql.Stmt + listSessionsStmt *sql.Stmt + updateSessionStmt *sql.Stmt } func (q *Queries) WithTx(tx *sql.Tx) *Queries { return &Queries{ - db: tx, - tx: tx, - createSessionStmt: q.createSessionStmt, - deleteSessionStmt: q.deleteSessionStmt, - getSessionByIDStmt: q.getSessionByIDStmt, - listSessionsStmt: q.listSessionsStmt, - updateSessionStmt: q.updateSessionStmt, + db: tx, + tx: tx, + createMessageStmt: q.createMessageStmt, + createSessionStmt: q.createSessionStmt, + deleteMessageStmt: q.deleteMessageStmt, + deleteSessionStmt: q.deleteSessionStmt, + deleteSessionMessagesStmt: q.deleteSessionMessagesStmt, + getMessageStmt: q.getMessageStmt, + getSessionByIDStmt: q.getSessionByIDStmt, + listMessagesBySessionStmt: q.listMessagesBySessionStmt, + listSessionsStmt: q.listSessionsStmt, + updateSessionStmt: q.updateSessionStmt, } } -- cgit v1.2.3