chore(presets): add CATEGORY field to presets for better categorization

This commit is contained in:
Viren070
2025-11-17 15:24:24 +00:00
parent 1b4835d25a
commit b4da2afa46
28 changed files with 76 additions and 5 deletions
+1
View File
@@ -933,6 +933,7 @@ const PresetMinimalMetadataSchema = z.object({
SUPPORTED_SERVICES: z.array(z.string()),
OPTIONS: z.array(OptionDefinition),
BUILTIN: z.boolean().optional(),
CATEGORY: z.enum(constants.PRESET_CATEGORIES).optional(),
});
const PresetMetadataSchema = PresetMinimalMetadataSchema.extend({
+1
View File
@@ -176,6 +176,7 @@ export class AICompanionPreset extends Preset {
OPTIONS: options,
SUPPORTED_STREAM_TYPES: [],
SUPPORTED_RESOURCES: supportedResources,
CATEGORY: constants.PresetCategory.META_CATALOGS,
};
}
+1
View File
@@ -202,6 +202,7 @@ export class AISearchPreset extends Preset {
OPTIONS: options,
SUPPORTED_STREAM_TYPES: [],
SUPPORTED_RESOURCES: supportedResources,
CATEGORY: constants.PresetCategory.META_CATALOGS,
};
}
+1
View File
@@ -154,6 +154,7 @@ export class AIOStreamsPreset extends Preset {
OPTIONS: options,
SUPPORTED_STREAM_TYPES: [],
SUPPORTED_RESOURCES: [],
CATEGORY: constants.PresetCategory.MISC,
};
}
+7 -1
View File
@@ -1,6 +1,11 @@
import { Addon, Option, UserData } from '../db/index.js';
import { Preset, baseOptions } from './preset.js';
import { Env, RESOURCES, SUBTITLES_RESOURCE } from '../utils/index.js';
import {
Env,
RESOURCES,
SUBTITLES_RESOURCE,
constants,
} from '../utils/index.js';
export class AIOSubtitlePreset extends Preset {
static override get METADATA() {
@@ -386,6 +391,7 @@ export class AIOSubtitlePreset extends Preset {
OPTIONS: options,
SUPPORTED_STREAM_TYPES: [],
SUPPORTED_RESOURCES: supportedResources,
CATEGORY: constants.PresetCategory.SUBTITLES,
};
}
@@ -239,6 +239,7 @@ export class AnimeCatalogsPreset extends Preset {
OPTIONS: options,
SUPPORTED_STREAM_TYPES: [],
SUPPORTED_RESOURCES: supportedResources,
CATEGORY: constants.PresetCategory.META_CATALOGS,
};
}
+1
View File
@@ -41,6 +41,7 @@ export class AnimeKitsuPreset extends Preset {
OPTIONS: options,
SUPPORTED_STREAM_TYPES: [],
SUPPORTED_RESOURCES: supportedResources,
CATEGORY: constants.PresetCategory.META_CATALOGS,
};
}
@@ -69,6 +69,7 @@ export class ContentDeepDivePreset extends Preset {
OPTIONS: options,
SUPPORTED_STREAM_TYPES: [],
SUPPORTED_RESOURCES: supportedResources,
CATEGORY: constants.PresetCategory.MISC,
};
}
+1
View File
@@ -119,6 +119,7 @@ export class CustomPreset extends Preset {
OPTIONS: options,
SUPPORTED_STREAM_TYPES: [],
SUPPORTED_RESOURCES: [],
CATEGORY: constants.PresetCategory.MISC,
};
}
+1
View File
@@ -100,6 +100,7 @@ export class DcUniversePreset extends Preset {
OPTIONS: options,
SUPPORTED_STREAM_TYPES: [],
SUPPORTED_RESOURCES: supportedResources,
CATEGORY: constants.PresetCategory.META_CATALOGS,
};
}
@@ -249,6 +249,7 @@ export class DebridioTmdbPreset extends Preset {
OPTIONS: options,
SUPPORTED_STREAM_TYPES: [],
SUPPORTED_RESOURCES: supportedResources,
CATEGORY: constants.PresetCategory.META_CATALOGS,
};
}
@@ -37,6 +37,7 @@ export class DebridioTvdbPreset extends Preset {
OPTIONS: options,
SUPPORTED_STREAM_TYPES: [],
SUPPORTED_RESOURCES: supportedResources,
CATEGORY: constants.PresetCategory.META_CATALOGS,
};
}
@@ -57,6 +57,7 @@ export class DoctorWhoUniversePreset extends Preset {
OPTIONS: options,
SUPPORTED_STREAM_TYPES: [],
SUPPORTED_RESOURCES: supportedResources,
CATEGORY: constants.PresetCategory.STREAMS,
};
}
+1
View File
@@ -76,6 +76,7 @@ export class MarvelPreset extends Preset {
OPTIONS: options,
SUPPORTED_STREAM_TYPES: [],
SUPPORTED_RESOURCES: supportedResources,
CATEGORY: constants.PresetCategory.META_CATALOGS,
};
}
@@ -376,6 +376,7 @@ export class MoreLikeThisPreset extends Preset {
OPTIONS: options,
SUPPORTED_STREAM_TYPES: [],
SUPPORTED_RESOURCES: supportedResources,
CATEGORY: constants.PresetCategory.META_CATALOGS,
};
}
@@ -1,6 +1,11 @@
import { Addon, Option, UserData } from '../db/index.js';
import { Preset, baseOptions } from './preset.js';
import { Env, RESOURCES, SUBTITLES_RESOURCE } from '../utils/index.js';
import {
constants,
Env,
RESOURCES,
SUBTITLES_RESOURCE,
} from '../utils/index.js';
export class OpenSubtitlesV3PlusPreset extends Preset {
static override get METADATA() {
@@ -173,6 +178,7 @@ export class OpenSubtitlesV3PlusPreset extends Preset {
OPTIONS: options,
SUPPORTED_STREAM_TYPES: [],
SUPPORTED_RESOURCES: supportedResources,
CATEGORY: constants.PresetCategory.SUBTITLES,
};
}
+7 -1
View File
@@ -1,6 +1,11 @@
import { Addon, Option, UserData } from '../db/index.js';
import { Preset, baseOptions } from './preset.js';
import { Env, RESOURCES, SUBTITLES_RESOURCE } from '../utils/index.js';
import {
constants,
Env,
RESOURCES,
SUBTITLES_RESOURCE,
} from '../utils/index.js';
export class OpenSubtitlesPreset extends Preset {
static override get METADATA() {
@@ -26,6 +31,7 @@ export class OpenSubtitlesPreset extends Preset {
OPTIONS: options,
SUPPORTED_STREAM_TYPES: [],
SUPPORTED_RESOURCES: supportedResources,
CATEGORY: constants.PresetCategory.SUBTITLES,
};
}
@@ -148,6 +148,7 @@ export class PresetManager {
OPTIONS: metadata.OPTIONS,
BUILTIN: metadata.BUILTIN,
DISABLED: metadata.DISABLED,
CATEGORY: metadata.CATEGORY,
})
);
}
@@ -51,6 +51,7 @@ export class RpdbCatalogsPreset extends Preset {
OPTIONS: options,
SUPPORTED_STREAM_TYPES: [],
SUPPORTED_RESOURCES: supportedResources,
CATEGORY: constants.PresetCategory.META_CATALOGS,
};
}
@@ -104,6 +104,7 @@ export class StarWarsUniversePreset extends Preset {
OPTIONS: options,
SUPPORTED_STREAM_TYPES: [],
SUPPORTED_RESOURCES: supportedResources,
CATEGORY: constants.PresetCategory.META_CATALOGS,
};
}
@@ -166,6 +166,7 @@ export class StreamingCatalogsPreset extends Preset {
OPTIONS: options,
SUPPORTED_STREAM_TYPES: [],
SUPPORTED_RESOURCES: supportedResources,
CATEGORY: constants.PresetCategory.META_CATALOGS,
};
}
+7 -1
View File
@@ -1,6 +1,11 @@
import { Addon, Option, UserData } from '../db/index.js';
import { Preset, baseOptions } from './preset.js';
import { Env, RESOURCES, SUBTITLES_RESOURCE } from '../utils/index.js';
import {
constants,
Env,
RESOURCES,
SUBTITLES_RESOURCE,
} from '../utils/index.js';
export class SubDLPreset extends Preset {
static override get METADATA() {
@@ -138,6 +143,7 @@ export class SubDLPreset extends Preset {
OPTIONS: options,
SUPPORTED_STREAM_TYPES: [],
SUPPORTED_RESOURCES: supportedResources,
CATEGORY: constants.PresetCategory.SUBTITLES,
};
}
+2
View File
@@ -1,6 +1,7 @@
import { Addon, Option, UserData } from '../db/index.js';
import { Preset, baseOptions } from './preset.js';
import {
constants,
Env,
FULL_LANGUAGE_MAPPING,
SUBTITLES_RESOURCE,
@@ -116,6 +117,7 @@ export class SubHeroPreset extends Preset {
OPTIONS: options,
SUPPORTED_STREAM_TYPES: [],
SUPPORTED_RESOURCES: supportedResources,
CATEGORY: constants.PresetCategory.SUBTITLES,
};
}
+7 -1
View File
@@ -1,6 +1,11 @@
import { Addon, Option, UserData } from '../db/index.js';
import { Preset, baseOptions } from './preset.js';
import { Env, RESOURCES, SUBTITLES_RESOURCE } from '../utils/index.js';
import {
constants,
Env,
RESOURCES,
SUBTITLES_RESOURCE,
} from '../utils/index.js';
export class SubSourcePreset extends Preset {
static override get METADATA() {
@@ -200,6 +205,7 @@ export class SubSourcePreset extends Preset {
OPTIONS: options,
SUPPORTED_STREAM_TYPES: [],
SUPPORTED_RESOURCES: supportedResources,
CATEGORY: constants.PresetCategory.SUBTITLES,
};
}
+1
View File
@@ -279,6 +279,7 @@ export class TMDBAddonPreset extends Preset {
OPTIONS: options,
SUPPORTED_STREAM_TYPES: [],
SUPPORTED_RESOURCES: supportedResources,
CATEGORY: constants.PresetCategory.META_CATALOGS,
};
}
@@ -858,6 +858,7 @@ export class TmdbCollectionsPreset extends Preset {
OPTIONS: options,
SUPPORTED_STREAM_TYPES: [],
SUPPORTED_RESOURCES: supportedResources,
CATEGORY: constants.PresetCategory.META_CATALOGS,
};
}
@@ -28,6 +28,7 @@ export class TorrentCatalogsPreset extends Preset {
OPTIONS: options,
SUPPORTED_STREAM_TYPES: [],
SUPPORTED_RESOURCES: supportedResources,
CATEGORY: constants.PresetCategory.META_CATALOGS,
};
}
+18
View File
@@ -1110,6 +1110,24 @@ export const RESOURCE_LABELS: Record<Resource, string> = {
[ADDON_CATALOG_RESOURCE]: 'Addon Catalog',
};
// export const PRESET_CATEGORY_STREAMS = 'streams' as const;
// econst PRESET_CATEGORY_SUBTITLES = 'subtitles' as const;
// const PRESET_CATEGORY_META_CATALOGS = 'meta_catalogs' as const;
// const PRESET_CATEGORY_MISC = 'misc' as const;
export enum PresetCategory {
STREAMS = 'streams',
SUBTITLES = 'subtitles',
META_CATALOGS = 'meta_catalogs',
MISC = 'misc',
}
export const PRESET_CATEGORIES = [
PresetCategory.STREAMS,
PresetCategory.SUBTITLES,
PresetCategory.META_CATALOGS,
PresetCategory.MISC,
] as const;
const LANGUAGES = [
'English',
'Japanese',