- Add permission checks for music/book in MediaRequest.request() - Add quota checks for music/book types - Add externalServiceId and externalServiceTitle columns to Media entity - Add foreignId/foreignTitle to MediaRequestBody interface - Add requestMusicOrBook() method for simplified music/book requests - Make TMDB lookup conditional (skip for music/book) - Update request route filtering for music/book types - Handle duplicate detection for foreign ID based media
33 lines
875 B
TypeScript
33 lines
875 B
TypeScript
import type { MediaType } from '@server/constants/media';
|
|
import type { MediaRequest } from '@server/entity/MediaRequest';
|
|
import type { NonFunctionProperties, PaginatedResponse } from './common';
|
|
|
|
export interface RequestResultsResponse extends PaginatedResponse {
|
|
results: (NonFunctionProperties<MediaRequest> & {
|
|
profileName?: string;
|
|
canRemove?: boolean;
|
|
})[];
|
|
serviceErrors: {
|
|
radarr: { id: number; name: string }[];
|
|
sonarr: { id: number; name: string }[];
|
|
};
|
|
}
|
|
|
|
export type MediaRequestBody = {
|
|
mediaType: MediaType;
|
|
mediaId: number;
|
|
tvdbId?: number;
|
|
seasons?: number[] | 'all';
|
|
is4k?: boolean;
|
|
serverId?: number;
|
|
profileId?: number;
|
|
profileName?: string;
|
|
rootFolder?: string;
|
|
languageProfileId?: number;
|
|
userId?: number;
|
|
tags?: number[];
|
|
// Music/Book specific fields
|
|
foreignId?: string;
|
|
foreignTitle?: string;
|
|
};
|