sessions.sql.go 4.0 KB

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