sessions.sql.go 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  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,
  20. summarized_at
  21. ) VALUES (
  22. ?,
  23. ?,
  24. ?,
  25. ?,
  26. ?,
  27. ?,
  28. ?,
  29. ?,
  30. ?
  31. ) RETURNING id, parent_session_id, title, message_count, prompt_tokens, completion_tokens, cost, summary, summarized_at, updated_at, created_at
  32. `
  33. type CreateSessionParams struct {
  34. ID string `json:"id"`
  35. ParentSessionID sql.NullString `json:"parent_session_id"`
  36. Title string `json:"title"`
  37. MessageCount int64 `json:"message_count"`
  38. PromptTokens int64 `json:"prompt_tokens"`
  39. CompletionTokens int64 `json:"completion_tokens"`
  40. Cost float64 `json:"cost"`
  41. Summary sql.NullString `json:"summary"`
  42. SummarizedAt sql.NullString `json:"summarized_at"`
  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. arg.Summary,
  54. arg.SummarizedAt,
  55. )
  56. var i Session
  57. err := row.Scan(
  58. &i.ID,
  59. &i.ParentSessionID,
  60. &i.Title,
  61. &i.MessageCount,
  62. &i.PromptTokens,
  63. &i.CompletionTokens,
  64. &i.Cost,
  65. &i.Summary,
  66. &i.SummarizedAt,
  67. &i.UpdatedAt,
  68. &i.CreatedAt,
  69. )
  70. return i, err
  71. }
  72. const deleteSession = `-- name: DeleteSession :exec
  73. DELETE FROM sessions
  74. WHERE id = ?
  75. `
  76. func (q *Queries) DeleteSession(ctx context.Context, id string) error {
  77. _, err := q.exec(ctx, q.deleteSessionStmt, deleteSession, id)
  78. return err
  79. }
  80. const getSessionByID = `-- name: GetSessionByID :one
  81. SELECT id, parent_session_id, title, message_count, prompt_tokens, completion_tokens, cost, summary, summarized_at, updated_at, created_at
  82. FROM sessions
  83. WHERE id = ? LIMIT 1
  84. `
  85. func (q *Queries) GetSessionByID(ctx context.Context, id string) (Session, error) {
  86. row := q.queryRow(ctx, q.getSessionByIDStmt, getSessionByID, id)
  87. var i Session
  88. err := row.Scan(
  89. &i.ID,
  90. &i.ParentSessionID,
  91. &i.Title,
  92. &i.MessageCount,
  93. &i.PromptTokens,
  94. &i.CompletionTokens,
  95. &i.Cost,
  96. &i.Summary,
  97. &i.SummarizedAt,
  98. &i.UpdatedAt,
  99. &i.CreatedAt,
  100. )
  101. return i, err
  102. }
  103. const listSessions = `-- name: ListSessions :many
  104. SELECT id, parent_session_id, title, message_count, prompt_tokens, completion_tokens, cost, summary, summarized_at, updated_at, created_at
  105. FROM sessions
  106. WHERE parent_session_id is NULL
  107. ORDER BY created_at DESC
  108. `
  109. func (q *Queries) ListSessions(ctx context.Context) ([]Session, error) {
  110. rows, err := q.query(ctx, q.listSessionsStmt, listSessions)
  111. if err != nil {
  112. return nil, err
  113. }
  114. defer rows.Close()
  115. items := []Session{}
  116. for rows.Next() {
  117. var i Session
  118. if err := rows.Scan(
  119. &i.ID,
  120. &i.ParentSessionID,
  121. &i.Title,
  122. &i.MessageCount,
  123. &i.PromptTokens,
  124. &i.CompletionTokens,
  125. &i.Cost,
  126. &i.Summary,
  127. &i.SummarizedAt,
  128. &i.UpdatedAt,
  129. &i.CreatedAt,
  130. ); err != nil {
  131. return nil, err
  132. }
  133. items = append(items, i)
  134. }
  135. if err := rows.Close(); err != nil {
  136. return nil, err
  137. }
  138. if err := rows.Err(); err != nil {
  139. return nil, err
  140. }
  141. return items, nil
  142. }
  143. const updateSession = `-- name: UpdateSession :one
  144. UPDATE sessions
  145. SET
  146. title = ?,
  147. prompt_tokens = ?,
  148. completion_tokens = ?,
  149. cost = ?,
  150. summary = ?,
  151. summarized_at = ?
  152. WHERE id = ?
  153. RETURNING id, parent_session_id, title, message_count, prompt_tokens, completion_tokens, cost, summary, summarized_at, updated_at, created_at
  154. `
  155. type UpdateSessionParams struct {
  156. Title string `json:"title"`
  157. PromptTokens int64 `json:"prompt_tokens"`
  158. CompletionTokens int64 `json:"completion_tokens"`
  159. Cost float64 `json:"cost"`
  160. Summary sql.NullString `json:"summary"`
  161. SummarizedAt sql.NullString `json:"summarized_at"`
  162. ID string `json:"id"`
  163. }
  164. func (q *Queries) UpdateSession(ctx context.Context, arg UpdateSessionParams) (Session, error) {
  165. row := q.queryRow(ctx, q.updateSessionStmt, updateSession,
  166. arg.Title,
  167. arg.PromptTokens,
  168. arg.CompletionTokens,
  169. arg.Cost,
  170. arg.Summary,
  171. arg.SummarizedAt,
  172. arg.ID,
  173. )
  174. var i Session
  175. err := row.Scan(
  176. &i.ID,
  177. &i.ParentSessionID,
  178. &i.Title,
  179. &i.MessageCount,
  180. &i.PromptTokens,
  181. &i.CompletionTokens,
  182. &i.Cost,
  183. &i.Summary,
  184. &i.SummarizedAt,
  185. &i.UpdatedAt,
  186. &i.CreatedAt,
  187. )
  188. return i, err
  189. }