delta-sync
Version:
A lightweight framework for bi-directional database synchronization with automatic version tracking and conflict resolution.
33 lines (32 loc) • 1.15 kB
TypeScript
import { DatabaseAdapter, BaseModel, Attachment, FileItem } from '../core/types';
interface RestAdapterOptions {
baseUrl: string;
apiKey?: string;
headers?: Record<string, string>;
}
export declare class RestAdapter implements DatabaseAdapter {
private baseUrl;
private headers;
constructor(options: RestAdapterOptions);
initSync(): Promise<void>;
isAvailable(): Promise<boolean>;
read<T extends BaseModel>(storeName: string, options?: {
limit?: number;
offset?: number;
since?: number;
}): Promise<{
items: T[];
hasMore: boolean;
}>;
readBulk<T extends BaseModel>(storeName: string, ids: string[]): Promise<T[]>;
putBulk<T extends BaseModel>(storeName: string, items: T[]): Promise<T[]>;
deleteBulk(storeName: string, ids: string[]): Promise<void>;
readFiles(fileIds: string[]): Promise<Map<string, Blob | ArrayBuffer | null>>;
saveFiles(files: FileItem[]): Promise<Attachment[]>;
count(storeName: string): Promise<number>;
deleteFiles(fileIds: string[]): Promise<{
deleted: string[];
failed: string[];
}>;
}
export {};