Widen all movie|tv type unions to include music|book across frontend and server

This commit is contained in:
root
2026-04-04 11:50:28 -05:00
parent d8404496b8
commit 6005422cea
14 changed files with 15 additions and 15 deletions

View File

@@ -5,7 +5,7 @@ import { getSettings, MetadataProviderType } from '@server/lib/settings';
import logger from '@server/logger'; import logger from '@server/logger';
export const getMetadataProvider = async ( export const getMetadataProvider = async (
mediaType: 'movie' | 'tv' | 'anime' mediaType: 'movie' | 'tv' | 'anime' | 'music' | 'book'
): Promise<TvShowProvider> => { ): Promise<TvShowProvider> => {
try { try {
const settings = await getSettings(); const settings = await getSettings();

View File

@@ -12,7 +12,7 @@ import { useIntl } from 'react-intl';
interface BlocklistModalProps { interface BlocklistModalProps {
tmdbId: number; tmdbId: number;
type: 'movie' | 'tv' | 'collection'; type: 'movie' | 'tv' | 'music' | 'book' | 'collection';
show: boolean; show: boolean;
onComplete?: () => void; onComplete?: () => void;
onCancel?: () => void; onCancel?: () => void;

View File

@@ -50,7 +50,7 @@ const messages = defineMessages('components.Discover.FilterSlideover', {
type FilterSlideoverProps = { type FilterSlideoverProps = {
show: boolean; show: boolean;
onClose: () => void; onClose: () => void;
type: 'movie' | 'tv'; type: 'movie' | 'tv' | 'music' | 'book';
currentFilters: FilterOptions; currentFilters: FilterOptions;
}; };

View File

@@ -48,7 +48,7 @@ const classNames = (...classes: string[]) => {
}; };
interface CreateIssueModalProps { interface CreateIssueModalProps {
mediaType: 'movie' | 'tv'; mediaType: 'movie' | 'tv' | 'music' | 'book';
tmdbId?: number; tmdbId?: number;
onCancel?: () => void; onCancel?: () => void;
} }

View File

@@ -4,7 +4,7 @@ import { Transition } from '@headlessui/react';
interface IssueModalProps { interface IssueModalProps {
show?: boolean; show?: boolean;
onCancel: () => void; onCancel: () => void;
mediaType: 'movie' | 'tv'; mediaType: 'movie' | 'tv' | 'music' | 'book';
tmdbId: number; tmdbId: number;
issueId?: never; issueId?: never;
} }

View File

@@ -82,7 +82,7 @@ const isMovie = (movie: MovieDetails | TvDetails): movie is MovieDetails => {
}; };
interface ManageSlideOverProps { interface ManageSlideOverProps {
// mediaType: 'movie' | 'tv'; // mediaType: 'movie' | 'tv' | 'music' | 'book';
show?: boolean; show?: boolean;
onClose: () => void; onClose: () => void;
revalidate: () => void; revalidate: () => void;

View File

@@ -14,7 +14,7 @@ const messages = defineMessages('components.QuotaSelector', {
}); });
interface QuotaSelectorProps { interface QuotaSelectorProps {
mediaType: 'movie' | 'tv'; mediaType: 'movie' | 'tv' | 'music' | 'book';
defaultDays?: number; defaultDays?: number;
defaultLimit?: number; defaultLimit?: number;
dayOverride?: number; dayOverride?: number;

View File

@@ -45,7 +45,7 @@ interface ButtonOption {
} }
interface RequestButtonProps { interface RequestButtonProps {
mediaType: 'movie' | 'tv'; mediaType: 'movie' | 'tv' | 'music' | 'book';
onUpdate: () => void; onUpdate: () => void;
tmdbId: number; tmdbId: number;
media?: Media; media?: Media;

View File

@@ -50,7 +50,7 @@ export type RequestOverrides = {
}; };
interface AdvancedRequesterProps { interface AdvancedRequesterProps {
type: 'movie' | 'tv'; type: 'movie' | 'tv' | 'music' | 'book';
is4k: boolean; is4k: boolean;
isAnime?: boolean; isAnime?: boolean;
defaultOverrides?: RequestOverrides; defaultOverrides?: RequestOverrides;

View File

@@ -30,7 +30,7 @@ const messages = defineMessages('components.RequestModal.QuotaDisplay', {
interface QuotaDisplayProps { interface QuotaDisplayProps {
quota?: QuotaStatus; quota?: QuotaStatus;
mediaType: 'movie' | 'tv'; mediaType: 'movie' | 'tv' | 'music' | 'book';
userOverride?: number | null; userOverride?: number | null;
remaining?: number; remaining?: number;
overLimit?: number; overLimit?: number;

View File

@@ -8,7 +8,7 @@ import type { NonFunctionProperties } from '@server/interfaces/api/common';
interface RequestModalProps { interface RequestModalProps {
show: boolean; show: boolean;
type: 'movie' | 'tv' | 'collection'; type: 'movie' | 'tv' | 'music' | 'book' | 'collection';
tmdbId: number; tmdbId: number;
is4k?: boolean; is4k?: boolean;
editRequest?: NonFunctionProperties<MediaRequest>; editRequest?: NonFunctionProperties<MediaRequest>;

View File

@@ -144,7 +144,7 @@ export const CompanySelector = ({
}; };
type GenreSelectorProps = (BaseSelectorMultiProps | BaseSelectorSingleProps) & { type GenreSelectorProps = (BaseSelectorMultiProps | BaseSelectorSingleProps) & {
type: 'movie' | 'tv'; type: 'movie' | 'tv' | 'music' | 'book';
}; };
export const GenreSelector = ({ export const GenreSelector = ({
@@ -369,7 +369,7 @@ export const KeywordSelector = ({
}; };
type WatchProviderSelectorProps = { type WatchProviderSelectorProps = {
type: 'movie' | 'tv'; type: 'movie' | 'tv' | 'music' | 'book';
region?: string; region?: string;
activeProviders?: number[]; activeProviders?: number[];
onChange: (region: string, value: number[]) => void; onChange: (region: string, value: number[]) => void;

View File

@@ -10,7 +10,7 @@ interface ErrorCardProps {
id: number; id: number;
tmdbId: number; tmdbId: number;
tvdbId?: number; tvdbId?: number;
type: 'movie' | 'tv'; type: 'movie' | 'tv' | 'music' | 'book';
canExpand?: boolean; canExpand?: boolean;
} }

View File

@@ -9,7 +9,7 @@ export interface TmdbTitleCardProps {
id: number; id: number;
tmdbId: number; tmdbId: number;
tvdbId?: number; tvdbId?: number;
type: 'movie' | 'tv'; type: 'movie' | 'tv' | 'music' | 'book';
canExpand?: boolean; canExpand?: boolean;
isAddedToWatchlist?: boolean; isAddedToWatchlist?: boolean;
mutateParent?: () => void; mutateParent?: () => void;