// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.31.1 // source: scan_runs.sql package dbq import ( "context" "github.com/jackc/pgx/v5/pgtype" ) const finishScanRun = `-- name: FinishScanRun :exec UPDATE scan_runs SET finished_at = now(), error_message = NULLIF($2::text, '') WHERE id = $1 ` type FinishScanRunParams struct { ID pgtype.UUID Column2 string } // Closes the row. error_message is non-empty only when a fatal error // aborted the chain before normal completion. func (q *Queries) FinishScanRun(ctx context.Context, arg FinishScanRunParams) error { _, err := q.db.Exec(ctx, finishScanRun, arg.ID, arg.Column2) return err } const getInFlightScanRun = `-- name: GetInFlightScanRun :one SELECT id, started_at FROM scan_runs WHERE finished_at IS NULL ORDER BY started_at DESC LIMIT 1 ` type GetInFlightScanRunRow struct { ID pgtype.UUID StartedAt pgtype.Timestamptz } // Used by POST /api/admin/scan/run to 409 when a scan is already running. // "In flight" = finished_at IS NULL. func (q *Queries) GetInFlightScanRun(ctx context.Context) (GetInFlightScanRunRow, error) { row := q.db.QueryRow(ctx, getInFlightScanRun) var i GetInFlightScanRunRow err := row.Scan(&i.ID, &i.StartedAt) return i, err } const getLatestScanRun = `-- name: GetLatestScanRun :one SELECT id, started_at, finished_at, library, mbid_backfill, cover_enrich, artist_art_enrich, error_message FROM scan_runs ORDER BY started_at DESC LIMIT 1 ` type GetLatestScanRunRow struct { ID pgtype.UUID StartedAt pgtype.Timestamptz FinishedAt pgtype.Timestamptz Library []byte MbidBackfill []byte CoverEnrich []byte ArtistArtEnrich []byte ErrorMessage *string } // Powers GET /api/admin/scan/status. Returns NoRows when no scan has // ever run; the API layer maps that to a 200 with empty payload. func (q *Queries) GetLatestScanRun(ctx context.Context) (GetLatestScanRunRow, error) { row := q.db.QueryRow(ctx, getLatestScanRun) var i GetLatestScanRunRow err := row.Scan( &i.ID, &i.StartedAt, &i.FinishedAt, &i.Library, &i.MbidBackfill, &i.CoverEnrich, &i.ArtistArtEnrich, &i.ErrorMessage, ) return i, err } const insertScanRun = `-- name: InsertScanRun :one INSERT INTO scan_runs DEFAULT VALUES RETURNING id, started_at ` type InsertScanRunRow struct { ID pgtype.UUID StartedAt pgtype.Timestamptz } // M7 #381: scan-run lifecycle queries. // Creates a new scan_runs row with started_at=now(). Stages are filled in // as each completes via UpdateScanRunStage; finished_at is set by FinishScanRun. func (q *Queries) InsertScanRun(ctx context.Context) (InsertScanRunRow, error) { row := q.db.QueryRow(ctx, insertScanRun) var i InsertScanRunRow err := row.Scan(&i.ID, &i.StartedAt) return i, err } const updateScanRunArtistArtEnrich = `-- name: UpdateScanRunArtistArtEnrich :exec UPDATE scan_runs SET artist_art_enrich = $2 WHERE id = $1 ` type UpdateScanRunArtistArtEnrichParams struct { ID pgtype.UUID ArtistArtEnrich []byte } // M7 cover-sources: persists the artist-art enrich stage tally JSON. func (q *Queries) UpdateScanRunArtistArtEnrich(ctx context.Context, arg UpdateScanRunArtistArtEnrichParams) error { _, err := q.db.Exec(ctx, updateScanRunArtistArtEnrich, arg.ID, arg.ArtistArtEnrich) return err } const updateScanRunCoverEnrich = `-- name: UpdateScanRunCoverEnrich :exec UPDATE scan_runs SET cover_enrich = $2 WHERE id = $1 ` type UpdateScanRunCoverEnrichParams struct { ID pgtype.UUID CoverEnrich []byte } func (q *Queries) UpdateScanRunCoverEnrich(ctx context.Context, arg UpdateScanRunCoverEnrichParams) error { _, err := q.db.Exec(ctx, updateScanRunCoverEnrich, arg.ID, arg.CoverEnrich) return err } const updateScanRunLibrary = `-- name: UpdateScanRunLibrary :exec UPDATE scan_runs SET library = $2 WHERE id = $1 ` type UpdateScanRunLibraryParams struct { ID pgtype.UUID Library []byte } // Persists the file-walk stage's tallies. Idempotent — overwrites prior // value if the orchestrator re-runs the stage on retry. func (q *Queries) UpdateScanRunLibrary(ctx context.Context, arg UpdateScanRunLibraryParams) error { _, err := q.db.Exec(ctx, updateScanRunLibrary, arg.ID, arg.Library) return err } const updateScanRunMbidBackfill = `-- name: UpdateScanRunMbidBackfill :exec UPDATE scan_runs SET mbid_backfill = $2 WHERE id = $1 ` type UpdateScanRunMbidBackfillParams struct { ID pgtype.UUID MbidBackfill []byte } func (q *Queries) UpdateScanRunMbidBackfill(ctx context.Context, arg UpdateScanRunMbidBackfillParams) error { _, err := q.db.Exec(ctx, updateScanRunMbidBackfill, arg.ID, arg.MbidBackfill) return err }