messages.sql.go

  1// Code generated by sqlc. DO NOT EDIT.
  2// versions:
  3//   sqlc v1.30.0
  4// source: messages.sql
  5
  6package generated
  7
  8import (
  9	"context"
 10)
 11
 12const countMessagesByType = `-- name: CountMessagesByType :one
 13SELECT COUNT(*) FROM messages
 14WHERE conversation_id = ? AND type = ?
 15`
 16
 17type CountMessagesByTypeParams struct {
 18	ConversationID string `json:"conversation_id"`
 19	Type           string `json:"type"`
 20}
 21
 22func (q *Queries) CountMessagesByType(ctx context.Context, arg CountMessagesByTypeParams) (int64, error) {
 23	row := q.db.QueryRowContext(ctx, countMessagesByType, arg.ConversationID, arg.Type)
 24	var count int64
 25	err := row.Scan(&count)
 26	return count, err
 27}
 28
 29const countMessagesInConversation = `-- name: CountMessagesInConversation :one
 30SELECT COUNT(*) FROM messages
 31WHERE conversation_id = ?
 32`
 33
 34func (q *Queries) CountMessagesInConversation(ctx context.Context, conversationID string) (int64, error) {
 35	row := q.db.QueryRowContext(ctx, countMessagesInConversation, conversationID)
 36	var count int64
 37	err := row.Scan(&count)
 38	return count, err
 39}
 40
 41const createMessage = `-- name: CreateMessage :one
 42INSERT INTO messages (message_id, conversation_id, sequence_id, type, llm_data, user_data, usage_data, display_data, excluded_from_context)
 43VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
 44RETURNING message_id, conversation_id, sequence_id, type, llm_data, user_data, usage_data, created_at, display_data, excluded_from_context
 45`
 46
 47type CreateMessageParams struct {
 48	MessageID           string  `json:"message_id"`
 49	ConversationID      string  `json:"conversation_id"`
 50	SequenceID          int64   `json:"sequence_id"`
 51	Type                string  `json:"type"`
 52	LlmData             *string `json:"llm_data"`
 53	UserData            *string `json:"user_data"`
 54	UsageData           *string `json:"usage_data"`
 55	DisplayData         *string `json:"display_data"`
 56	ExcludedFromContext bool    `json:"excluded_from_context"`
 57}
 58
 59func (q *Queries) CreateMessage(ctx context.Context, arg CreateMessageParams) (Message, error) {
 60	row := q.db.QueryRowContext(ctx, createMessage,
 61		arg.MessageID,
 62		arg.ConversationID,
 63		arg.SequenceID,
 64		arg.Type,
 65		arg.LlmData,
 66		arg.UserData,
 67		arg.UsageData,
 68		arg.DisplayData,
 69		arg.ExcludedFromContext,
 70	)
 71	var i Message
 72	err := row.Scan(
 73		&i.MessageID,
 74		&i.ConversationID,
 75		&i.SequenceID,
 76		&i.Type,
 77		&i.LlmData,
 78		&i.UserData,
 79		&i.UsageData,
 80		&i.CreatedAt,
 81		&i.DisplayData,
 82		&i.ExcludedFromContext,
 83	)
 84	return i, err
 85}
 86
 87const deleteConversationMessages = `-- name: DeleteConversationMessages :exec
 88DELETE FROM messages
 89WHERE conversation_id = ?
 90`
 91
 92func (q *Queries) DeleteConversationMessages(ctx context.Context, conversationID string) error {
 93	_, err := q.db.ExecContext(ctx, deleteConversationMessages, conversationID)
 94	return err
 95}
 96
 97const deleteMessage = `-- name: DeleteMessage :exec
 98DELETE FROM messages
 99WHERE message_id = ?
100`
101
102func (q *Queries) DeleteMessage(ctx context.Context, messageID string) error {
103	_, err := q.db.ExecContext(ctx, deleteMessage, messageID)
104	return err
105}
106
107const getLatestMessage = `-- name: GetLatestMessage :one
108SELECT message_id, conversation_id, sequence_id, type, llm_data, user_data, usage_data, created_at, display_data, excluded_from_context FROM messages
109WHERE conversation_id = ?
110ORDER BY sequence_id DESC
111LIMIT 1
112`
113
114func (q *Queries) GetLatestMessage(ctx context.Context, conversationID string) (Message, error) {
115	row := q.db.QueryRowContext(ctx, getLatestMessage, conversationID)
116	var i Message
117	err := row.Scan(
118		&i.MessageID,
119		&i.ConversationID,
120		&i.SequenceID,
121		&i.Type,
122		&i.LlmData,
123		&i.UserData,
124		&i.UsageData,
125		&i.CreatedAt,
126		&i.DisplayData,
127		&i.ExcludedFromContext,
128	)
129	return i, err
130}
131
132const getMessage = `-- name: GetMessage :one
133SELECT message_id, conversation_id, sequence_id, type, llm_data, user_data, usage_data, created_at, display_data, excluded_from_context FROM messages
134WHERE message_id = ?
135`
136
137func (q *Queries) GetMessage(ctx context.Context, messageID string) (Message, error) {
138	row := q.db.QueryRowContext(ctx, getMessage, messageID)
139	var i Message
140	err := row.Scan(
141		&i.MessageID,
142		&i.ConversationID,
143		&i.SequenceID,
144		&i.Type,
145		&i.LlmData,
146		&i.UserData,
147		&i.UsageData,
148		&i.CreatedAt,
149		&i.DisplayData,
150		&i.ExcludedFromContext,
151	)
152	return i, err
153}
154
155const getNextSequenceID = `-- name: GetNextSequenceID :one
156SELECT COALESCE(MAX(sequence_id), 0) + 1 
157FROM messages 
158WHERE conversation_id = ?
159`
160
161func (q *Queries) GetNextSequenceID(ctx context.Context, conversationID string) (int64, error) {
162	row := q.db.QueryRowContext(ctx, getNextSequenceID, conversationID)
163	var column_1 int64
164	err := row.Scan(&column_1)
165	return column_1, err
166}
167
168const listMessages = `-- name: ListMessages :many
169SELECT message_id, conversation_id, sequence_id, type, llm_data, user_data, usage_data, created_at, display_data, excluded_from_context FROM messages
170WHERE conversation_id = ?
171ORDER BY sequence_id ASC
172`
173
174func (q *Queries) ListMessages(ctx context.Context, conversationID string) ([]Message, error) {
175	rows, err := q.db.QueryContext(ctx, listMessages, conversationID)
176	if err != nil {
177		return nil, err
178	}
179	defer rows.Close()
180	items := []Message{}
181	for rows.Next() {
182		var i Message
183		if err := rows.Scan(
184			&i.MessageID,
185			&i.ConversationID,
186			&i.SequenceID,
187			&i.Type,
188			&i.LlmData,
189			&i.UserData,
190			&i.UsageData,
191			&i.CreatedAt,
192			&i.DisplayData,
193			&i.ExcludedFromContext,
194		); err != nil {
195			return nil, err
196		}
197		items = append(items, i)
198	}
199	if err := rows.Close(); err != nil {
200		return nil, err
201	}
202	if err := rows.Err(); err != nil {
203		return nil, err
204	}
205	return items, nil
206}
207
208const listMessagesByType = `-- name: ListMessagesByType :many
209SELECT message_id, conversation_id, sequence_id, type, llm_data, user_data, usage_data, created_at, display_data, excluded_from_context FROM messages
210WHERE conversation_id = ? AND type = ?
211ORDER BY sequence_id ASC
212`
213
214type ListMessagesByTypeParams struct {
215	ConversationID string `json:"conversation_id"`
216	Type           string `json:"type"`
217}
218
219func (q *Queries) ListMessagesByType(ctx context.Context, arg ListMessagesByTypeParams) ([]Message, error) {
220	rows, err := q.db.QueryContext(ctx, listMessagesByType, arg.ConversationID, arg.Type)
221	if err != nil {
222		return nil, err
223	}
224	defer rows.Close()
225	items := []Message{}
226	for rows.Next() {
227		var i Message
228		if err := rows.Scan(
229			&i.MessageID,
230			&i.ConversationID,
231			&i.SequenceID,
232			&i.Type,
233			&i.LlmData,
234			&i.UserData,
235			&i.UsageData,
236			&i.CreatedAt,
237			&i.DisplayData,
238			&i.ExcludedFromContext,
239		); err != nil {
240			return nil, err
241		}
242		items = append(items, i)
243	}
244	if err := rows.Close(); err != nil {
245		return nil, err
246	}
247	if err := rows.Err(); err != nil {
248		return nil, err
249	}
250	return items, nil
251}
252
253const listMessagesForContext = `-- name: ListMessagesForContext :many
254SELECT message_id, conversation_id, sequence_id, type, llm_data, user_data, usage_data, created_at, display_data, excluded_from_context FROM messages
255WHERE conversation_id = ? AND excluded_from_context = FALSE
256ORDER BY sequence_id ASC
257`
258
259func (q *Queries) ListMessagesForContext(ctx context.Context, conversationID string) ([]Message, error) {
260	rows, err := q.db.QueryContext(ctx, listMessagesForContext, conversationID)
261	if err != nil {
262		return nil, err
263	}
264	defer rows.Close()
265	items := []Message{}
266	for rows.Next() {
267		var i Message
268		if err := rows.Scan(
269			&i.MessageID,
270			&i.ConversationID,
271			&i.SequenceID,
272			&i.Type,
273			&i.LlmData,
274			&i.UserData,
275			&i.UsageData,
276			&i.CreatedAt,
277			&i.DisplayData,
278			&i.ExcludedFromContext,
279		); err != nil {
280			return nil, err
281		}
282		items = append(items, i)
283	}
284	if err := rows.Close(); err != nil {
285		return nil, err
286	}
287	if err := rows.Err(); err != nil {
288		return nil, err
289	}
290	return items, nil
291}
292
293const listMessagesPaginated = `-- name: ListMessagesPaginated :many
294SELECT message_id, conversation_id, sequence_id, type, llm_data, user_data, usage_data, created_at, display_data, excluded_from_context FROM messages
295WHERE conversation_id = ?
296ORDER BY sequence_id ASC
297LIMIT ? OFFSET ?
298`
299
300type ListMessagesPaginatedParams struct {
301	ConversationID string `json:"conversation_id"`
302	Limit          int64  `json:"limit"`
303	Offset         int64  `json:"offset"`
304}
305
306func (q *Queries) ListMessagesPaginated(ctx context.Context, arg ListMessagesPaginatedParams) ([]Message, error) {
307	rows, err := q.db.QueryContext(ctx, listMessagesPaginated, arg.ConversationID, arg.Limit, arg.Offset)
308	if err != nil {
309		return nil, err
310	}
311	defer rows.Close()
312	items := []Message{}
313	for rows.Next() {
314		var i Message
315		if err := rows.Scan(
316			&i.MessageID,
317			&i.ConversationID,
318			&i.SequenceID,
319			&i.Type,
320			&i.LlmData,
321			&i.UserData,
322			&i.UsageData,
323			&i.CreatedAt,
324			&i.DisplayData,
325			&i.ExcludedFromContext,
326		); err != nil {
327			return nil, err
328		}
329		items = append(items, i)
330	}
331	if err := rows.Close(); err != nil {
332		return nil, err
333	}
334	if err := rows.Err(); err != nil {
335		return nil, err
336	}
337	return items, nil
338}
339
340const listMessagesSince = `-- name: ListMessagesSince :many
341SELECT message_id, conversation_id, sequence_id, type, llm_data, user_data, usage_data, created_at, display_data, excluded_from_context FROM messages
342WHERE conversation_id = ? AND sequence_id > ?
343ORDER BY sequence_id ASC
344`
345
346type ListMessagesSinceParams struct {
347	ConversationID string `json:"conversation_id"`
348	SequenceID     int64  `json:"sequence_id"`
349}
350
351func (q *Queries) ListMessagesSince(ctx context.Context, arg ListMessagesSinceParams) ([]Message, error) {
352	rows, err := q.db.QueryContext(ctx, listMessagesSince, arg.ConversationID, arg.SequenceID)
353	if err != nil {
354		return nil, err
355	}
356	defer rows.Close()
357	items := []Message{}
358	for rows.Next() {
359		var i Message
360		if err := rows.Scan(
361			&i.MessageID,
362			&i.ConversationID,
363			&i.SequenceID,
364			&i.Type,
365			&i.LlmData,
366			&i.UserData,
367			&i.UsageData,
368			&i.CreatedAt,
369			&i.DisplayData,
370			&i.ExcludedFromContext,
371		); err != nil {
372			return nil, err
373		}
374		items = append(items, i)
375	}
376	if err := rows.Close(); err != nil {
377		return nil, err
378	}
379	if err := rows.Err(); err != nil {
380		return nil, err
381	}
382	return items, nil
383}