messages.sql.go 3.4 KB

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