Files
Prowlarr-Prowlarr/frontend/src/Indexer/Indexer.ts
2024-06-28 05:43:09 +03:00

69 lines
1.5 KiB
TypeScript

import ModelBase from 'App/ModelBase';
export interface IndexerStatus extends ModelBase {
disabledTill: Date;
initialFailure: Date;
mostRecentFailure: Date;
}
export interface IndexerCategory extends ModelBase {
id: number;
name: string;
subCategories: IndexerCategory[];
}
export interface IndexerCapabilities extends ModelBase {
limitsMax: number;
limitsDefault: number;
supportsRawSearch: boolean;
searchParams: string[];
tvSearchParams: string[];
movieSearchParams: string[];
musicSearchParams: string[];
bookSearchParams: string[];
categories: IndexerCategory[];
}
export type IndexerPrivacy = 'public' | 'semiPrivate' | 'private';
export interface IndexerField extends ModelBase {
order: number;
name: string;
label: string;
advanced: boolean;
type: string;
value: string;
privacy: string;
}
interface Indexer extends ModelBase {
name: string;
description: string;
encoding: string;
language: string;
added: Date;
enable: boolean;
redirect: boolean;
supportsRss: boolean;
supportsSearch: boolean;
supportsRedirect: boolean;
supportsPagination: boolean;
protocol: string;
privacy: IndexerPrivacy;
priority: number;
fields: IndexerField[];
tags: number[];
sortName: string;
status: IndexerStatus;
capabilities: IndexerCapabilities;
indexerUrls: string[];
legacyUrls: string[];
appProfileId: number;
implementationName: string;
implementation: string;
configContract: string;
infoLink: string;
}
export default Indexer;