import { defineStore } from 'pinia' import { toast } from '../utils/toast.js' import { ref } from 'vue' import { useApi } from '../composables/useApi.js' // Import SETTINGS only. The manual-scan trigger + task-list surfaces retired // with the Import tab (2026-07-02): imports arrive via downloads/extension and // heal themselves (Layer-2 auto-refetch sweep); their runs show in Activity. // The /api/import/trigger + /tasks endpoints remain for direct/API use. // Consumers: ImportFiltersForm (Maintenance → Ingestion & filters) and the // Subscriptions Settings tab (downloader/extdl/schedule fields on the same // ImportSettings row). export const useImportStore = defineStore('import', () => { const api = useApi() const settings = ref(null) const settingsLoading = ref(false) const settingsError = ref(null) async function loadSettings() { settingsLoading.value = true settingsError.value = null try { settings.value = await api.get('/api/settings/import') } catch (e) { settingsError.value = e.message } finally { settingsLoading.value = false } } async function patchSettings(patch) { settingsError.value = null try { settings.value = await api.patch('/api/settings/import', { body: patch }) } catch (e) { settingsError.value = e.message toast({ text: `Settings save failed: ${e.message}`, type: 'error' }) throw e } } return { settings, settingsLoading, settingsError, loadSettings, patchSettings, } })