sessions.sql.go 3.7 KB

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