standardize error handling across all stores

This commit is contained in:
2026-02-20 14:46:56 +02:00
parent db603577eb
commit 5cee94c893
8 changed files with 463 additions and 30 deletions

View File

@@ -1,6 +1,7 @@
import { defineStore } from 'pinia'
import { ref } from 'vue'
import { invoke } from '@tauri-apps/api/core'
import { handleInvokeError } from '../utils/errorHandler'
export interface Favorite {
id?: number
@@ -17,7 +18,7 @@ export const useFavoritesStore = defineStore('favorites', () => {
try {
favorites.value = await invoke<Favorite[]>('get_favorites')
} catch (error) {
console.error('Failed to fetch favorites:', error)
handleInvokeError(error, 'Failed to fetch favorites', () => fetchFavorites())
}
}
@@ -27,7 +28,7 @@ export const useFavoritesStore = defineStore('favorites', () => {
favorites.value.push({ ...fav, id: Number(id) })
return Number(id)
} catch (error) {
console.error('Failed to create favorite:', error)
handleInvokeError(error, 'Failed to create favorite')
return null
}
}
@@ -38,7 +39,7 @@ export const useFavoritesStore = defineStore('favorites', () => {
favorites.value = favorites.value.filter(f => f.id !== id)
return true
} catch (error) {
console.error('Failed to delete favorite:', error)
handleInvokeError(error, 'Failed to delete favorite')
return false
}
}
@@ -48,7 +49,7 @@ export const useFavoritesStore = defineStore('favorites', () => {
await invoke('reorder_favorites', { ids })
return true
} catch (error) {
console.error('Failed to reorder favorites:', error)
handleInvokeError(error, 'Failed to reorder favorites')
return false
}
}