-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Context
PRs #52 and #53 added library code lookup, reviews API, and the Gemini scanner service (single-scan POST /library/scan). This adds batch processing so a DJ can upload multiple vinyl record images in one request, get a job ID back immediately, and poll for results as each item processes asynchronously via Gemini.
The batch endpoint is the primary workflow: DJs scan stacks of records in quick succession (place-tap-flip-tap-repeat), then review results later in bulk.
Schema
scan_jobstable: UUID primary key, user ownership, status enum (pending/processing/completed/failed), item countersscan_resultstable: per-item results with JSONB context/extraction, status tracking, optional catalog match
Endpoints
POST /library/scan/batch— accepts multipart images + JSON manifest, returns 202 with job IDGET /library/scan/batch/:jobId— returns job status with individual results (ownership-checked)
Client Protocol
Flat image upload + JSON manifest:
images: all files as a single multer array fieldmanifest: JSON string describing item groupings (imageCount, photoTypes, context per item)- Images consumed in order: first N for item 0, next M for item 1, etc.
Validation
- Max 10 items per batch
- Max 5 images per item
- Max 50 total images
- Image count must match manifest sum
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels