Showing actors, tags and date on movie tiles.
This commit is contained in:
@@ -255,7 +255,38 @@ async function storeScenes(releases) {
|
||||
return releasesWithId;
|
||||
}
|
||||
|
||||
async function storeMovies(movies) {
|
||||
async function associateMovieScenes(movies, movieScenes) {
|
||||
const movieScenesByEntityIdAndEntryId = movieScenes.reduce((acc, scene) => ({
|
||||
...acc,
|
||||
[scene.entity.id]: {
|
||||
...acc[scene.entity.id],
|
||||
[scene.entryId]: scene,
|
||||
},
|
||||
}), {});
|
||||
|
||||
const associations = movies.map((movie) => {
|
||||
if (!movie.scenes) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return movie.scenes.map((scene) => {
|
||||
const movieScene = movieScenesByEntityIdAndEntryId[movie.entity.id]?.[scene.entryId];
|
||||
|
||||
if (movieScene) {
|
||||
return {
|
||||
movie_id: movie.id,
|
||||
scene_id: movieScene.id,
|
||||
};
|
||||
}
|
||||
|
||||
return null;
|
||||
});
|
||||
}).flat().filter(Boolean);
|
||||
|
||||
await knex.batchInsert('movies_scenes', associations);
|
||||
}
|
||||
|
||||
async function storeMovies(movies, movieScenes) {
|
||||
const { uniqueReleases } = await filterDuplicateReleases(movies);
|
||||
const [batchId] = await knex('batches').insert({ comment: null }).returning('id');
|
||||
|
||||
@@ -264,6 +295,7 @@ async function storeMovies(movies) {
|
||||
|
||||
const moviesWithId = attachReleaseIds(movies, storedMovies);
|
||||
|
||||
await associateMovieScenes(moviesWithId, movieScenes);
|
||||
await associateReleaseMedia(moviesWithId, 'movies');
|
||||
|
||||
return storedMovies;
|
||||
|
||||
Reference in New Issue
Block a user