messages.sql.go

  1// Code generated by sqlc. DO NOT EDIT.
  2// versions:
  3//   sqlc v1.30.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    provider,
 21    is_summary_message,
 22    created_at,
 23    updated_at
 24) VALUES (
 25    ?, ?, ?, ?, ?, ?, ?, strftime('%s', 'now'), strftime('%s', 'now')
 26)
 27RETURNING id, session_id, role, parts, model, created_at, updated_at, finished_at, provider, is_summary_message
 28`
 29
 30type CreateMessageParams struct {
 31	ID               string         `json:"id"`
 32	SessionID        string         `json:"session_id"`
 33	Role             string         `json:"role"`
 34	Parts            string         `json:"parts"`
 35	Model            sql.NullString `json:"model"`
 36	Provider         sql.NullString `json:"provider"`
 37	IsSummaryMessage int64          `json:"is_summary_message"`
 38}
 39
 40func (q *Queries) CreateMessage(ctx context.Context, arg CreateMessageParams) (Message, error) {
 41	row := q.queryRow(ctx, q.createMessageStmt, createMessage,
 42		arg.ID,
 43		arg.SessionID,
 44		arg.Role,
 45		arg.Parts,
 46		arg.Model,
 47		arg.Provider,
 48		arg.IsSummaryMessage,
 49	)
 50	var i Message
 51	err := row.Scan(
 52		&i.ID,
 53		&i.SessionID,
 54		&i.Role,
 55		&i.Parts,
 56		&i.Model,
 57		&i.CreatedAt,
 58		&i.UpdatedAt,
 59		&i.FinishedAt,
 60		&i.Provider,
 61		&i.IsSummaryMessage,
 62	)
 63	return i, err
 64}
 65
 66const deleteMessage = `-- name: DeleteMessage :exec
 67DELETE FROM messages
 68WHERE id = ?
 69`
 70
 71func (q *Queries) DeleteMessage(ctx context.Context, id string) error {
 72	_, err := q.exec(ctx, q.deleteMessageStmt, deleteMessage, id)
 73	return err
 74}
 75
 76const deleteSessionMessages = `-- name: DeleteSessionMessages :exec
 77DELETE FROM messages
 78WHERE session_id = ?
 79`
 80
 81func (q *Queries) DeleteSessionMessages(ctx context.Context, sessionID string) error {
 82	_, err := q.exec(ctx, q.deleteSessionMessagesStmt, deleteSessionMessages, sessionID)
 83	return err
 84}
 85
 86const getMessage = `-- name: GetMessage :one
 87SELECT id, session_id, role, parts, model, created_at, updated_at, finished_at, provider, is_summary_message
 88FROM messages
 89WHERE id = ? LIMIT 1
 90`
 91
 92func (q *Queries) GetMessage(ctx context.Context, id string) (Message, error) {
 93	row := q.queryRow(ctx, q.getMessageStmt, getMessage, id)
 94	var i Message
 95	err := row.Scan(
 96		&i.ID,
 97		&i.SessionID,
 98		&i.Role,
 99		&i.Parts,
100		&i.Model,
101		&i.CreatedAt,
102		&i.UpdatedAt,
103		&i.FinishedAt,
104		&i.Provider,
105		&i.IsSummaryMessage,
106	)
107	return i, err
108}
109
110const listAllMessages = `-- name: ListAllMessages :many
111SELECT id, session_id, role, parts, model, created_at, updated_at, finished_at, provider, is_summary_message
112FROM messages
113ORDER BY created_at ASC
114`
115
116func (q *Queries) ListAllMessages(ctx context.Context) ([]Message, error) {
117	rows, err := q.query(ctx, q.listAllMessagesStmt, listAllMessages)
118	if err != nil {
119		return nil, err
120	}
121	defer rows.Close()
122	items := []Message{}
123	for rows.Next() {
124		var i Message
125		if err := rows.Scan(
126			&i.ID,
127			&i.SessionID,
128			&i.Role,
129			&i.Parts,
130			&i.Model,
131			&i.CreatedAt,
132			&i.UpdatedAt,
133			&i.FinishedAt,
134			&i.Provider,
135			&i.IsSummaryMessage,
136		); err != nil {
137			return nil, err
138		}
139		items = append(items, i)
140	}
141	if err := rows.Close(); err != nil {
142		return nil, err
143	}
144	if err := rows.Err(); err != nil {
145		return nil, err
146	}
147	return items, nil
148}
149
150const listMessagesBySession = `-- name: ListMessagesBySession :many
151SELECT id, session_id, role, parts, model, created_at, updated_at, finished_at, provider, is_summary_message
152FROM messages
153WHERE session_id = ?
154ORDER BY created_at ASC
155`
156
157func (q *Queries) ListMessagesBySession(ctx context.Context, sessionID string) ([]Message, error) {
158	rows, err := q.query(ctx, q.listMessagesBySessionStmt, listMessagesBySession, sessionID)
159	if err != nil {
160		return nil, err
161	}
162	defer rows.Close()
163	items := []Message{}
164	for rows.Next() {
165		var i Message
166		if err := rows.Scan(
167			&i.ID,
168			&i.SessionID,
169			&i.Role,
170			&i.Parts,
171			&i.Model,
172			&i.CreatedAt,
173			&i.UpdatedAt,
174			&i.FinishedAt,
175			&i.Provider,
176			&i.IsSummaryMessage,
177		); err != nil {
178			return nil, err
179		}
180		items = append(items, i)
181	}
182	if err := rows.Close(); err != nil {
183		return nil, err
184	}
185	if err := rows.Err(); err != nil {
186		return nil, err
187	}
188	return items, nil
189}
190
191const updateMessage = `-- name: UpdateMessage :exec
192UPDATE messages
193SET
194    parts = ?,
195    finished_at = ?,
196    updated_at = strftime('%s', 'now')
197WHERE id = ?
198`
199
200type UpdateMessageParams struct {
201	Parts      string        `json:"parts"`
202	FinishedAt sql.NullInt64 `json:"finished_at"`
203	ID         string        `json:"id"`
204}
205
206func (q *Queries) UpdateMessage(ctx context.Context, arg UpdateMessageParams) error {
207	_, err := q.exec(ctx, q.updateMessageStmt, updateMessage, arg.Parts, arg.FinishedAt, arg.ID)
208	return err
209}