forked from Inrixia/Floatplane-Downloader
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.ts
More file actions
90 lines (78 loc) · 1.8 KB
/
Copy pathtypes.ts
File metadata and controls
90 lines (78 loc) · 1.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
export type Resolutions = ["360", "720", "1080", "2160"];
import type { ValueOfA } from "@inrixia/helpers";
export type ChannelOptions = {
title: string;
skip: boolean;
isChannel: string;
daysToKeepVideos?: number;
};
export type Channels = ChannelOptions[];
export type PlexSections = Array<{ server: string; section: string }>;
export type PlexSettings = {
sectionsToUpdate: PlexSections;
enabled: boolean;
token: string;
};
export type SubscriptionSettings = {
creatorId: string;
plan: string;
skip: boolean;
channels: Channels;
};
export type Args = {
username: string;
password: string;
token: string;
headless: boolean;
plexUsername: string;
plexPassword: string;
sanityCheck: boolean;
dbPath: string;
ffmpegPath: string;
settingsPath: string;
};
export type PartialArgs = Partial<Args & Settings>;
export interface Extras extends Record<string, boolean> {
stripSubchannelPrefix: boolean;
downloadArtwork: boolean;
saveNfo: boolean;
considerAllNonPartialDownloaded: boolean;
}
export type Resolution = ValueOfA<Resolutions>;
export type Notification = {
telegram?: {
token: string;
chatId: string;
enabled: boolean;
};
discord?: {
enabled: boolean;
webhookUrl: string;
};
};
export type Settings = {
__SettingsWiki: string;
runQuickstartPrompts: boolean;
floatplane: {
videoResolution: Resolution;
videosToSearch: number;
waitForNewVideos: boolean;
trackVideoIDs: boolean;
seekAndDestroy: string[];
};
maxDownloadSpeed: number;
filePathFormatting: string;
plex: PlexSettings;
extras: Extras;
artworkSuffix: string;
postProcessingCommand: string;
subscriptions: {
[key: string]: SubscriptionSettings;
};
metrics: {
prometheusExporterPort: number | null;
contributeMetrics: boolean;
};
notifications: Notification;
};
export const PROMPT_CONFIRM = "confirm";