diff options
Diffstat (limited to 'internal/db/sessions.sql.go')
| -rw-r--r-- | internal/db/sessions.sql.go | 165 |
1 files changed, 165 insertions, 0 deletions
diff --git a/internal/db/sessions.sql.go b/internal/db/sessions.sql.go new file mode 100644 index 000000000..3e0b6eea2 --- /dev/null +++ b/internal/db/sessions.sql.go @@ -0,0 +1,165 @@ +// Code generated by sqlc. DO NOT EDIT. +// versions: +// sqlc v1.27.0 +// source: sessions.sql + +package db + +import ( + "context" +) + +const createSession = `-- name: CreateSession :one +INSERT INTO sessions ( + id, + title, + message_count, + tokens, + cost, + updated_at, + created_at +) VALUES ( + ?, + ?, + ?, + ?, + ?, + strftime('%s', 'now'), + strftime('%s', 'now') +) RETURNING id, title, message_count, tokens, cost, updated_at, created_at +` + +type CreateSessionParams struct { + ID string `json:"id"` + Title string `json:"title"` + MessageCount int64 `json:"message_count"` + Tokens int64 `json:"tokens"` + Cost float64 `json:"cost"` +} + +// sqlfluff:dialect:sqlite +func (q *Queries) CreateSession(ctx context.Context, arg CreateSessionParams) (Session, error) { + row := q.queryRow(ctx, q.createSessionStmt, createSession, + arg.ID, + arg.Title, + arg.MessageCount, + arg.Tokens, + arg.Cost, + ) + var i Session + err := row.Scan( + &i.ID, + &i.Title, + &i.MessageCount, + &i.Tokens, + &i.Cost, + &i.UpdatedAt, + &i.CreatedAt, + ) + return i, err +} + +const deleteSession = `-- name: DeleteSession :exec +DELETE FROM sessions +WHERE id = ? +` + +func (q *Queries) DeleteSession(ctx context.Context, id string) error { + _, err := q.exec(ctx, q.deleteSessionStmt, deleteSession, id) + return err +} + +const getSessionByID = `-- name: GetSessionByID :one +SELECT id, title, message_count, tokens, cost, updated_at, created_at +FROM sessions +WHERE id = ? LIMIT 1 +` + +func (q *Queries) GetSessionByID(ctx context.Context, id string) (Session, error) { + row := q.queryRow(ctx, q.getSessionByIDStmt, getSessionByID, id) + var i Session + err := row.Scan( + &i.ID, + &i.Title, + &i.MessageCount, + &i.Tokens, + &i.Cost, + &i.UpdatedAt, + &i.CreatedAt, + ) + return i, err +} + +const listSessions = `-- name: ListSessions :many +SELECT id, title, message_count, tokens, cost, updated_at, created_at +FROM sessions +ORDER BY created_at DESC +` + +func (q *Queries) ListSessions(ctx context.Context) ([]Session, error) { + rows, err := q.query(ctx, q.listSessionsStmt, listSessions) + if err != nil { + return nil, err + } + defer rows.Close() + items := []Session{} + for rows.Next() { + var i Session + if err := rows.Scan( + &i.ID, + &i.Title, + &i.MessageCount, + &i.Tokens, + &i.Cost, + &i.UpdatedAt, + &i.CreatedAt, + ); err != nil { + return nil, err + } + items = append(items, i) + } + if err := rows.Close(); err != nil { + return nil, err + } + if err := rows.Err(); err != nil { + return nil, err + } + return items, nil +} + +const updateSession = `-- name: UpdateSession :one +UPDATE sessions +SET + title = ?, + tokens = ?, + cost = ? +WHERE id = ? +RETURNING id, title, message_count, tokens, cost, updated_at, created_at +` + +type UpdateSessionParams struct { + Title string `json:"title"` + Tokens int64 `json:"tokens"` + Cost float64 `json:"cost"` + ID string `json:"id"` +} + +func (q *Queries) UpdateSession(ctx context.Context, arg UpdateSessionParams) (Session, error) { + row := q.queryRow(ctx, q.updateSessionStmt, updateSession, + arg.Title, + arg.Tokens, + arg.Cost, + arg.ID, + ) + var i Session + err := row.Scan( + &i.ID, + &i.Title, + &i.MessageCount, + &i.Tokens, + &i.Cost, + &i.UpdatedAt, + &i.CreatedAt, + ) + return i, err +} |
