Förslag-sidan: typ-knappar i vänsterspalten, alla fynd nyast först
All checks were successful
build-and-push / build (push) Successful in 12s
All checks were successful
build-and-push / build (push) Successful in 12s
Tre knappar (Artister & album / Låtar / Genrer) ersätter batch-listan; huvudspalten visar alla cachade fynd av vald typ i tidsordning med nyast först, grupperade per körning med datum-avdelare. Nytt API GET /api/suggest/items?type=X (plattar batcher med batch-metadata). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01824ZrvG2mDYYrmwqypLNup
This commit is contained in:
@@ -235,6 +235,11 @@ export function buildApp(config, deps = {}) {
|
||||
}
|
||||
})
|
||||
|
||||
app.get('/api/suggest/items', async (req) => {
|
||||
const type = SUGGEST_TYPES.includes(req.query.type) ? req.query.type : 'mix'
|
||||
return suggest.allItems(type)
|
||||
})
|
||||
|
||||
app.get('/api/suggest/batches', async () => {
|
||||
return suggest.loadBatches().map((b) => ({
|
||||
id: b.id,
|
||||
|
||||
@@ -355,6 +355,16 @@ export function suggestEngine({ config, store, lidarr, fetchImpl = fetch }) {
|
||||
return items.slice(0, limit)
|
||||
},
|
||||
|
||||
// alla fynd av en typ, nyast först, med batch-metadata för gruppering
|
||||
allItems(type = 'mix', limit = 500) {
|
||||
return loadBatches()
|
||||
.filter((b) => (b.type ?? 'mix') === type)
|
||||
.flatMap((b) =>
|
||||
b.items.map((it) => ({ ...it, batchId: b.id, batchCreatedAt: b.createdAt, trigger: b.trigger })),
|
||||
)
|
||||
.slice(0, limit)
|
||||
},
|
||||
|
||||
lastRun(type = 'mix') {
|
||||
return loadBatches().find((b) => (b.type ?? 'mix') === type)?.createdAt ?? null
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user