diff --git a/api/src/controllers/videos.ts b/api/src/controllers/videos.ts index d2d934d6..063312a6 100644 --- a/api/src/controllers/videos.ts +++ b/api/src/controllers/videos.ts @@ -247,7 +247,7 @@ function getNextVideoEntry({ .leftJoin(entryProgressQ, eq(entries.pk, entryProgressQ.entryPk)) .crossJoinLateral(entryVideosQ) .leftJoin(entryVideoJoin, eq(entries.pk, entryVideoJoin.entryPk)) - .innerJoin(vids, eq(vids.pk, entryVideoJoin.videoPk)) + .leftJoin(vids, eq(vids.pk, entryVideoJoin.videoPk)) .where( and( // either way it needs to be of the same show diff --git a/api/src/models/full-video.ts b/api/src/models/full-video.ts index bf94237c..a63bf4e6 100644 --- a/api/src/models/full-video.ts +++ b/api/src/models/full-video.ts @@ -16,10 +16,12 @@ export const FullVideo = t.Composite([ previous: t.Optional( t.Nullable( t.Object({ - video: t.String({ - format: "slug", - examples: ["made-in-abyss-s1e12"], - }), + video: t.Nullable( + t.String({ + format: "slug", + examples: ["made-in-abyss-s1e12"], + }), + ), entry: Entry, }), ), @@ -27,10 +29,12 @@ export const FullVideo = t.Composite([ next: t.Optional( t.Nullable( t.Object({ - video: t.String({ - format: "slug", - examples: ["made-in-abyss-dawn-of-the-deep-soul"], - }), + video: t.Nullable( + t.String({ + format: "slug", + examples: ["made-in-abyss-dawn-of-the-deep-soul"], + }), + ), entry: Entry, }), ),