Files
Kazier/backend/internal/db/files.sql.go
T

315 lines
6.9 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.31.1
// source: files.sql
package db
import (
"context"
"database/sql"
"github.com/lib/pq"
)
const createFile = `-- name: CreateFile :one
INSERT INTO files (name, mime_type, size, storage_key, checksum, created_at, updated_at)
VALUES ($1, $2, $3, $4, $5, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)
RETURNING id, name, mime_type, size, storage_key, checksum, ocr_text, created_at, updated_at, parent_file_id, is_folder
`
type CreateFileParams struct {
Name string `json:"name"`
MimeType string `json:"mime_type"`
Size int64 `json:"size"`
StorageKey string `json:"storage_key"`
Checksum string `json:"checksum"`
}
func (q *Queries) CreateFile(ctx context.Context, arg CreateFileParams) (File, error) {
row := q.db.QueryRowContext(ctx, createFile,
arg.Name,
arg.MimeType,
arg.Size,
arg.StorageKey,
arg.Checksum,
)
var i File
err := row.Scan(
&i.ID,
&i.Name,
&i.MimeType,
&i.Size,
&i.StorageKey,
&i.Checksum,
&i.OcrText,
&i.CreatedAt,
&i.UpdatedAt,
&i.ParentFileID,
&i.IsFolder,
)
return i, err
}
const createFolder = `-- name: CreateFolder :one
INSERT INTO files (name, is_folder, created_at, updated_at)
VALUES ($1, true, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)
RETURNING id, name, mime_type, size, storage_key, checksum, ocr_text, created_at, updated_at, parent_file_id, is_folder
`
func (q *Queries) CreateFolder(ctx context.Context, name string) (File, error) {
row := q.db.QueryRowContext(ctx, createFolder, name)
var i File
err := row.Scan(
&i.ID,
&i.Name,
&i.MimeType,
&i.Size,
&i.StorageKey,
&i.Checksum,
&i.OcrText,
&i.CreatedAt,
&i.UpdatedAt,
&i.ParentFileID,
&i.IsFolder,
)
return i, err
}
const deleteFile = `-- name: DeleteFile :exec
DELETE FROM files
WHERE id = $1
`
func (q *Queries) DeleteFile(ctx context.Context, id string) error {
_, err := q.db.ExecContext(ctx, deleteFile, id)
return err
}
const getFile = `-- name: GetFile :one
SELECT id, name, mime_type, size, storage_key, checksum, ocr_text, created_at, updated_at, parent_file_id, is_folder FROM files
WHERE id = $1 LIMIT 1
`
func (q *Queries) GetFile(ctx context.Context, id string) (File, error) {
row := q.db.QueryRowContext(ctx, getFile, id)
var i File
err := row.Scan(
&i.ID,
&i.Name,
&i.MimeType,
&i.Size,
&i.StorageKey,
&i.Checksum,
&i.OcrText,
&i.CreatedAt,
&i.UpdatedAt,
&i.ParentFileID,
&i.IsFolder,
)
return i, err
}
const listFiles = `-- name: ListFiles :many
SELECT id, name, mime_type, size, storage_key, checksum, ocr_text, created_at, updated_at, parent_file_id, is_folder FROM files
WHERE parent_file_id IS NULL
ORDER BY is_folder DESC, created_at DESC
`
func (q *Queries) ListFiles(ctx context.Context) ([]File, error) {
rows, err := q.db.QueryContext(ctx, listFiles)
if err != nil {
return nil, err
}
defer rows.Close()
var items []File
for rows.Next() {
var i File
if err := rows.Scan(
&i.ID,
&i.Name,
&i.MimeType,
&i.Size,
&i.StorageKey,
&i.Checksum,
&i.OcrText,
&i.CreatedAt,
&i.UpdatedAt,
&i.ParentFileID,
&i.IsFolder,
); 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 listFilesByID = `-- name: ListFilesByID :many
SELECT id, name, mime_type, size, storage_key, checksum, ocr_text, created_at, updated_at, parent_file_id, is_folder FROM files
WHERE id = ANY($1::text[])
ORDER BY created_at DESC
`
func (q *Queries) ListFilesByID(ctx context.Context, dollar_1 []string) ([]File, error) {
rows, err := q.db.QueryContext(ctx, listFilesByID, pq.Array(dollar_1))
if err != nil {
return nil, err
}
defer rows.Close()
var items []File
for rows.Next() {
var i File
if err := rows.Scan(
&i.ID,
&i.Name,
&i.MimeType,
&i.Size,
&i.StorageKey,
&i.Checksum,
&i.OcrText,
&i.CreatedAt,
&i.UpdatedAt,
&i.ParentFileID,
&i.IsFolder,
); 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 listFilesByParentID = `-- name: ListFilesByParentID :many
SELECT id, name, mime_type, size, storage_key, checksum, ocr_text, created_at, updated_at, parent_file_id, is_folder FROM files
WHERE parent_file_id = $1
ORDER BY is_folder DESC, created_at DESC
`
func (q *Queries) ListFilesByParentID(ctx context.Context, parentFileID sql.NullString) ([]File, error) {
rows, err := q.db.QueryContext(ctx, listFilesByParentID, parentFileID)
if err != nil {
return nil, err
}
defer rows.Close()
var items []File
for rows.Next() {
var i File
if err := rows.Scan(
&i.ID,
&i.Name,
&i.MimeType,
&i.Size,
&i.StorageKey,
&i.Checksum,
&i.OcrText,
&i.CreatedAt,
&i.UpdatedAt,
&i.ParentFileID,
&i.IsFolder,
); 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 listFolders = `-- name: ListFolders :many
SELECT id, name, mime_type, size, storage_key, checksum, ocr_text, created_at, updated_at, parent_file_id, is_folder FROM files
WHERE is_folder = true
ORDER BY created_at DESC
`
func (q *Queries) ListFolders(ctx context.Context) ([]File, error) {
rows, err := q.db.QueryContext(ctx, listFolders)
if err != nil {
return nil, err
}
defer rows.Close()
var items []File
for rows.Next() {
var i File
if err := rows.Scan(
&i.ID,
&i.Name,
&i.MimeType,
&i.Size,
&i.StorageKey,
&i.Checksum,
&i.OcrText,
&i.CreatedAt,
&i.UpdatedAt,
&i.ParentFileID,
&i.IsFolder,
); 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 moveFiles = `-- name: MoveFiles :exec
UPDATE files
SET parent_file_id = $1, updated_at = CURRENT_TIMESTAMP
WHERE id = ANY($2::text[])
`
type MoveFilesParams struct {
ParentFileID sql.NullString `json:"parent_file_id"`
Column2 []string `json:"column_2"`
}
func (q *Queries) MoveFiles(ctx context.Context, arg MoveFilesParams) error {
_, err := q.db.ExecContext(ctx, moveFiles, arg.ParentFileID, pq.Array(arg.Column2))
return err
}
const updateFile = `-- name: UpdateFile :exec
UPDATE files
SET name = $1, mime_type = $2, ocr_text = $3, updated_at = CURRENT_TIMESTAMP
WHERE id = $4
`
type UpdateFileParams struct {
Name string `json:"name"`
MimeType string `json:"mime_type"`
OcrText string `json:"ocr_text"`
ID string `json:"id"`
}
func (q *Queries) UpdateFile(ctx context.Context, arg UpdateFileParams) error {
_, err := q.db.ExecContext(ctx, updateFile,
arg.Name,
arg.MimeType,
arg.OcrText,
arg.ID,
)
return err
}