Added movie and summary to scene page.
This commit is contained in:
@@ -25,6 +25,7 @@ function curateMedia(media) {
|
||||
isS3: media.is_s3,
|
||||
width: media.width,
|
||||
height: media.height,
|
||||
index: media.index,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -73,6 +74,12 @@ function curateScene(rawScene, assets) {
|
||||
slug: tag.slug,
|
||||
name: tag.name,
|
||||
})),
|
||||
movies: assets.movies.map((movie) => ({
|
||||
id: movie.id,
|
||||
slug: movie.slug,
|
||||
title: movie.title,
|
||||
covers: movie.movie_covers?.map((cover) => curateMedia(cover)).toSorted((coverA, coverB) => coverA.index - coverB.index) || [],
|
||||
})),
|
||||
poster: curateMedia(assets.poster),
|
||||
trailer: curateMedia(assets.trailer),
|
||||
teaser: curateMedia(assets.teaser),
|
||||
@@ -91,6 +98,7 @@ export async function fetchScenesById(sceneIds, { reqUser, ...context } = {}) {
|
||||
actors,
|
||||
directors,
|
||||
tags,
|
||||
movies,
|
||||
posters,
|
||||
photos,
|
||||
trailers,
|
||||
@@ -126,6 +134,13 @@ export async function fetchScenesById(sceneIds, { reqUser, ...context } = {}) {
|
||||
.whereNotNull('tags.id')
|
||||
.whereIn('release_id', sceneIds)
|
||||
.orderBy('priority', 'desc'),
|
||||
movies: knex('movies_scenes')
|
||||
.select('movies_scenes.scene_id', 'movies.*', knex.raw('json_agg(media) as movie_covers'))
|
||||
.leftJoin('movies', 'movies.id', 'movies_scenes.movie_id')
|
||||
.leftJoin('movies_covers', 'movies_covers.movie_id', 'movies.id')
|
||||
.leftJoin('media', 'media.id', 'movies_covers.media_id')
|
||||
.whereIn('scene_id', sceneIds)
|
||||
.groupBy('movies.id', 'movies_scenes.scene_id'),
|
||||
posters: knex('releases_posters')
|
||||
.whereIn('release_id', sceneIds)
|
||||
.leftJoin('media', 'media.id', 'releases_posters.media_id'),
|
||||
@@ -183,10 +198,13 @@ export async function fetchScenesById(sceneIds, { reqUser, ...context } = {}) {
|
||||
return null;
|
||||
}
|
||||
|
||||
console.log(movies);
|
||||
|
||||
const sceneChannel = channels.find((entity) => entity.id === scene.entity_id);
|
||||
const sceneActors = actors.filter((actor) => actor.release_id === sceneId);
|
||||
const sceneDirectors = directors.filter((director) => director.release_id === sceneId);
|
||||
const sceneTags = tags.filter((tag) => tag.release_id === sceneId);
|
||||
const sceneMovies = movies.filter((movie) => movie.scene_id === sceneId);
|
||||
const scenePoster = posters.find((poster) => poster.release_id === sceneId);
|
||||
const scenePhotos = photos.filter((photo) => photo.release_id === sceneId);
|
||||
const sceneTrailers = trailers.find((trailer) => trailer.release_id === sceneId);
|
||||
@@ -199,6 +217,7 @@ export async function fetchScenesById(sceneIds, { reqUser, ...context } = {}) {
|
||||
actors: sceneActors,
|
||||
directors: sceneDirectors,
|
||||
tags: sceneTags,
|
||||
movies: sceneMovies,
|
||||
poster: scenePoster,
|
||||
photos: scenePhotos,
|
||||
trailer: sceneTrailers,
|
||||
|
||||
Reference in New Issue
Block a user