mirror of
https://github.com/Nezumi-2711/9router.git
synced 2026-09-22 20:00:47 +00:00
fix: update the logic for remove model in provider
This commit is contained in:
+17
-1
@@ -83,6 +83,11 @@ export {
|
||||
getDisabledModels, getDisabledByProvider, disableModels, enableModels,
|
||||
} from "./repos/disabledModelsRepo.js";
|
||||
|
||||
// Permanently deleted models
|
||||
export {
|
||||
getDeletedModels, isDeletedModel, isDeletedModelReference, deleteModelPermanently,
|
||||
} from "./repos/deletedModelsRepo.js";
|
||||
|
||||
// Usage
|
||||
export {
|
||||
statsEmitter, trackPendingRequest, getActiveRequests,
|
||||
@@ -93,6 +98,7 @@ export {
|
||||
// Request details
|
||||
export {
|
||||
saveRequestDetail, getRequestDetails, getRequestDetailById, getDistinctProviders,
|
||||
purgeRequestDetailBuffer,
|
||||
} from "./repos/requestDetailsRepo.js";
|
||||
|
||||
// Export/import full DB
|
||||
@@ -115,6 +121,7 @@ export async function exportDb() {
|
||||
mitmAlias: {},
|
||||
pricing: {},
|
||||
disabledModels: {},
|
||||
deletedModels: {},
|
||||
};
|
||||
|
||||
for (const r of db.all(`SELECT key, value FROM kv WHERE scope = 'modelAliases'`)) out.modelAliases[r.key] = parseJson(r.value);
|
||||
@@ -122,6 +129,7 @@ export async function exportDb() {
|
||||
for (const r of db.all(`SELECT key, value FROM kv WHERE scope = 'mitmAlias'`)) out.mitmAlias[r.key] = parseJson(r.value);
|
||||
for (const r of db.all(`SELECT key, value FROM kv WHERE scope = 'pricing'`)) out.pricing[r.key] = parseJson(r.value);
|
||||
for (const r of db.all(`SELECT key, value FROM kv WHERE scope = 'disabledModels'`)) out.disabledModels[r.key] = parseJson(r.value, []);
|
||||
for (const r of db.all(`SELECT key, value FROM kv WHERE scope = 'deletedModels'`)) out.deletedModels[r.key] = parseJson(r.value, []);
|
||||
|
||||
return out;
|
||||
}
|
||||
@@ -154,7 +162,7 @@ export async function importDb(payload) {
|
||||
db.run(`DELETE FROM proxyPools`);
|
||||
db.run(`DELETE FROM apiKeys`);
|
||||
db.run(`DELETE FROM combos`);
|
||||
db.run(`DELETE FROM kv WHERE scope IN ('modelAliases', 'customModels', 'mitmAlias', 'pricing', 'disabledModels')`);
|
||||
db.run(`DELETE FROM kv WHERE scope IN ('modelAliases', 'customModels', 'mitmAlias', 'pricing', 'disabledModels', 'deletedModels')`);
|
||||
|
||||
// Settings
|
||||
if (payload.settings) {
|
||||
@@ -261,6 +269,14 @@ export async function importDb(payload) {
|
||||
db.run(`INSERT OR REPLACE INTO kv(scope, key, value) VALUES('disabledModels', ?, ?)`, [providerAlias, stringifyJson([...new Set(validModelIds)])]);
|
||||
}
|
||||
}
|
||||
for (const [providerAlias, modelIds] of Object.entries(payload.deletedModels || {})) {
|
||||
const validModelIds = Array.isArray(modelIds)
|
||||
? modelIds.filter((modelId) => typeof modelId === "string" && modelId)
|
||||
: [];
|
||||
if (providerAlias && validModelIds.length > 0) {
|
||||
db.run(`INSERT OR REPLACE INTO kv(scope, key, value) VALUES('deletedModels', ?, ?)`, [providerAlias, stringifyJson([...new Set(validModelIds)])]);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return await exportDb();
|
||||
|
||||
Reference in New Issue
Block a user