feat: discogs lookup routes (barcode/search/release preview)
Known-red tests pending later tasks: - 'reports duplicate when release already in collection' needs POST /api/collection (Task 15) - 'reports ripped...' and 'reports ambiguous...' need the test-only POST /api/library/albums/test-seed route (Task 16)
This commit is contained in:
@@ -2,14 +2,17 @@ import Fastify, { FastifyInstance } from 'fastify'
|
||||
import Database from 'better-sqlite3'
|
||||
import cookie from '@fastify/cookie'
|
||||
import type { Config } from './config.js'
|
||||
import { SerialQueue } from './queue.js'
|
||||
import { registerAuthRoutes } from './routes/authRoutes.js'
|
||||
import { registerSettingsRoutes } from './routes/settingsRoutes.js'
|
||||
import { registerLookupRoutes } from './routes/lookupRoutes.js'
|
||||
|
||||
declare module 'fastify' {
|
||||
interface FastifyInstance {
|
||||
db: Database.Database
|
||||
config: Config
|
||||
fetchImpl: typeof fetch
|
||||
discogsQueue: SerialQueue
|
||||
}
|
||||
interface FastifyRequest {
|
||||
user?: import('./auth.js').UserRow
|
||||
@@ -27,10 +30,12 @@ export async function buildApp(opts: AppOptions): Promise<FastifyInstance> {
|
||||
app.decorate('db', opts.db)
|
||||
app.decorate('config', opts.config)
|
||||
app.decorate('fetchImpl', opts.fetchImpl ?? fetch)
|
||||
app.decorate('discogsQueue', new SerialQueue({ minIntervalMs: 1100 }))
|
||||
|
||||
await app.register(cookie)
|
||||
await registerAuthRoutes(app)
|
||||
await registerSettingsRoutes(app)
|
||||
await registerLookupRoutes(app)
|
||||
|
||||
app.get('/api/health', async () => ({ ok: true }))
|
||||
return app
|
||||
|
||||
Reference in New Issue
Block a user