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 message_data,
17 created_at,
18 updated_at
19) VALUES (
20 ?, ?, ?, strftime('%s', 'now'), strftime('%s', 'now')
21)
22RETURNING id, session_id, message_data, created_at, updated_at
23`
24
25type CreateMessageParams struct {
26 ID string `json:"id"`
27 SessionID string `json:"session_id"`
28 MessageData string `json:"message_data"`
29}
30
31func (q *Queries) CreateMessage(ctx context.Context, arg CreateMessageParams) (Message, error) {
32 row := q.queryRow(ctx, q.createMessageStmt, createMessage, arg.ID, arg.SessionID, arg.MessageData)
33 var i Message
34 err := row.Scan(
35 &i.ID,
36 &i.SessionID,
37 &i.MessageData,
38 &i.CreatedAt,
39 &i.UpdatedAt,
40 )
41 return i, err
42}
43
44const deleteMessage = `-- name: DeleteMessage :exec
45DELETE FROM messages
46WHERE id = ?
47`
48
49func (q *Queries) DeleteMessage(ctx context.Context, id string) error {
50 _, err := q.exec(ctx, q.deleteMessageStmt, deleteMessage, id)
51 return err
52}
53
54const deleteSessionMessages = `-- name: DeleteSessionMessages :exec
55DELETE FROM messages
56WHERE session_id = ?
57`
58
59func (q *Queries) DeleteSessionMessages(ctx context.Context, sessionID string) error {
60 _, err := q.exec(ctx, q.deleteSessionMessagesStmt, deleteSessionMessages, sessionID)
61 return err
62}
63
64const getMessage = `-- name: GetMessage :one
65SELECT id, session_id, message_data, created_at, updated_at
66FROM messages
67WHERE id = ? LIMIT 1
68`
69
70func (q *Queries) GetMessage(ctx context.Context, id string) (Message, error) {
71 row := q.queryRow(ctx, q.getMessageStmt, getMessage, id)
72 var i Message
73 err := row.Scan(
74 &i.ID,
75 &i.SessionID,
76 &i.MessageData,
77 &i.CreatedAt,
78 &i.UpdatedAt,
79 )
80 return i, err
81}
82
83const listMessagesBySession = `-- name: ListMessagesBySession :many
84SELECT id, session_id, message_data, created_at, updated_at
85FROM messages
86WHERE session_id = ?
87ORDER BY created_at ASC
88`
89
90func (q *Queries) ListMessagesBySession(ctx context.Context, sessionID string) ([]Message, error) {
91 rows, err := q.query(ctx, q.listMessagesBySessionStmt, listMessagesBySession, sessionID)
92 if err != nil {
93 return nil, err
94 }
95 defer rows.Close()
96 items := []Message{}
97 for rows.Next() {
98 var i Message
99 if err := rows.Scan(
100 &i.ID,
101 &i.SessionID,
102 &i.MessageData,
103 &i.CreatedAt,
104 &i.UpdatedAt,
105 ); err != nil {
106 return nil, err
107 }
108 items = append(items, i)
109 }
110 if err := rows.Close(); err != nil {
111 return nil, err
112 }
113 if err := rows.Err(); err != nil {
114 return nil, err
115 }
116 return items, nil
117}