import type { ExtensionManifest } from "@nontara/server";
import { TMDBMovieProvider } from "./providers/movie";
import { TMDBPersonProvider } from "./providers/person";
import { TMDBSeriesProvider } from "./providers/series";

export const tmdbManifest: ExtensionManifest = {
	name: "TMDBMetadataProvider",
	version: "1.0.0",
	description:
		"The Movie Database metadata provider for movies, series, and people",

	providers: [
		{
			type: "MOVIE",
			class: TMDBMovieProvider,
			name: "TMDBMovieProvider",
			description: "Provides movie metadata and credits from TMDB API",
			version: "1.0.0",
			enabled: true,
			config: {
				includeCredits: true,
				cacheEnabled: true,
				rateLimitPerSecond: 40,
			},
		},
		{
			type: "SERIES",
			class: TMDBSeriesProvider,
			name: "TMDBSeriesProvider",
			description: "Provides TV series metadata and credits from TMDB API",
			version: "1.0.0",
			enabled: true,
			config: {
				includeCredits: true,
				cacheEnabled: true,
				rateLimitPerSecond: 40,
			},
		},
		{
			type: "PERSON",
			class: TMDBPersonProvider,
			name: "TMDBPersonProvider",
			description: "Provides person/actor metadata from TMDB API",
			version: "1.0.0",
			enabled: true,
		},
	],

	metadata: {
		author: "Nontara Team",
		homepage: "https://nontara.dev",
		repository: "https://github.com/nontara/extensions",
		documentation: "https://docs.nontara.dev/extensions/tmdb",
	},
};
