feat: admin controls
This commit is contained in:
@@ -97,10 +97,13 @@ const submit = async () => {
|
||||
config.apiKey = uint8ArrayToBase64(await encryptData(cryptoKey, key));
|
||||
}
|
||||
|
||||
await $fetch(`/api/provider/${provider.id}`, {
|
||||
const saved = await $fetch(`/api/provider/${provider.id}`, {
|
||||
method: 'PATCH',
|
||||
body: { config, enabled: true },
|
||||
body: { config, enabled: true, expectedUpdatedAt: new Date(provider.updatedAt).toISOString() },
|
||||
});
|
||||
providers.value = providers.value.map(p => p.id === provider.id
|
||||
? { ...p, config, enabled: true, updatedAt: new Date(saved.updatedAt) }
|
||||
: p);
|
||||
} catch (err) {
|
||||
console.error('Failed to save provider:', err);
|
||||
error.value = 'The provider could not be saved. Try again.';
|
||||
@@ -146,6 +149,12 @@ const submit = async () => {
|
||||
? { ...p, config, enabled: true, models: models.map(m => ({ ...m, enabled: m.enabled || enabledIds.has(m.id) })) }
|
||||
: p);
|
||||
|
||||
if (!models.some(model => model.outputModalities.includes("text") && (model.enabled || enabledIds.has(model.id)))) {
|
||||
error.value = "The models were fetched, but none could be enabled. Try again.";
|
||||
busy.value = false;
|
||||
return;
|
||||
}
|
||||
|
||||
emit('done');
|
||||
};
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user