schema
This commit is contained in:
@@ -0,0 +1,304 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.27.0
|
||||
// source: batch.sql
|
||||
|
||||
package repository
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/google/uuid"
|
||||
"github.com/jackc/pgx/v5/pgtype"
|
||||
)
|
||||
|
||||
const addFailedFilename = `-- name: AddFailedFilename :exec
|
||||
UPDATE batch_uploads
|
||||
SET failed_filenames = failed_filenames || jsonb_build_array($2::text)
|
||||
WHERE id = $1
|
||||
`
|
||||
|
||||
type AddFailedFilenameParams struct {
|
||||
ID uuid.UUID `db:"id"`
|
||||
Column2 string `db:"column_2"`
|
||||
}
|
||||
|
||||
// AddFailedFilename
|
||||
//
|
||||
// UPDATE batch_uploads
|
||||
// SET failed_filenames = failed_filenames || jsonb_build_array($2::text)
|
||||
// WHERE id = $1
|
||||
func (q *Queries) AddFailedFilename(ctx context.Context, arg *AddFailedFilenameParams) error {
|
||||
_, err := q.db.Exec(ctx, addFailedFilename, arg.ID, arg.Column2)
|
||||
return err
|
||||
}
|
||||
|
||||
const cancelBatchUpload = `-- name: CancelBatchUpload :exec
|
||||
UPDATE batch_uploads
|
||||
SET status = 'cancelled',
|
||||
completed_at = NOW()
|
||||
WHERE id = $1 AND client_id = $2 AND status = 'processing'
|
||||
`
|
||||
|
||||
type CancelBatchUploadParams struct {
|
||||
ID uuid.UUID `db:"id"`
|
||||
ClientID string `db:"client_id"`
|
||||
}
|
||||
|
||||
// CancelBatchUpload
|
||||
//
|
||||
// UPDATE batch_uploads
|
||||
// SET status = 'cancelled',
|
||||
// completed_at = NOW()
|
||||
// WHERE id = $1 AND client_id = $2 AND status = 'processing'
|
||||
func (q *Queries) CancelBatchUpload(ctx context.Context, arg *CancelBatchUploadParams) error {
|
||||
_, err := q.db.Exec(ctx, cancelBatchUpload, arg.ID, arg.ClientID)
|
||||
return err
|
||||
}
|
||||
|
||||
const countDocumentsByBatchId = `-- name: CountDocumentsByBatchId :one
|
||||
SELECT COUNT(*) as count
|
||||
FROM documents
|
||||
WHERE batch_id = $1
|
||||
`
|
||||
|
||||
// CountDocumentsByBatchId
|
||||
//
|
||||
// SELECT COUNT(*) as count
|
||||
// FROM documents
|
||||
// WHERE batch_id = $1
|
||||
func (q *Queries) CountDocumentsByBatchId(ctx context.Context, batchID *uuid.UUID) (int64, error) {
|
||||
row := q.db.QueryRow(ctx, countDocumentsByBatchId, batchID)
|
||||
var count int64
|
||||
err := row.Scan(&count)
|
||||
return count, err
|
||||
}
|
||||
|
||||
const createBatchUpload = `-- name: CreateBatchUpload :one
|
||||
INSERT INTO batch_uploads (client_id, original_filename, total_documents)
|
||||
VALUES ($1, $2, $3) RETURNING id
|
||||
`
|
||||
|
||||
type CreateBatchUploadParams struct {
|
||||
ClientID string `db:"client_id"`
|
||||
OriginalFilename string `db:"original_filename"`
|
||||
TotalDocuments int32 `db:"total_documents"`
|
||||
}
|
||||
|
||||
// CreateBatchUpload
|
||||
//
|
||||
// INSERT INTO batch_uploads (client_id, original_filename, total_documents)
|
||||
// VALUES ($1, $2, $3) RETURNING id
|
||||
func (q *Queries) CreateBatchUpload(ctx context.Context, arg *CreateBatchUploadParams) (uuid.UUID, error) {
|
||||
row := q.db.QueryRow(ctx, createBatchUpload, arg.ClientID, arg.OriginalFilename, arg.TotalDocuments)
|
||||
var id uuid.UUID
|
||||
err := row.Scan(&id)
|
||||
return id, err
|
||||
}
|
||||
|
||||
const getBatchUpload = `-- name: GetBatchUpload :one
|
||||
SELECT id, client_id, original_filename, total_documents, processed_documents,
|
||||
failed_documents, invalid_type_documents, status, progress_percent,
|
||||
failed_filenames, created_at, completed_at
|
||||
FROM batch_uploads
|
||||
WHERE id = $1 AND client_id = $2
|
||||
`
|
||||
|
||||
type GetBatchUploadParams struct {
|
||||
ID uuid.UUID `db:"id"`
|
||||
ClientID string `db:"client_id"`
|
||||
}
|
||||
|
||||
// GetBatchUpload
|
||||
//
|
||||
// SELECT id, client_id, original_filename, total_documents, processed_documents,
|
||||
// failed_documents, invalid_type_documents, status, progress_percent,
|
||||
// failed_filenames, created_at, completed_at
|
||||
// FROM batch_uploads
|
||||
// WHERE id = $1 AND client_id = $2
|
||||
func (q *Queries) GetBatchUpload(ctx context.Context, arg *GetBatchUploadParams) (*BatchUpload, error) {
|
||||
row := q.db.QueryRow(ctx, getBatchUpload, arg.ID, arg.ClientID)
|
||||
var i BatchUpload
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ClientID,
|
||||
&i.OriginalFilename,
|
||||
&i.TotalDocuments,
|
||||
&i.ProcessedDocuments,
|
||||
&i.FailedDocuments,
|
||||
&i.InvalidTypeDocuments,
|
||||
&i.Status,
|
||||
&i.ProgressPercent,
|
||||
&i.FailedFilenames,
|
||||
&i.CreatedAt,
|
||||
&i.CompletedAt,
|
||||
)
|
||||
return &i, err
|
||||
}
|
||||
|
||||
const getDocumentsByBatchId = `-- name: GetDocumentsByBatchId :many
|
||||
SELECT id, clientId, hash
|
||||
FROM documents
|
||||
WHERE batch_id = $1
|
||||
`
|
||||
|
||||
type GetDocumentsByBatchIdRow struct {
|
||||
ID uuid.UUID `db:"id"`
|
||||
Clientid string `db:"clientid"`
|
||||
Hash string `db:"hash"`
|
||||
}
|
||||
|
||||
// GetDocumentsByBatchId
|
||||
//
|
||||
// SELECT id, clientId, hash
|
||||
// FROM documents
|
||||
// WHERE batch_id = $1
|
||||
func (q *Queries) GetDocumentsByBatchId(ctx context.Context, batchID *uuid.UUID) ([]*GetDocumentsByBatchIdRow, error) {
|
||||
rows, err := q.db.Query(ctx, getDocumentsByBatchId, batchID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
items := []*GetDocumentsByBatchIdRow{}
|
||||
for rows.Next() {
|
||||
var i GetDocumentsByBatchIdRow
|
||||
if err := rows.Scan(&i.ID, &i.Clientid, &i.Hash); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, &i)
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const listBatchUploads = `-- name: ListBatchUploads :many
|
||||
SELECT id, client_id, original_filename, total_documents, processed_documents,
|
||||
failed_documents, invalid_type_documents, status, progress_percent,
|
||||
created_at, completed_at
|
||||
FROM batch_uploads
|
||||
WHERE client_id = $1
|
||||
ORDER BY created_at DESC
|
||||
LIMIT $2 OFFSET $3
|
||||
`
|
||||
|
||||
type ListBatchUploadsParams struct {
|
||||
ClientID string `db:"client_id"`
|
||||
Limit int64 `db:"limit"`
|
||||
Offset int64 `db:"offset"`
|
||||
}
|
||||
|
||||
type ListBatchUploadsRow struct {
|
||||
ID uuid.UUID `db:"id"`
|
||||
ClientID string `db:"client_id"`
|
||||
OriginalFilename string `db:"original_filename"`
|
||||
TotalDocuments int32 `db:"total_documents"`
|
||||
ProcessedDocuments int32 `db:"processed_documents"`
|
||||
FailedDocuments int32 `db:"failed_documents"`
|
||||
InvalidTypeDocuments int32 `db:"invalid_type_documents"`
|
||||
Status BatchStatus `db:"status"`
|
||||
ProgressPercent int32 `db:"progress_percent"`
|
||||
CreatedAt pgtype.Timestamp `db:"created_at"`
|
||||
CompletedAt pgtype.Timestamp `db:"completed_at"`
|
||||
}
|
||||
|
||||
// ListBatchUploads
|
||||
//
|
||||
// SELECT id, client_id, original_filename, total_documents, processed_documents,
|
||||
// failed_documents, invalid_type_documents, status, progress_percent,
|
||||
// created_at, completed_at
|
||||
// FROM batch_uploads
|
||||
// WHERE client_id = $1
|
||||
// ORDER BY created_at DESC
|
||||
// LIMIT $2 OFFSET $3
|
||||
func (q *Queries) ListBatchUploads(ctx context.Context, arg *ListBatchUploadsParams) ([]*ListBatchUploadsRow, error) {
|
||||
rows, err := q.db.Query(ctx, listBatchUploads, arg.ClientID, arg.Limit, arg.Offset)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
items := []*ListBatchUploadsRow{}
|
||||
for rows.Next() {
|
||||
var i ListBatchUploadsRow
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.ClientID,
|
||||
&i.OriginalFilename,
|
||||
&i.TotalDocuments,
|
||||
&i.ProcessedDocuments,
|
||||
&i.FailedDocuments,
|
||||
&i.InvalidTypeDocuments,
|
||||
&i.Status,
|
||||
&i.ProgressPercent,
|
||||
&i.CreatedAt,
|
||||
&i.CompletedAt,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, &i)
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const updateBatchProgress = `-- name: UpdateBatchProgress :exec
|
||||
UPDATE batch_uploads
|
||||
SET processed_documents = $2,
|
||||
failed_documents = $3,
|
||||
invalid_type_documents = $4,
|
||||
progress_percent = $5
|
||||
WHERE id = $1
|
||||
`
|
||||
|
||||
type UpdateBatchProgressParams struct {
|
||||
ID uuid.UUID `db:"id"`
|
||||
ProcessedDocuments int32 `db:"processed_documents"`
|
||||
FailedDocuments int32 `db:"failed_documents"`
|
||||
InvalidTypeDocuments int32 `db:"invalid_type_documents"`
|
||||
ProgressPercent int32 `db:"progress_percent"`
|
||||
}
|
||||
|
||||
// UpdateBatchProgress
|
||||
//
|
||||
// UPDATE batch_uploads
|
||||
// SET processed_documents = $2,
|
||||
// failed_documents = $3,
|
||||
// invalid_type_documents = $4,
|
||||
// progress_percent = $5
|
||||
// WHERE id = $1
|
||||
func (q *Queries) UpdateBatchProgress(ctx context.Context, arg *UpdateBatchProgressParams) error {
|
||||
_, err := q.db.Exec(ctx, updateBatchProgress,
|
||||
arg.ID,
|
||||
arg.ProcessedDocuments,
|
||||
arg.FailedDocuments,
|
||||
arg.InvalidTypeDocuments,
|
||||
arg.ProgressPercent,
|
||||
)
|
||||
return err
|
||||
}
|
||||
|
||||
const updateBatchStatus = `-- name: UpdateBatchStatus :exec
|
||||
UPDATE batch_uploads
|
||||
SET status = $2::batch_status,
|
||||
completed_at = CASE WHEN $2::batch_status IN ('completed', 'failed', 'cancelled') THEN NOW() ELSE NULL END
|
||||
WHERE id = $1
|
||||
`
|
||||
|
||||
type UpdateBatchStatusParams struct {
|
||||
ID uuid.UUID `db:"id"`
|
||||
Column2 BatchStatus `db:"column_2"`
|
||||
}
|
||||
|
||||
// UpdateBatchStatus
|
||||
//
|
||||
// UPDATE batch_uploads
|
||||
// SET status = $2::batch_status,
|
||||
// completed_at = CASE WHEN $2::batch_status IN ('completed', 'failed', 'cancelled') THEN NOW() ELSE NULL END
|
||||
// WHERE id = $1
|
||||
func (q *Queries) UpdateBatchStatus(ctx context.Context, arg *UpdateBatchStatusParams) error {
|
||||
_, err := q.db.Exec(ctx, updateBatchStatus, arg.ID, arg.Column2)
|
||||
return err
|
||||
}
|
||||
Reference in New Issue
Block a user