bazarr/frontend/src/@types/settings.d.ts

212 lines
4.8 KiB
TypeScript

interface Settings {
general: Settings.General;
proxy: Settings.Proxy;
auth: Settings.Auth;
subsync: Settings.Subsync;
analytics: Settings.Analytic;
sonarr: Settings.Sonarr;
radarr: Settings.Radarr;
// Anitcaptcha
anticaptcha: Settings.Anticaptcha;
deathbycaptcha: Settings.DeathByCaptche;
// Providers
opensubtitles: Settings.OpenSubtitles;
opensubtitlescom: Settings.OpenSubtitlesCom;
addic7ed: Settings.Addic7ed;
legendasdivx: Settings.Legandasdivx;
legendastv: Settings.Legendastv;
xsubs: Settings.XSubs;
assrt: Settings.Assrt;
napisy24: Settings.Napisy24;
subscene: Settings.Subscene;
betaseries: Settings.Betaseries;
titlovi: Settings.Titlovi;
ktuvit: Settings.Ktuvit;
notifications: Settings.Notifications;
}
declare namespace Settings {
interface General {
adaptive_searching: boolean;
adaptive_searching_delay: string;
adaptive_searching_delta: string;
anti_captcha_provider?: string;
auto_update: boolean;
base_url?: string;
branch: string;
chmod?: string;
chmod_enabled: boolean;
days_to_upgrade_subs: number;
debug: boolean;
dont_notify_manual_actions: boolean;
embedded_subs_show_desired: boolean;
enabled_providers: string[];
ignore_pgs_subs: boolean;
ignore_vobsub_subs: boolean;
ip: string;
multithreading: boolean;
minimum_score: number;
minimum_score_movie: number;
movie_default_enabled: boolean;
movie_default_profile?: number;
serie_default_enabled: boolean;
serie_default_profile?: number;
path_mappings: [string, string][];
path_mappings_movie: [string, string][];
port: number;
upgrade_subs: boolean;
postprocessing_cmd?: string;
postprocessing_threshold: number;
postprocessing_threshold_movie: number;
single_language: boolean;
subfolder: string;
subfolder_custom?: string;
subzero_mods?: string[];
subzero_color_selection?: string;
update_restart: boolean;
upgrade_frequency: number;
upgrade_manual: boolean;
use_embedded_subs: boolean;
use_postprocessing: boolean;
use_postprocessing_threshold: boolean;
use_postprocessing_threshold_movie: boolean;
use_radarr: boolean;
use_scenename: boolean;
use_sonarr: boolean;
utf8_encode: boolean;
wanted_search_frequency: number;
wanted_search_frequency_movie: number;
}
interface Proxy {
exclude: string[];
type?: string;
url?: string;
port?: number;
username?: string;
password?: string;
}
interface Auth {
type?: string;
username?: string;
password?: string;
apikey: string;
}
interface Subsync {
use_subsync: boolean;
use_subsync_threshold: boolean;
subsync_threshold: number;
use_subsync_movie_threshold: boolean;
subsync_movie_threshold: number;
debug: boolean;
}
interface Analytic {
enabled: boolean;
}
interface Notifications {
providers: NotificationInfo[];
}
interface NotificationInfo {
enabled: boolean;
name: string;
url: string | null;
}
// Sonarr / Radarr
type FullUpdateOptions = "Manually" | "Daily" | "Weekly";
interface Sonarr {
ip: string;
port: number;
base_url?: string;
ssl: boolean;
apikey?: string;
full_update: FullUpdateOptions;
full_update_day: number;
full_update_hour: number;
only_monitored: boolean;
series_sync: number;
episodes_sync: number;
excluded_tags: string[];
excluded_series_types: SonarrSeriesType[];
}
interface Radarr {
ip: string;
port: number;
base_url?: string;
ssl: boolean;
apikey?: string;
full_update: FullUpdateOptions;
full_update_day: number;
full_update_hour: number;
only_monitored: boolean;
movies_sync: number;
excluded_tags: string[];
}
interface Anticaptcha {
anti_captcha_key?: string;
}
interface DeathByCaptche {
username?: string;
password?: string;
}
// Providers
interface BaseProvider {
username?: string;
password?: string;
}
interface OpenSubtitles extends BaseProvider {
use_tag_search: boolean;
vip: boolean;
ssl: boolean;
timeout: number;
skip_wrong_fps: boolean;
}
interface OpenSubtitlesCom extends BaseProvider {
use_hash: boolean;
}
interface Addic7ed extends BaseProvider {}
interface Legandasdivx extends BaseProvider {
skip_wrong_fps: boolean;
}
interface Legendastv extends BaseProvider {
featured_only: boolean;
}
interface XSubs extends BaseProvider {}
interface Napisy24 extends BaseProvider {}
interface Subscene extends BaseProvider {}
interface Titlovi extends BaseProvider {}
interface Ktuvit {
email?: string;
hashed_password?: string;
}
interface Betaseries {
token?: string;
}
interface Assrt {
token?: string;
}
}