Files
Kazier/backend/internal/db/resources.sql.go
T
2026-07-28 18:12:56 +02:00

488 lines
12 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.31.1
// source: resources.sql
package db
import (
"context"
"time"
"github.com/google/uuid"
"github.com/lib/pq"
)
const createFolder = `-- name: CreateFolder :one
INSERT INTO resources (name, is_folder, owner_id, created_at, updated_at)
VALUES ($1, true, $2, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)
RETURNING id, name, mime_type, size, checksum, ocr_text, is_folder, parent_resource_id, owner_id, created_at, updated_at
`
type CreateFolderParams struct {
Name string `json:"name"`
OwnerID uuid.UUID `json:"owner_id"`
}
func (q *Queries) CreateFolder(ctx context.Context, arg CreateFolderParams) (Resource, error) {
row := q.db.QueryRowContext(ctx, createFolder, arg.Name, arg.OwnerID)
var i Resource
err := row.Scan(
&i.ID,
&i.Name,
&i.MimeType,
&i.Size,
&i.Checksum,
&i.OcrText,
&i.IsFolder,
&i.ParentResourceID,
&i.OwnerID,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}
const createResource = `-- name: CreateResource :one
INSERT INTO resources (name, mime_type, size, checksum, owner_id, created_at, updated_at)
VALUES ($1, $2, $3, $4, $5, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)
RETURNING id, name, mime_type, size, checksum, ocr_text, is_folder, parent_resource_id, owner_id, created_at, updated_at
`
type CreateResourceParams struct {
Name string `json:"name"`
MimeType string `json:"mime_type"`
Size int64 `json:"size"`
Checksum string `json:"checksum"`
OwnerID uuid.UUID `json:"owner_id"`
}
func (q *Queries) CreateResource(ctx context.Context, arg CreateResourceParams) (Resource, error) {
row := q.db.QueryRowContext(ctx, createResource,
arg.Name,
arg.MimeType,
arg.Size,
arg.Checksum,
arg.OwnerID,
)
var i Resource
err := row.Scan(
&i.ID,
&i.Name,
&i.MimeType,
&i.Size,
&i.Checksum,
&i.OcrText,
&i.IsFolder,
&i.ParentResourceID,
&i.OwnerID,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}
const deleteResource = `-- name: DeleteResource :exec
DELETE FROM resources
WHERE id = $1
`
func (q *Queries) DeleteResource(ctx context.Context, id uuid.UUID) error {
_, err := q.db.ExecContext(ctx, deleteResource, id)
return err
}
const findDuplicateByChecksum = `-- name: FindDuplicateByChecksum :one
SELECT id, name, mime_type, size, checksum, ocr_text, is_folder, parent_resource_id, owner_id, created_at, updated_at FROM resources
WHERE checksum = $1 AND is_folder = false AND owner_id = $2
LIMIT 1
`
type FindDuplicateByChecksumParams struct {
Checksum string `json:"checksum"`
OwnerID uuid.UUID `json:"owner_id"`
}
func (q *Queries) FindDuplicateByChecksum(ctx context.Context, arg FindDuplicateByChecksumParams) (Resource, error) {
row := q.db.QueryRowContext(ctx, findDuplicateByChecksum, arg.Checksum, arg.OwnerID)
var i Resource
err := row.Scan(
&i.ID,
&i.Name,
&i.MimeType,
&i.Size,
&i.Checksum,
&i.OcrText,
&i.IsFolder,
&i.ParentResourceID,
&i.OwnerID,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}
const findDuplicatesByNameSize = `-- name: FindDuplicatesByNameSize :many
SELECT id, name, mime_type, size, checksum, created_at FROM resources
WHERE name = $1 AND size = $2 AND is_folder = false
ORDER BY created_at DESC
`
type FindDuplicatesByNameSizeParams struct {
Name string `json:"name"`
Size int64 `json:"size"`
}
type FindDuplicatesByNameSizeRow struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
MimeType string `json:"mime_type"`
Size int64 `json:"size"`
Checksum string `json:"checksum"`
CreatedAt time.Time `json:"created_at"`
}
func (q *Queries) FindDuplicatesByNameSize(ctx context.Context, arg FindDuplicatesByNameSizeParams) ([]FindDuplicatesByNameSizeRow, error) {
rows, err := q.db.QueryContext(ctx, findDuplicatesByNameSize, arg.Name, arg.Size)
if err != nil {
return nil, err
}
defer rows.Close()
var items []FindDuplicatesByNameSizeRow
for rows.Next() {
var i FindDuplicatesByNameSizeRow
if err := rows.Scan(
&i.ID,
&i.Name,
&i.MimeType,
&i.Size,
&i.Checksum,
&i.CreatedAt,
); 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 getResource = `-- name: GetResource :one
SELECT id, name, mime_type, size, checksum, ocr_text, is_folder, parent_resource_id, owner_id, created_at, updated_at FROM resources
WHERE id = $1 LIMIT 1
`
func (q *Queries) GetResource(ctx context.Context, id uuid.UUID) (Resource, error) {
row := q.db.QueryRowContext(ctx, getResource, id)
var i Resource
err := row.Scan(
&i.ID,
&i.Name,
&i.MimeType,
&i.Size,
&i.Checksum,
&i.OcrText,
&i.IsFolder,
&i.ParentResourceID,
&i.OwnerID,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}
const listFolders = `-- name: ListFolders :many
SELECT id, name, mime_type, size, checksum, ocr_text, is_folder, parent_resource_id, owner_id, created_at, updated_at FROM resources
WHERE is_folder = true
ORDER BY created_at DESC
`
func (q *Queries) ListFolders(ctx context.Context) ([]Resource, error) {
rows, err := q.db.QueryContext(ctx, listFolders)
if err != nil {
return nil, err
}
defer rows.Close()
var items []Resource
for rows.Next() {
var i Resource
if err := rows.Scan(
&i.ID,
&i.Name,
&i.MimeType,
&i.Size,
&i.Checksum,
&i.OcrText,
&i.IsFolder,
&i.ParentResourceID,
&i.OwnerID,
&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 listResources = `-- name: ListResources :many
SELECT id, name, mime_type, size, checksum, ocr_text, is_folder, parent_resource_id, owner_id, created_at, updated_at FROM resources
WHERE parent_resource_id IS NULL
ORDER BY is_folder DESC, created_at DESC
`
func (q *Queries) ListResources(ctx context.Context) ([]Resource, error) {
rows, err := q.db.QueryContext(ctx, listResources)
if err != nil {
return nil, err
}
defer rows.Close()
var items []Resource
for rows.Next() {
var i Resource
if err := rows.Scan(
&i.ID,
&i.Name,
&i.MimeType,
&i.Size,
&i.Checksum,
&i.OcrText,
&i.IsFolder,
&i.ParentResourceID,
&i.OwnerID,
&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 listResourcesByID = `-- name: ListResourcesByID :many
SELECT id, name, mime_type, size, checksum, ocr_text, is_folder, parent_resource_id, owner_id, created_at, updated_at FROM resources
WHERE id = ANY($1::uuid[])
ORDER BY created_at DESC
`
func (q *Queries) ListResourcesByID(ctx context.Context, dollar_1 []uuid.UUID) ([]Resource, error) {
rows, err := q.db.QueryContext(ctx, listResourcesByID, pq.Array(dollar_1))
if err != nil {
return nil, err
}
defer rows.Close()
var items []Resource
for rows.Next() {
var i Resource
if err := rows.Scan(
&i.ID,
&i.Name,
&i.MimeType,
&i.Size,
&i.Checksum,
&i.OcrText,
&i.IsFolder,
&i.ParentResourceID,
&i.OwnerID,
&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 listResourcesByOwner = `-- name: ListResourcesByOwner :many
SELECT id, name, mime_type, size, checksum, ocr_text, is_folder, parent_resource_id, owner_id, created_at, updated_at FROM resources
WHERE owner_id = $1 AND parent_resource_id IS NULL
ORDER BY created_at DESC
`
func (q *Queries) ListResourcesByOwner(ctx context.Context, ownerID uuid.UUID) ([]Resource, error) {
rows, err := q.db.QueryContext(ctx, listResourcesByOwner, ownerID)
if err != nil {
return nil, err
}
defer rows.Close()
var items []Resource
for rows.Next() {
var i Resource
if err := rows.Scan(
&i.ID,
&i.Name,
&i.MimeType,
&i.Size,
&i.Checksum,
&i.OcrText,
&i.IsFolder,
&i.ParentResourceID,
&i.OwnerID,
&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 listResourcesByParentAndOwner = `-- name: ListResourcesByParentAndOwner :many
SELECT id, name, mime_type, size, checksum, ocr_text, is_folder, parent_resource_id, owner_id, created_at, updated_at FROM resources
WHERE parent_resource_id = $1 AND owner_id = $2
ORDER BY is_folder DESC, created_at DESC
`
type ListResourcesByParentAndOwnerParams struct {
ParentResourceID uuid.NullUUID `json:"parent_resource_id"`
OwnerID uuid.UUID `json:"owner_id"`
}
func (q *Queries) ListResourcesByParentAndOwner(ctx context.Context, arg ListResourcesByParentAndOwnerParams) ([]Resource, error) {
rows, err := q.db.QueryContext(ctx, listResourcesByParentAndOwner, arg.ParentResourceID, arg.OwnerID)
if err != nil {
return nil, err
}
defer rows.Close()
var items []Resource
for rows.Next() {
var i Resource
if err := rows.Scan(
&i.ID,
&i.Name,
&i.MimeType,
&i.Size,
&i.Checksum,
&i.OcrText,
&i.IsFolder,
&i.ParentResourceID,
&i.OwnerID,
&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 listResourcesByParentID = `-- name: ListResourcesByParentID :many
SELECT id, name, mime_type, size, checksum, ocr_text, is_folder, parent_resource_id, owner_id, created_at, updated_at FROM resources
WHERE parent_resource_id = $1
ORDER BY is_folder DESC, created_at DESC
`
func (q *Queries) ListResourcesByParentID(ctx context.Context, parentResourceID uuid.NullUUID) ([]Resource, error) {
rows, err := q.db.QueryContext(ctx, listResourcesByParentID, parentResourceID)
if err != nil {
return nil, err
}
defer rows.Close()
var items []Resource
for rows.Next() {
var i Resource
if err := rows.Scan(
&i.ID,
&i.Name,
&i.MimeType,
&i.Size,
&i.Checksum,
&i.OcrText,
&i.IsFolder,
&i.ParentResourceID,
&i.OwnerID,
&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 moveResources = `-- name: MoveResources :exec
UPDATE resources
SET parent_resource_id = $1, updated_at = CURRENT_TIMESTAMP
WHERE id = ANY($2::uuid[])
`
type MoveResourcesParams struct {
ParentResourceID uuid.NullUUID `json:"parent_resource_id"`
Column2 []uuid.UUID `json:"column_2"`
}
func (q *Queries) MoveResources(ctx context.Context, arg MoveResourcesParams) error {
_, err := q.db.ExecContext(ctx, moveResources, arg.ParentResourceID, pq.Array(arg.Column2))
return err
}
const updateResource = `-- name: UpdateResource :exec
UPDATE resources
SET name = $1, mime_type = $2, ocr_text = $3, updated_at = CURRENT_TIMESTAMP
WHERE id = $4
`
type UpdateResourceParams struct {
Name string `json:"name"`
MimeType string `json:"mime_type"`
OcrText string `json:"ocr_text"`
ID uuid.UUID `json:"id"`
}
func (q *Queries) UpdateResource(ctx context.Context, arg UpdateResourceParams) error {
_, err := q.db.ExecContext(ctx, updateResource,
arg.Name,
arg.MimeType,
arg.OcrText,
arg.ID,
)
return err
}