2
0

sessions.sql.go 4.7 KB

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