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    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}