messages.sql.go 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. // Code generated by sqlc. DO NOT EDIT.
  2. // versions:
  3. // sqlc v1.29.0
  4. // source: messages.sql
  5. package db
  6. import (
  7. "context"
  8. "database/sql"
  9. )
  10. const createMessage = `-- name: CreateMessage :one
  11. INSERT INTO messages (
  12. id,
  13. session_id,
  14. role,
  15. parts,
  16. model
  17. ) VALUES (
  18. ?, ?, ?, ?, ?
  19. )
  20. RETURNING id, session_id, role, parts, model, created_at, updated_at, finished_at
  21. `
  22. type CreateMessageParams struct {
  23. ID string `json:"id"`
  24. SessionID string `json:"session_id"`
  25. Role string `json:"role"`
  26. Parts string `json:"parts"`
  27. Model sql.NullString `json:"model"`
  28. }
  29. func (q *Queries) CreateMessage(ctx context.Context, arg CreateMessageParams) (Message, error) {
  30. row := q.queryRow(ctx, q.createMessageStmt, createMessage,
  31. arg.ID,
  32. arg.SessionID,
  33. arg.Role,
  34. arg.Parts,
  35. arg.Model,
  36. )
  37. var i Message
  38. err := row.Scan(
  39. &i.ID,
  40. &i.SessionID,
  41. &i.Role,
  42. &i.Parts,
  43. &i.Model,
  44. &i.CreatedAt,
  45. &i.UpdatedAt,
  46. &i.FinishedAt,
  47. )
  48. return i, err
  49. }
  50. const deleteMessage = `-- name: DeleteMessage :exec
  51. DELETE FROM messages
  52. WHERE id = ?
  53. `
  54. func (q *Queries) DeleteMessage(ctx context.Context, id string) error {
  55. _, err := q.exec(ctx, q.deleteMessageStmt, deleteMessage, id)
  56. return err
  57. }
  58. const deleteSessionMessages = `-- name: DeleteSessionMessages :exec
  59. DELETE FROM messages
  60. WHERE session_id = ?
  61. `
  62. func (q *Queries) DeleteSessionMessages(ctx context.Context, sessionID string) error {
  63. _, err := q.exec(ctx, q.deleteSessionMessagesStmt, deleteSessionMessages, sessionID)
  64. return err
  65. }
  66. const getMessage = `-- name: GetMessage :one
  67. SELECT id, session_id, role, parts, model, created_at, updated_at, finished_at
  68. FROM messages
  69. WHERE id = ? LIMIT 1
  70. `
  71. func (q *Queries) GetMessage(ctx context.Context, id string) (Message, error) {
  72. row := q.queryRow(ctx, q.getMessageStmt, getMessage, id)
  73. var i Message
  74. err := row.Scan(
  75. &i.ID,
  76. &i.SessionID,
  77. &i.Role,
  78. &i.Parts,
  79. &i.Model,
  80. &i.CreatedAt,
  81. &i.UpdatedAt,
  82. &i.FinishedAt,
  83. )
  84. return i, err
  85. }
  86. const listMessagesBySession = `-- name: ListMessagesBySession :many
  87. SELECT id, session_id, role, parts, model, created_at, updated_at, finished_at
  88. FROM messages
  89. WHERE session_id = ?
  90. ORDER BY created_at ASC
  91. `
  92. func (q *Queries) ListMessagesBySession(ctx context.Context, sessionID string) ([]Message, error) {
  93. rows, err := q.query(ctx, q.listMessagesBySessionStmt, listMessagesBySession, sessionID)
  94. if err != nil {
  95. return nil, err
  96. }
  97. defer rows.Close()
  98. items := []Message{}
  99. for rows.Next() {
  100. var i Message
  101. if err := rows.Scan(
  102. &i.ID,
  103. &i.SessionID,
  104. &i.Role,
  105. &i.Parts,
  106. &i.Model,
  107. &i.CreatedAt,
  108. &i.UpdatedAt,
  109. &i.FinishedAt,
  110. ); err != nil {
  111. return nil, err
  112. }
  113. items = append(items, i)
  114. }
  115. if err := rows.Close(); err != nil {
  116. return nil, err
  117. }
  118. if err := rows.Err(); err != nil {
  119. return nil, err
  120. }
  121. return items, nil
  122. }
  123. const listMessagesBySessionAfter = `-- name: ListMessagesBySessionAfter :many
  124. SELECT id, session_id, role, parts, model, created_at, updated_at, finished_at
  125. FROM messages
  126. WHERE session_id = ? AND created_at > ?
  127. ORDER BY created_at ASC
  128. `
  129. type ListMessagesBySessionAfterParams struct {
  130. SessionID string `json:"session_id"`
  131. CreatedAt string `json:"created_at"`
  132. }
  133. func (q *Queries) ListMessagesBySessionAfter(ctx context.Context, arg ListMessagesBySessionAfterParams) ([]Message, error) {
  134. rows, err := q.query(ctx, q.listMessagesBySessionAfterStmt, listMessagesBySessionAfter, arg.SessionID, arg.CreatedAt)
  135. if err != nil {
  136. return nil, err
  137. }
  138. defer rows.Close()
  139. items := []Message{}
  140. for rows.Next() {
  141. var i Message
  142. if err := rows.Scan(
  143. &i.ID,
  144. &i.SessionID,
  145. &i.Role,
  146. &i.Parts,
  147. &i.Model,
  148. &i.CreatedAt,
  149. &i.UpdatedAt,
  150. &i.FinishedAt,
  151. ); err != nil {
  152. return nil, err
  153. }
  154. items = append(items, i)
  155. }
  156. if err := rows.Close(); err != nil {
  157. return nil, err
  158. }
  159. if err := rows.Err(); err != nil {
  160. return nil, err
  161. }
  162. return items, nil
  163. }
  164. const updateMessage = `-- name: UpdateMessage :exec
  165. UPDATE messages
  166. SET
  167. parts = ?,
  168. finished_at = ?,
  169. updated_at = strftime('%Y-%m-%dT%H:%M:%f000Z', 'now')
  170. WHERE id = ?
  171. `
  172. type UpdateMessageParams struct {
  173. Parts string `json:"parts"`
  174. FinishedAt sql.NullString `json:"finished_at"`
  175. ID string `json:"id"`
  176. }
  177. func (q *Queries) UpdateMessage(ctx context.Context, arg UpdateMessageParams) error {
  178. _, err := q.exec(ctx, q.updateMessageStmt, updateMessage, arg.Parts, arg.FinishedAt, arg.ID)
  179. return err
  180. }