messages.sql.go 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  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. provider,
  18. created_at,
  19. updated_at
  20. ) VALUES (
  21. ?, ?, ?, ?, ?, ?, strftime('%s', 'now'), strftime('%s', 'now')
  22. )
  23. RETURNING id, session_id, role, parts, model, created_at, updated_at, finished_at, provider
  24. `
  25. type CreateMessageParams struct {
  26. ID string `json:"id"`
  27. SessionID string `json:"session_id"`
  28. Role string `json:"role"`
  29. Parts string `json:"parts"`
  30. Model sql.NullString `json:"model"`
  31. Provider sql.NullString `json:"provider"`
  32. }
  33. func (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. arg.Model,
  40. arg.Provider,
  41. )
  42. var i Message
  43. err := row.Scan(
  44. &i.ID,
  45. &i.SessionID,
  46. &i.Role,
  47. &i.Parts,
  48. &i.Model,
  49. &i.CreatedAt,
  50. &i.UpdatedAt,
  51. &i.FinishedAt,
  52. &i.Provider,
  53. )
  54. return i, err
  55. }
  56. const deleteMessage = `-- name: DeleteMessage :exec
  57. DELETE FROM messages
  58. WHERE id = ?
  59. `
  60. func (q *Queries) DeleteMessage(ctx context.Context, id string) error {
  61. _, err := q.exec(ctx, q.deleteMessageStmt, deleteMessage, id)
  62. return err
  63. }
  64. const deleteSessionMessages = `-- name: DeleteSessionMessages :exec
  65. DELETE FROM messages
  66. WHERE session_id = ?
  67. `
  68. func (q *Queries) DeleteSessionMessages(ctx context.Context, sessionID string) error {
  69. _, err := q.exec(ctx, q.deleteSessionMessagesStmt, deleteSessionMessages, sessionID)
  70. return err
  71. }
  72. const getMessage = `-- name: GetMessage :one
  73. SELECT id, session_id, role, parts, model, created_at, updated_at, finished_at, provider
  74. FROM messages
  75. WHERE id = ? LIMIT 1
  76. `
  77. func (q *Queries) GetMessage(ctx context.Context, id string) (Message, error) {
  78. row := q.queryRow(ctx, q.getMessageStmt, getMessage, id)
  79. var i Message
  80. err := row.Scan(
  81. &i.ID,
  82. &i.SessionID,
  83. &i.Role,
  84. &i.Parts,
  85. &i.Model,
  86. &i.CreatedAt,
  87. &i.UpdatedAt,
  88. &i.FinishedAt,
  89. &i.Provider,
  90. )
  91. return i, err
  92. }
  93. const listMessagesBySession = `-- name: ListMessagesBySession :many
  94. SELECT id, session_id, role, parts, model, created_at, updated_at, finished_at, provider
  95. FROM messages
  96. WHERE session_id = ?
  97. ORDER BY created_at ASC
  98. `
  99. func (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.Model,
  114. &i.CreatedAt,
  115. &i.UpdatedAt,
  116. &i.FinishedAt,
  117. &i.Provider,
  118. ); err != nil {
  119. return nil, err
  120. }
  121. items = append(items, i)
  122. }
  123. if err := rows.Close(); err != nil {
  124. return nil, err
  125. }
  126. if err := rows.Err(); err != nil {
  127. return nil, err
  128. }
  129. return items, nil
  130. }
  131. const updateMessage = `-- name: UpdateMessage :exec
  132. UPDATE messages
  133. SET
  134. parts = ?,
  135. finished_at = ?,
  136. updated_at = strftime('%s', 'now')
  137. WHERE id = ?
  138. `
  139. type UpdateMessageParams struct {
  140. Parts string `json:"parts"`
  141. FinishedAt sql.NullInt64 `json:"finished_at"`
  142. ID string `json:"id"`
  143. }
  144. func (q *Queries) UpdateMessage(ctx context.Context, arg UpdateMessageParams) error {
  145. _, err := q.exec(ctx, q.updateMessageStmt, updateMessage, arg.Parts, arg.FinishedAt, arg.ID)
  146. return err
  147. }