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