diff --git a/@types/objectInfo.d.ts b/@types/objectInfo.d.ts index 4663db9..32faa92 100644 --- a/@types/objectInfo.d.ts +++ b/@types/objectInfo.d.ts @@ -21,6 +21,7 @@ export interface CrunchyObject { type: string; promo_title: string; movie_listing_metadata?: MovieListingMetadata; + movie_metadata?: MovieMetadata; playback?: string; episode_metadata?: EpisodeMetadata; streams_link?: string; @@ -122,6 +123,23 @@ export interface MovieListingMetadata { tenant_categories: string[]; } +export interface MovieMetadata { + availability_notes: string; + available_offline: boolean; + closed_captions_available: boolean; + duration_ms: number; + extended_maturity_rating: Record; + is_dubbed: boolean; + is_mature: boolean; + is_premium_only: boolean; + is_subbed: boolean; + mature_blocked: boolean; + maturity_ratings: string[]; + movie_listing_id: string; + movie_listing_slug_title: string; + movie_listing_title: string; +} + export interface SeasonMetadata { audio_locale: Locale; audio_locales: Locale[]; diff --git a/crunchy.ts b/crunchy.ts index f9b3fb8..a512703 100644 --- a/crunchy.ts +++ b/crunchy.ts @@ -917,6 +917,17 @@ export default class Crunchy implements ServiceClass { epMeta.seasonTitle = item.title; epMeta.episodeNumber = 'Movie'; epMeta.episodeTitle = item.title; + } else if (item.movie_metadata) { + item.f_num = 'F:' + item.id; + epMeta.data = [ + { + mediaId: 'M:'+ item.id + } + ]; + epMeta.season = 0; + epMeta.seasonTitle = item.title; + epMeta.episodeNumber = 'Movie'; + epMeta.episodeTitle = item.title; } if (item.streams_link) { epMeta.data[0].playback = item.streams_link;