| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280 |
- // Code generated by sqlc. DO NOT EDIT.
- // versions:
- // sqlc v1.30.0
- // source: files.sql
- package db
- import (
- "context"
- )
- const createFile = `-- name: CreateFile :one
- INSERT INTO files (
- id,
- session_id,
- path,
- content,
- version,
- created_at,
- updated_at
- ) VALUES (
- ?, ?, ?, ?, ?, strftime('%s', 'now'), strftime('%s', 'now')
- )
- RETURNING id, session_id, path, content, version, created_at, updated_at
- `
- type CreateFileParams struct {
- ID string `json:"id"`
- SessionID string `json:"session_id"`
- Path string `json:"path"`
- Content string `json:"content"`
- Version int64 `json:"version"`
- }
- func (q *Queries) CreateFile(ctx context.Context, arg CreateFileParams) (File, error) {
- row := q.queryRow(ctx, q.createFileStmt, createFile,
- arg.ID,
- arg.SessionID,
- arg.Path,
- arg.Content,
- arg.Version,
- )
- var i File
- err := row.Scan(
- &i.ID,
- &i.SessionID,
- &i.Path,
- &i.Content,
- &i.Version,
- &i.CreatedAt,
- &i.UpdatedAt,
- )
- return i, err
- }
- const deleteFile = `-- name: DeleteFile :exec
- DELETE FROM files
- WHERE id = ?
- `
- func (q *Queries) DeleteFile(ctx context.Context, id string) error {
- _, err := q.exec(ctx, q.deleteFileStmt, deleteFile, id)
- return err
- }
- const deleteSessionFiles = `-- name: DeleteSessionFiles :exec
- DELETE FROM files
- WHERE session_id = ?
- `
- func (q *Queries) DeleteSessionFiles(ctx context.Context, sessionID string) error {
- _, err := q.exec(ctx, q.deleteSessionFilesStmt, deleteSessionFiles, sessionID)
- return err
- }
- const getFile = `-- name: GetFile :one
- SELECT id, session_id, path, content, version, created_at, updated_at
- FROM files
- WHERE id = ? LIMIT 1
- `
- func (q *Queries) GetFile(ctx context.Context, id string) (File, error) {
- row := q.queryRow(ctx, q.getFileStmt, getFile, id)
- var i File
- err := row.Scan(
- &i.ID,
- &i.SessionID,
- &i.Path,
- &i.Content,
- &i.Version,
- &i.CreatedAt,
- &i.UpdatedAt,
- )
- return i, err
- }
- const getFileByPathAndSession = `-- name: GetFileByPathAndSession :one
- SELECT id, session_id, path, content, version, created_at, updated_at
- FROM files
- WHERE path = ? AND session_id = ?
- ORDER BY version DESC, created_at DESC
- LIMIT 1
- `
- type GetFileByPathAndSessionParams struct {
- Path string `json:"path"`
- SessionID string `json:"session_id"`
- }
- func (q *Queries) GetFileByPathAndSession(ctx context.Context, arg GetFileByPathAndSessionParams) (File, error) {
- row := q.queryRow(ctx, q.getFileByPathAndSessionStmt, getFileByPathAndSession, arg.Path, arg.SessionID)
- var i File
- err := row.Scan(
- &i.ID,
- &i.SessionID,
- &i.Path,
- &i.Content,
- &i.Version,
- &i.CreatedAt,
- &i.UpdatedAt,
- )
- return i, err
- }
- const listFilesByPath = `-- name: ListFilesByPath :many
- SELECT id, session_id, path, content, version, created_at, updated_at
- FROM files
- WHERE path = ?
- ORDER BY version DESC, created_at DESC
- `
- func (q *Queries) ListFilesByPath(ctx context.Context, path string) ([]File, error) {
- rows, err := q.query(ctx, q.listFilesByPathStmt, listFilesByPath, path)
- if err != nil {
- return nil, err
- }
- defer rows.Close()
- items := []File{}
- for rows.Next() {
- var i File
- if err := rows.Scan(
- &i.ID,
- &i.SessionID,
- &i.Path,
- &i.Content,
- &i.Version,
- &i.CreatedAt,
- &i.UpdatedAt,
- ); err != nil {
- return nil, err
- }
- items = append(items, i)
- }
- if err := rows.Close(); err != nil {
- return nil, err
- }
- if err := rows.Err(); err != nil {
- return nil, err
- }
- return items, nil
- }
- const listFilesBySession = `-- name: ListFilesBySession :many
- SELECT id, session_id, path, content, version, created_at, updated_at
- FROM files
- WHERE session_id = ?
- ORDER BY version ASC, created_at ASC
- `
- func (q *Queries) ListFilesBySession(ctx context.Context, sessionID string) ([]File, error) {
- rows, err := q.query(ctx, q.listFilesBySessionStmt, listFilesBySession, sessionID)
- if err != nil {
- return nil, err
- }
- defer rows.Close()
- items := []File{}
- for rows.Next() {
- var i File
- if err := rows.Scan(
- &i.ID,
- &i.SessionID,
- &i.Path,
- &i.Content,
- &i.Version,
- &i.CreatedAt,
- &i.UpdatedAt,
- ); err != nil {
- return nil, err
- }
- items = append(items, i)
- }
- if err := rows.Close(); err != nil {
- return nil, err
- }
- if err := rows.Err(); err != nil {
- return nil, err
- }
- return items, nil
- }
- const listLatestSessionFiles = `-- name: ListLatestSessionFiles :many
- SELECT f.id, f.session_id, f.path, f.content, f.version, f.created_at, f.updated_at
- FROM files f
- INNER JOIN (
- SELECT path, MAX(version) as max_version, MAX(created_at) as max_created_at
- FROM files
- GROUP BY path
- ) latest ON f.path = latest.path AND f.version = latest.max_version AND f.created_at = latest.max_created_at
- WHERE f.session_id = ?
- ORDER BY f.path
- `
- func (q *Queries) ListLatestSessionFiles(ctx context.Context, sessionID string) ([]File, error) {
- rows, err := q.query(ctx, q.listLatestSessionFilesStmt, listLatestSessionFiles, sessionID)
- if err != nil {
- return nil, err
- }
- defer rows.Close()
- items := []File{}
- for rows.Next() {
- var i File
- if err := rows.Scan(
- &i.ID,
- &i.SessionID,
- &i.Path,
- &i.Content,
- &i.Version,
- &i.CreatedAt,
- &i.UpdatedAt,
- ); err != nil {
- return nil, err
- }
- items = append(items, i)
- }
- if err := rows.Close(); err != nil {
- return nil, err
- }
- if err := rows.Err(); err != nil {
- return nil, err
- }
- return items, nil
- }
- const listNewFiles = `-- name: ListNewFiles :many
- SELECT id, session_id, path, content, version, created_at, updated_at
- FROM files
- WHERE is_new = 1
- ORDER BY version DESC, created_at DESC
- `
- func (q *Queries) ListNewFiles(ctx context.Context) ([]File, error) {
- rows, err := q.query(ctx, q.listNewFilesStmt, listNewFiles)
- if err != nil {
- return nil, err
- }
- defer rows.Close()
- items := []File{}
- for rows.Next() {
- var i File
- if err := rows.Scan(
- &i.ID,
- &i.SessionID,
- &i.Path,
- &i.Content,
- &i.Version,
- &i.CreatedAt,
- &i.UpdatedAt,
- ); err != nil {
- return nil, err
- }
- items = append(items, i)
- }
- if err := rows.Close(); err != nil {
- return nil, err
- }
- if err := rows.Err(); err != nil {
- return nil, err
- }
- return items, nil
- }
|