Files
kite/frontend/src/stores/settings.js
T
2026-05-22 08:53:28 +02:00

39 lines
922 B
JavaScript

import { defineStore } from 'pinia'
import { ref } from 'vue'
import * as api from '../api/client.js'
export const useSettingsStore = defineStore('settings', () => {
const settings = ref(null)
const loading = ref(false)
const error = ref(null)
async function fetchSettings() {
loading.value = true
error.value = null
try {
settings.value = await api.getSettings()
} catch (e) {
error.value = e.message
} finally {
loading.value = false
}
}
async function save(patch) {
const updated = await api.patchSettings(patch)
settings.value = updated
return updated
}
async function testConnection(provider) {
return api.testProvider(provider)
}
async function resetPrompt() {
const data = await api.getDefaultPrompt()
return data.system_prompt
}
return { settings, loading, error, fetchSettings, save, testConnection, resetPrompt }
})