sessions.sql.go

  1// Code generated by sqlc. DO NOT EDIT.
  2// versions:
  3//   sqlc v1.27.0
  4// source: sessions.sql
  5
  6package db
  7
  8import (
  9	"context"
 10)
 11
 12const createSession = `-- name: CreateSession :one
 13INSERT INTO sessions (
 14    id,
 15    title,
 16    message_count,
 17    tokens,
 18    cost,
 19    updated_at,
 20    created_at
 21) VALUES (
 22    ?,
 23    ?,
 24    ?,
 25    ?,
 26    ?,
 27    strftime('%s', 'now'),
 28    strftime('%s', 'now')
 29) RETURNING id, title, message_count, tokens, cost, updated_at, created_at
 30`
 31
 32type CreateSessionParams struct {
 33	ID           string  `json:"id"`
 34	Title        string  `json:"title"`
 35	MessageCount int64   `json:"message_count"`
 36	Tokens       int64   `json:"tokens"`
 37	Cost         float64 `json:"cost"`
 38}
 39
 40// sqlfluff:dialect:sqlite
 41func (q *Queries) CreateSession(ctx context.Context, arg CreateSessionParams) (Session, error) {
 42	row := q.queryRow(ctx, q.createSessionStmt, createSession,
 43		arg.ID,
 44		arg.Title,
 45		arg.MessageCount,
 46		arg.Tokens,
 47		arg.Cost,
 48	)
 49	var i Session
 50	err := row.Scan(
 51		&i.ID,
 52		&i.Title,
 53		&i.MessageCount,
 54		&i.Tokens,
 55		&i.Cost,
 56		&i.UpdatedAt,
 57		&i.CreatedAt,
 58	)
 59	return i, err
 60}
 61
 62const deleteSession = `-- name: DeleteSession :exec
 63DELETE FROM sessions
 64WHERE id = ?
 65`
 66
 67func (q *Queries) DeleteSession(ctx context.Context, id string) error {
 68	_, err := q.exec(ctx, q.deleteSessionStmt, deleteSession, id)
 69	return err
 70}
 71
 72const getSessionByID = `-- name: GetSessionByID :one
 73SELECT id, title, message_count, tokens, cost, updated_at, created_at
 74FROM sessions
 75WHERE id = ? LIMIT 1
 76`
 77
 78func (q *Queries) GetSessionByID(ctx context.Context, id string) (Session, error) {
 79	row := q.queryRow(ctx, q.getSessionByIDStmt, getSessionByID, id)
 80	var i Session
 81	err := row.Scan(
 82		&i.ID,
 83		&i.Title,
 84		&i.MessageCount,
 85		&i.Tokens,
 86		&i.Cost,
 87		&i.UpdatedAt,
 88		&i.CreatedAt,
 89	)
 90	return i, err
 91}
 92
 93const listSessions = `-- name: ListSessions :many
 94SELECT id, title, message_count, tokens, cost, updated_at, created_at
 95FROM sessions
 96ORDER BY created_at DESC
 97`
 98
 99func (q *Queries) ListSessions(ctx context.Context) ([]Session, error) {
100	rows, err := q.query(ctx, q.listSessionsStmt, listSessions)
101	if err != nil {
102		return nil, err
103	}
104	defer rows.Close()
105	items := []Session{}
106	for rows.Next() {
107		var i Session
108		if err := rows.Scan(
109			&i.ID,
110			&i.Title,
111			&i.MessageCount,
112			&i.Tokens,
113			&i.Cost,
114			&i.UpdatedAt,
115			&i.CreatedAt,
116		); err != nil {
117			return nil, err
118		}
119		items = append(items, i)
120	}
121	if err := rows.Close(); err != nil {
122		return nil, err
123	}
124	if err := rows.Err(); err != nil {
125		return nil, err
126	}
127	return items, nil
128}
129
130const updateSession = `-- name: UpdateSession :one
131UPDATE sessions
132SET
133    title = ?,
134    tokens = ?,
135    cost = ?
136WHERE id = ?
137RETURNING id, title, message_count, tokens, cost, updated_at, created_at
138`
139
140type UpdateSessionParams struct {
141	Title  string  `json:"title"`
142	Tokens int64   `json:"tokens"`
143	Cost   float64 `json:"cost"`
144	ID     string  `json:"id"`
145}
146
147func (q *Queries) UpdateSession(ctx context.Context, arg UpdateSessionParams) (Session, error) {
148	row := q.queryRow(ctx, q.updateSessionStmt, updateSession,
149		arg.Title,
150		arg.Tokens,
151		arg.Cost,
152		arg.ID,
153	)
154	var i Session
155	err := row.Scan(
156		&i.ID,
157		&i.Title,
158		&i.MessageCount,
159		&i.Tokens,
160		&i.Cost,
161		&i.UpdatedAt,
162		&i.CreatedAt,
163	)
164	return i, err
165}