Add unmatched paths in GET /videos (for scanner)

This commit is contained in:
Zoe Roux 2025-04-30 17:50:57 +02:00
parent 6194d806cc
commit ce66dba0c8
No known key found for this signature in database
2 changed files with 20 additions and 1 deletions

View File

@ -84,7 +84,23 @@ export const videosH = new Elysia({ prefix: "/videos", tags: ["videos"] })
const paths = await db.select({ path: videos.path }).from(videos); const paths = await db.select({ path: videos.path }).from(videos);
return { paths: paths.map((x) => x.path), guesses }; const unmatched = await db
.select({ path: videos.path })
.from(videos)
.where(
notExists(
db
.select()
.from(entryVideoJoin)
.where(eq(entryVideoJoin.videoPk, videos.pk)),
),
);
return {
paths: paths.map((x) => x.path),
guesses,
unmatched: unmatched.map((x) => x.path),
};
}, },
{ {
detail: { description: "Get all video registered & guessed made" }, detail: { description: "Get all video registered & guessed made" },

View File

@ -137,6 +137,7 @@ export const Guesses = t.Object({
Resource(), Resource(),
), ),
), ),
unmatched: t.Array(t.String()),
}); });
export type Guesses = typeof Guesses.static; export type Guesses = typeof Guesses.static;
@ -144,6 +145,7 @@ registerExamples(Guesses, {
paths: [ paths: [
"/videos/Evangelion S01E02.mkv", "/videos/Evangelion S01E02.mkv",
"/videos/Evangelion (1995) S01E26.mkv", "/videos/Evangelion (1995) S01E26.mkv",
"/videos/SomeUnknownThing.mkv",
], ],
guesses: { guesses: {
Evangelion: { Evangelion: {
@ -157,4 +159,5 @@ registerExamples(Guesses, {
}, },
}, },
}, },
unmatched: ["/videos/SomeUnknownThing.mkv"],
}); });