mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-07-26 09:52:11 +03:00
fix: clear synced provider models on delete all
Ensure provider-level delete all removes synced available model lists so imported models do not reappear after clearing managed models. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -4,6 +4,7 @@ import {
|
||||
addCustomModel,
|
||||
removeCustomModel,
|
||||
replaceCustomModels,
|
||||
deleteSyncedAvailableModelsForProvider,
|
||||
updateCustomModel,
|
||||
getModelCompatOverrides,
|
||||
mergeModelCompatOverride,
|
||||
@@ -369,9 +370,12 @@ export async function DELETE(request) {
|
||||
const all = searchParams.get("all");
|
||||
if (all === "true") {
|
||||
await replaceCustomModels(provider, [], { allowEmpty: true });
|
||||
const syncedAvailableModelListsRemoved =
|
||||
await deleteSyncedAvailableModelsForProvider(provider);
|
||||
const removedAliases = await deleteManagedAvailableModelAliasesForProvider(provider);
|
||||
return Response.json({
|
||||
cleared: true,
|
||||
syncedAvailableModelListsRemoved,
|
||||
aliasChanges: { removed: removedAliases, assigned: [] },
|
||||
});
|
||||
}
|
||||
|
||||
@@ -707,6 +707,22 @@ export async function deleteSyncedAvailableModelsForConnection(
|
||||
return getSyncedAvailableModels(providerId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete all synced models for every connection belonging to a provider.
|
||||
* Returns the number of connection-scoped synced model lists removed.
|
||||
*/
|
||||
export async function deleteSyncedAvailableModelsForProvider(providerId: string): Promise<number> {
|
||||
const db = getDbInstance();
|
||||
const keyPrefix = `${providerId}:`;
|
||||
const result = db
|
||||
.prepare(
|
||||
"DELETE FROM key_value WHERE namespace = 'syncedAvailableModels' AND substr(key, 1, ?) = ?"
|
||||
)
|
||||
.run(keyPrefix.length, keyPrefix);
|
||||
backupDbFile("pre-write");
|
||||
return Number(result.changes || 0);
|
||||
}
|
||||
|
||||
export async function updateCustomModel(
|
||||
providerId: string,
|
||||
modelId: string,
|
||||
|
||||
@@ -65,6 +65,7 @@ export {
|
||||
getAllSyncedAvailableModels,
|
||||
replaceSyncedAvailableModelsForConnection,
|
||||
deleteSyncedAvailableModelsForConnection,
|
||||
deleteSyncedAvailableModelsForProvider,
|
||||
} from "./db/models";
|
||||
|
||||
export type { ModelCompatPerProtocol, ModelCompatPatch, SyncedAvailableModel } from "./db/models";
|
||||
|
||||
Reference in New Issue
Block a user