feat: admin config subscription

This commit is contained in:
shinya
2025-08-13 22:07:28 +08:00
parent f580f8d205
commit 82c86fc6a0
14 changed files with 227 additions and 259 deletions
-17
View File
@@ -1,17 +0,0 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
'use client';
export async function getCustomCategories(): Promise<{
name: string;
type: 'movie' | 'tv';
query: string;
}[]> {
const res = await fetch('/api/config/custom_category');
const data = await res.json();
return data.filter((item: any) => !item.disabled).map((category: any) => ({
name: category.name || '',
type: category.type,
query: category.query,
}));
}
+3 -4
View File
@@ -149,7 +149,7 @@ async function getInitConfig(configFile: string, subConfig: {
} catch (e) {
cfgFile = {} as ConfigFileStruct;
}
let adminConfig: AdminConfig = {
const adminConfig: AdminConfig = {
ConfigFile: configFile,
ConfigSubscribtion: subConfig,
SiteConfig: {
@@ -253,15 +253,14 @@ export async function resetConfig() {
originConfig = await (storage as any).getAdminConfig();
} else {
originConfig = {} as AdminConfig;
const adminConfig = await getInitConfig(originConfig.ConfigFile, originConfig.ConfigSubscribtion);
}
const adminConfig = await getInitConfig(originConfig.ConfigFile, originConfig.ConfigSubscribtion);
cachedConfig = adminConfig;
if (storage && typeof (storage as any).setAdminConfig === 'function') {
await (storage as any).setAdminConfig(adminConfig);
}
return;
}
}
export async function getCacheTime(): Promise<number> {