1
0
silverbullet/plug-api/silverbullet-syscall/sync.ts

46 lines
1.2 KiB
TypeScript
Raw Normal View History

2023-01-13 14:41:29 +00:00
import type { SyncStatusItem } from "../../common/spaces/sync.ts";
import { syscall } from "./syscall.ts";
export type SyncEndpoint = {
url: string;
user?: string;
password?: string;
2023-02-28 10:13:18 +00:00
excludePrefixes?: string[];
2023-01-13 14:41:29 +00:00
};
// Perform a sync with the server, based on the given status (to be persisted)
// returns a new sync status to persist
export function syncAll(
2023-01-13 14:41:29 +00:00
endpoint: SyncEndpoint,
snapshot: Record<string, SyncStatusItem>,
): Promise<
{
snapshot: Record<string, SyncStatusItem>;
operations: number;
error?: string;
}
> {
return syscall("sync.syncAll", endpoint, snapshot);
}
// Perform a sync with the server, based on the given status (to be persisted)
// returns a new sync status to persist
export function syncFile(
endpoint: SyncEndpoint,
snapshot: Record<string, SyncStatusItem>,
name: string,
): Promise<
{
snapshot: Record<string, SyncStatusItem>;
operations: number;
error?: string;
}
> {
return syscall("sync.syncFile", endpoint, snapshot, name);
2023-01-13 14:41:29 +00:00
}
// Checks the sync endpoint for connectivity and authentication, throws and Error on failure
export function check(endpoint: SyncEndpoint): Promise<void> {
return syscall("sync.check", endpoint);
}