import { SyncManager } from '@/lib/sync-manager'; import type { Category } from '@/types/category'; import type { UUID } from '@/types/uuid'; class CategorySyncService { private syncManager: SyncManager; constructor() { this.syncManager = new SyncManager({ storeName: 'categories', endpoint: '/api/sync/categories', }); } 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 categorySyncService = new CategorySyncService();