feat: add torznab feed support (#246)

* feat(torznab): initial impl

* feat: torznab processing

* feat: torznab more scheduling

* feat: feeds web

* feat(feeds): create on indexer create

* feat(feeds): update migration

* feat(feeds): restart on update

* feat(feeds): set cron schedule

* feat(feeds): use basic empty state

* chore: remove duplicate migrations

* feat: parse release size from torznab

* chore: cleanup unused code
This commit is contained in:
Ludvig Lundgren 2022-04-25 12:58:54 +02:00 committed by GitHub
parent d4d864cd2c
commit bb62e724a1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
34 changed files with 2408 additions and 361 deletions

23
web/src/types/Feed.d.ts vendored Normal file
View file

@ -0,0 +1,23 @@
interface Feed {
id: number;
indexer: string;
name: string;
type: string;
enabled: boolean;
url: string;
interval: number;
api_key: string;
created_at: Date;
updated_at: Date;
}
interface FeedCreate {
indexer: string;
name: string;
type: string;
enabled: boolean;
url: string;
interval: number;
api_key: string;
indexer_id: number;
}

View file

@ -3,7 +3,7 @@ interface Indexer {
name: string;
identifier: string;
enabled: boolean;
type?: string;
implementation: string;
settings: Array<IndexerSetting>;
}
@ -11,6 +11,7 @@ interface IndexerDefinition {
id?: number;
name: string;
identifier: string;
implementation: string;
enabled?: boolean;
description: string;
language: string;
@ -20,6 +21,7 @@ interface IndexerDefinition {
supports: string[];
settings: IndexerSetting[];
irc: IndexerIRC;
torznab: IndexerTorznab;
parse: IndexerParse;
}
@ -46,6 +48,11 @@ interface IndexerIRC {
settings: IndexerSetting[];
}
interface IndexerTorznab {
minInterval: number;
settings: IndexerSetting[];
}
interface IndexerParse {
type: string;
lines: IndexerParseLines[];