// ====== Shared enum constants + TS types (UPPERCASE) ======

// Library.type
export const LIBRARY_TYPES = ["MOVIE", "SERIES"] as const;
export type LibraryType = (typeof LIBRARY_TYPES)[number];

// Series.status
export const SERIES_STATUS = [
	"RETURNING",
	"ENDED",
	"CANCELED",
	"PLANNED",
] as const;
export type SeriesStatus = (typeof SERIES_STATUS)[number];

// media_items.parentType (file milik MOVIE atau EPISODE)
export const MEDIA_PARENT_TYPES = ["MOVIE", "EPISODE"] as const;
export type MediaParentType = (typeof MEDIA_PARENT_TYPES)[number];

// media_streams.codecType (jenis stream ffprobe)
export const STREAM_CODEC_TYPES = [
	"VIDEO",
	"AUDIO",
	"SUBTITLE",
	"DATA",
	"ATTACHMENT",
] as const;
export type StreamCodecType = (typeof STREAM_CODEC_TYPES)[number];

// people roles (cast or crew)
export const PEOPLE_ROLE_TYPES = ["CAST", "CREW"] as const;
export type PeopleRoleType = (typeof PEOPLE_ROLE_TYPES)[number];

// metadata provider types (external services for metadata)
export const METADATA_PROVIDER_TYPES = [
	"TMDB", // The Movie Database
	"IMDB", // Internet Movie Database
	"OMDB", // Open Movie Database
	"TVDB", // The TV Database
	"TRAKT", // Trakt
] as const;
export type MetadataProviderType = (typeof METADATA_PROVIDER_TYPES)[number];
