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