// Code generated by sqlc. DO NOT EDIT.
// versions:
//   sqlc v1.30.0
// source: llm.sql

package persist

import (
	"context"
)

const deleteChatMessages = `-- name: DeleteChatMessages :exec
DELETE FROM
    llm_chat
WHERE
    telegram_id = $1
`

func (q *Queries) DeleteChatMessages(ctx context.Context, telegramID int64) error {
	_, err := q.db.Exec(ctx, deleteChatMessages, telegramID)
	return err
}

const findChatMessages = `-- name: FindChatMessages :one
SELECT
    messages
FROM
    llm_chat
WHERE
    telegram_id = $1
`

func (q *Queries) FindChatMessages(ctx context.Context, telegramID int64) ([]byte, error) {
	row := q.db.QueryRow(ctx, findChatMessages, telegramID)
	var messages []byte
	err := row.Scan(&messages)
	return messages, err
}

const saveChatMessages = `-- name: SaveChatMessages :exec
INSERT INTO
    llm_chat(telegram_id, messages)
VALUES
    ($1, $2) ON conflict (telegram_id) DO
UPDATE
SET
    messages = excluded.messages
`

type SaveChatMessagesParams struct {
	TelegramID int64
	Messages   []byte
}

func (q *Queries) SaveChatMessages(ctx context.Context, arg SaveChatMessagesParams) error {
	_, err := q.db.Exec(ctx, saveChatMessages, arg.TelegramID, arg.Messages)
	return err
}

Graph