diff --git a/services/request/src/utils.ts b/services/request/src/utils.ts new file mode 100644 index 0000000..6cbdd2a --- /dev/null +++ b/services/request/src/utils.ts @@ -0,0 +1,23 @@ +import { IMovie } from "@autoplex-api/request"; +import { MovieTicket } from "@autoplex/database"; +import { PlexIpc } from "services"; +import Application from "./Application"; + +/** + * Convert a MovieTicket entity to a serialized IMovie object + */ +export async function convertTicketsToMovies(tickets: MovieTicket[]) { + let plex = Application.instance().service("Plex"); + let plexLinks = await plex.movieLinks(tickets.map(ticket => ticket.tmdbId)); + return tickets.map((ticket) => { + backdropPath : ticket.info?.backdropPath ?? null, + originalLanguage: ticket.info?.originalLanguage ?? null, + originalTitle : ticket.info?.originalTitle ?? null, + overview : ticket.info?.overview ?? null, + posterPath : ticket.info?.posterPath ?? null, + releaseDate : ticket.info?.releaseDate ?? null, + title : ticket.title, + plexLink : plexLinks[ticket.tmdbId], + tmdbId : ticket.tmdbId + }); +}