sessions.sql.go 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. // Code generated by sqlc. DO NOT EDIT.
  2. // versions:
  3. // sqlc v1.29.0
  4. // source: sessions.sql
  5. package db
  6. import (
  7. "context"
  8. "database/sql"
  9. )
  10. const createSession = `-- name: CreateSession :one
  11. INSERT INTO sessions (
  12. id,
  13. parent_session_id,
  14. title,
  15. message_count,
  16. prompt_tokens,
  17. completion_tokens,
  18. cost,
  19. summary_message_id,
  20. updated_at,
  21. created_at
  22. ) VALUES (
  23. ?,
  24. ?,
  25. ?,
  26. ?,
  27. ?,
  28. ?,
  29. ?,
  30. null,
  31. strftime('%s', 'now'),
  32. strftime('%s', 'now')
  33. ) RETURNING id, parent_session_id, title, message_count, prompt_tokens, completion_tokens, cost, updated_at, created_at, summary_message_id
  34. `
  35. type CreateSessionParams struct {
  36. ID string `json:"id"`
  37. ParentSessionID sql.NullString `json:"parent_session_id"`
  38. Title string `json:"title"`
  39. MessageCount int64 `json:"message_count"`
  40. PromptTokens int64 `json:"prompt_tokens"`
  41. CompletionTokens int64 `json:"completion_tokens"`
  42. Cost float64 `json:"cost"`
  43. }
  44. func (q *Queries) CreateSession(ctx context.Context, arg CreateSessionParams) (Session, error) {
  45. row := q.queryRow(ctx, q.createSessionStmt, createSession,
  46. arg.ID,
  47. arg.ParentSessionID,
  48. arg.Title,
  49. arg.MessageCount,
  50. arg.PromptTokens,
  51. arg.CompletionTokens,
  52. arg.Cost,
  53. )
  54. var i Session
  55. err := row.Scan(
  56. &i.ID,
  57. &i.ParentSessionID,
  58. &i.Title,
  59. &i.MessageCount,
  60. &i.PromptTokens,
  61. &i.CompletionTokens,
  62. &i.Cost,
  63. &i.UpdatedAt,
  64. &i.CreatedAt,
  65. &i.SummaryMessageID,
  66. )
  67. return i, err
  68. }
  69. const deleteSession = `-- name: DeleteSession :exec
  70. DELETE FROM sessions
  71. WHERE id = ?
  72. `
  73. func (q *Queries) DeleteSession(ctx context.Context, id string) error {
  74. _, err := q.exec(ctx, q.deleteSessionStmt, deleteSession, id)
  75. return err
  76. }
  77. const getSessionByID = `-- name: GetSessionByID :one
  78. SELECT id, parent_session_id, title, message_count, prompt_tokens, completion_tokens, cost, updated_at, created_at, summary_message_id
  79. FROM sessions
  80. WHERE id = ? LIMIT 1
  81. `
  82. func (q *Queries) GetSessionByID(ctx context.Context, id string) (Session, error) {
  83. row := q.queryRow(ctx, q.getSessionByIDStmt, getSessionByID, id)
  84. var i Session
  85. err := row.Scan(
  86. &i.ID,
  87. &i.ParentSessionID,
  88. &i.Title,
  89. &i.MessageCount,
  90. &i.PromptTokens,
  91. &i.CompletionTokens,
  92. &i.Cost,
  93. &i.UpdatedAt,
  94. &i.CreatedAt,
  95. &i.SummaryMessageID,
  96. )
  97. return i, err
  98. }
  99. const listSessions = `-- name: ListSessions :many
  100. SELECT id, parent_session_id, title, message_count, prompt_tokens, completion_tokens, cost, updated_at, created_at, summary_message_id
  101. FROM sessions
  102. WHERE parent_session_id is NULL
  103. ORDER BY created_at DESC
  104. `
  105. func (q *Queries) ListSessions(ctx context.Context) ([]Session, error) {
  106. rows, err := q.query(ctx, q.listSessionsStmt, listSessions)
  107. if err != nil {
  108. return nil, err
  109. }
  110. defer rows.Close()
  111. items := []Session{}
  112. for rows.Next() {
  113. var i Session
  114. if err := rows.Scan(
  115. &i.ID,
  116. &i.ParentSessionID,
  117. &i.Title,
  118. &i.MessageCount,
  119. &i.PromptTokens,
  120. &i.CompletionTokens,
  121. &i.Cost,
  122. &i.UpdatedAt,
  123. &i.CreatedAt,
  124. &i.SummaryMessageID,
  125. ); err != nil {
  126. return nil, err
  127. }
  128. items = append(items, i)
  129. }
  130. if err := rows.Close(); err != nil {
  131. return nil, err
  132. }
  133. if err := rows.Err(); err != nil {
  134. return nil, err
  135. }
  136. return items, nil
  137. }
  138. const updateSession = `-- name: UpdateSession :one
  139. UPDATE sessions
  140. SET
  141. title = ?,
  142. prompt_tokens = ?,
  143. completion_tokens = ?,
  144. summary_message_id = ?,
  145. cost = ?
  146. WHERE id = ?
  147. RETURNING id, parent_session_id, title, message_count, prompt_tokens, completion_tokens, cost, updated_at, created_at, summary_message_id
  148. `
  149. type UpdateSessionParams struct {
  150. Title string `json:"title"`
  151. PromptTokens int64 `json:"prompt_tokens"`
  152. CompletionTokens int64 `json:"completion_tokens"`
  153. SummaryMessageID sql.NullString `json:"summary_message_id"`
  154. Cost float64 `json:"cost"`
  155. ID string `json:"id"`
  156. }
  157. func (q *Queries) UpdateSession(ctx context.Context, arg UpdateSessionParams) (Session, error) {
  158. row := q.queryRow(ctx, q.updateSessionStmt, updateSession,
  159. arg.Title,
  160. arg.PromptTokens,
  161. arg.CompletionTokens,
  162. arg.SummaryMessageID,
  163. arg.Cost,
  164. arg.ID,
  165. )
  166. var i Session
  167. err := row.Scan(
  168. &i.ID,
  169. &i.ParentSessionID,
  170. &i.Title,
  171. &i.MessageCount,
  172. &i.PromptTokens,
  173. &i.CompletionTokens,
  174. &i.Cost,
  175. &i.UpdatedAt,
  176. &i.CreatedAt,
  177. &i.SummaryMessageID,
  178. )
  179. return i, err
  180. }