messages.sql.go

  1// Code generated by sqlc. DO NOT EDIT.
  2// versions:
  3//   sqlc v1.29.0
  4// source: messages.sql
  5
  6package db
  7
  8import (
  9	"context"
 10	"database/sql"
 11)
 12
 13const createMessage = `-- name: CreateMessage :one
 14INSERT INTO messages (
 15    id,
 16    session_id,
 17    role,
 18    parts,
 19    model,
 20    created_at,
 21    updated_at
 22) VALUES (
 23    ?, ?, ?, ?, ?, strftime('%s', 'now'), strftime('%s', 'now')
 24)
 25RETURNING id, session_id, role, parts, model, created_at, updated_at, finished_at
 26`
 27
 28type CreateMessageParams struct {
 29	ID        string         `json:"id"`
 30	SessionID string         `json:"session_id"`
 31	Role      string         `json:"role"`
 32	Parts     string         `json:"parts"`
 33	Model     sql.NullString `json:"model"`
 34}
 35
 36func (q *Queries) CreateMessage(ctx context.Context, arg CreateMessageParams) (Message, error) {
 37	row := q.queryRow(ctx, q.createMessageStmt, createMessage,
 38		arg.ID,
 39		arg.SessionID,
 40		arg.Role,
 41		arg.Parts,
 42		arg.Model,
 43	)
 44	var i Message
 45	err := row.Scan(
 46		&i.ID,
 47		&i.SessionID,
 48		&i.Role,
 49		&i.Parts,
 50		&i.Model,
 51		&i.CreatedAt,
 52		&i.UpdatedAt,
 53		&i.FinishedAt,
 54	)
 55	return i, err
 56}
 57
 58const deleteMessage = `-- name: DeleteMessage :exec
 59DELETE FROM messages
 60WHERE id = ?
 61`
 62
 63func (q *Queries) DeleteMessage(ctx context.Context, id string) error {
 64	_, err := q.exec(ctx, q.deleteMessageStmt, deleteMessage, id)
 65	return err
 66}
 67
 68const deleteSessionMessages = `-- name: DeleteSessionMessages :exec
 69DELETE FROM messages
 70WHERE session_id = ?
 71`
 72
 73func (q *Queries) DeleteSessionMessages(ctx context.Context, sessionID string) error {
 74	_, err := q.exec(ctx, q.deleteSessionMessagesStmt, deleteSessionMessages, sessionID)
 75	return err
 76}
 77
 78const getMessage = `-- name: GetMessage :one
 79SELECT id, session_id, role, parts, model, created_at, updated_at, finished_at
 80FROM messages
 81WHERE id = ? LIMIT 1
 82`
 83
 84func (q *Queries) GetMessage(ctx context.Context, id string) (Message, error) {
 85	row := q.queryRow(ctx, q.getMessageStmt, getMessage, id)
 86	var i Message
 87	err := row.Scan(
 88		&i.ID,
 89		&i.SessionID,
 90		&i.Role,
 91		&i.Parts,
 92		&i.Model,
 93		&i.CreatedAt,
 94		&i.UpdatedAt,
 95		&i.FinishedAt,
 96	)
 97	return i, err
 98}
 99
100const listMessagesBySession = `-- name: ListMessagesBySession :many
101SELECT id, session_id, role, parts, model, created_at, updated_at, finished_at
102FROM messages
103WHERE session_id = ?
104ORDER BY created_at ASC
105`
106
107func (q *Queries) ListMessagesBySession(ctx context.Context, sessionID string) ([]Message, error) {
108	rows, err := q.query(ctx, q.listMessagesBySessionStmt, listMessagesBySession, sessionID)
109	if err != nil {
110		return nil, err
111	}
112	defer rows.Close()
113	items := []Message{}
114	for rows.Next() {
115		var i Message
116		if err := rows.Scan(
117			&i.ID,
118			&i.SessionID,
119			&i.Role,
120			&i.Parts,
121			&i.Model,
122			&i.CreatedAt,
123			&i.UpdatedAt,
124			&i.FinishedAt,
125		); err != nil {
126			return nil, err
127		}
128		items = append(items, i)
129	}
130	if err := rows.Close(); err != nil {
131		return nil, err
132	}
133	if err := rows.Err(); err != nil {
134		return nil, err
135	}
136	return items, nil
137}
138
139const updateMessage = `-- name: UpdateMessage :exec
140UPDATE messages
141SET
142    parts = ?,
143    finished_at = ?,
144    updated_at = strftime('%s', 'now')
145WHERE id = ?
146`
147
148type UpdateMessageParams struct {
149	Parts      string        `json:"parts"`
150	FinishedAt sql.NullInt64 `json:"finished_at"`
151	ID         string        `json:"id"`
152}
153
154func (q *Queries) UpdateMessage(ctx context.Context, arg UpdateMessageParams) error {
155	_, err := q.exec(ctx, q.updateMessageStmt, updateMessage, arg.Parts, arg.FinishedAt, arg.ID)
156	return err
157}