feat: provide metadata to plugin handlers

This commit is contained in:
Aleksi Lassila
2025-02-05 18:37:22 +02:00
parent 729cdf6a40
commit 09f8352b02
4 changed files with 45 additions and 52 deletions

View File

@@ -110,13 +110,23 @@ export class PaginationParams {
}
interface Metadata {
title?: string;
year?: number;
tmdbId?: string;
imdbId?: string;
year?: number;
}
export interface MovieMetadata extends Metadata {}
export interface MovieMetadata extends Metadata {
title: string;
runtime?: number;
}
export interface EpisodeMetadata extends Metadata {
series: string;
season: number;
episode: number;
episodeRuntime?: number;
seasonEpisodes?: number;
}
export interface SourcePlugin {
name: string;
@@ -151,9 +161,7 @@ export interface SourcePlugin {
getEpisodeStream: (
tmdbId: string,
series: string,
season: number,
episode: number,
metadata: EpisodeMetadata,
key: string,
context: UserContext,
config?: PlaybackConfig,
@@ -161,9 +169,7 @@ export interface SourcePlugin {
getEpisodeStreams: (
tmdbId: string,
series: string,
season: number,
episode: number,
metadata: EpisodeMetadata,
context: UserContext,
config?: PlaybackConfig,
) => Promise<VideoStreamCandidate[]>;