| import { defineStore } from 'pinia' | |
| import { accountApi, type Account } from '../services/accountApi' | |
| export const useAccountStore = defineStore('server', { | |
| state: () => ({ | |
| accounts: [] as Account[], | |
| initialized: false | |
| }), | |
| actions: { | |
| async fetchAccounts(force = false) { | |
| if (!force && this.initialized) return; | |
| try { | |
| const data = await accountApi.get(); | |
| this.accounts = Array.isArray(data) ? data : []; | |
| this.initialized = true; | |
| } catch (error) { | |
| console.error('Failed to fetch accounts:', error); | |
| this.accounts = []; | |
| } | |
| }, | |
| updateAccounts(newAccounts: Account[]) { | |
| this.accounts = Array.isArray(newAccounts) ? newAccounts : []; | |
| } | |
| } | |
| }) | |