import { SyncManager } from '@/lib/sync-manager'; import type { Account } from '@/types/account'; import type { UUID } from '@/types/uuid'; class AccountSyncService { private syncManager: SyncManager; constructor() { this.syncManager = new SyncManager({ storeName: 'accounts', endpoint: '/api/sync/accounts', }); } async sync() { return await this.syncManager.sync(); } async getAll(): Promise { return await this.syncManager.getAll(); } async getById(id: UUID): Promise { return await this.syncManager.getById(id); } async create(data: Omit): Promise { return await this.syncManager.createLocal( data as Omit, ); } async update(id: UUID, data: Partial): Promise { await this.syncManager.updateLocal(id, data); } async delete(id: UUID): Promise { await this.syncManager.deleteLocal(id); } async getLastSyncTime(): Promise { return await this.syncManager.getLastSyncTime(); } isSyncing(): boolean { return this.syncManager.isSyncing(); } } export const accountSyncService = new AccountSyncService();