messages.sql.go

  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}