Host persistence contract for revision history and restore.
- Package
@sheetwrite/core
- Source
packages/core/src/collaboration.ts#L251
Members 3
listRevisions
listRevisions(documentId: string, signal?: AbortSignal): Promise<readonly RevisionSummaryinterface RevisionSummary {
version: number;
createdAt: string;
actor?: PresenceActor;
label?: string;
}interface RevisionSummary {
version: number;
createdAt: string;
actor?: PresenceActor;
label?: string;
}interface RevisionSummary {
version: number;
createdAt: string;
actor?: PresenceActor;
label?: string;
}Host-provided metadata describing a saved workbook revision.API reference →[]>;
loadRevision
loadRevision(documentId: string, version: number, signal?: AbortSignal): Promise<unknown>;
restoreRevision Must create a new auditable server version; never rewind storage in place.
restoreRevision(request: RevisionRestoreRequestinterface RevisionRestoreRequest {
documentId: string;
targetVersion: number;
baseVersion: number;
clientMutationId: string;
signal?: AbortSignal;
}interface RevisionRestoreRequest {
documentId: string;
targetVersion: number;
baseVersion: number;
clientMutationId: string;
signal?: AbortSignal;
}interface RevisionRestoreRequest {
documentId: string;
targetVersion: number;
baseVersion: number;
clientMutationId: string;
signal?: AbortSignal;
}Versioned restore request submitted to a revision adapter.API reference →): Promise<RevisionRestoreResponsetype RevisionRestoreResponse =
| {
status: "applied";
version: number;
clientMutationId: string;
snapshot: WorkbookSnapshot;
}
| {
status: "duplicate";
version: number;
clientMutationId: string;
}
| { status: "conflict"; currentVersion: number };type RevisionRestoreResponse =
| {
status: "applied";
version: number;
clientMutationId: string;
snapshot: WorkbookSnapshot;
}
| {
status: "duplicate";
version: number;
clientMutationId: string;
}
| { status: "conflict"; currentVersion: number };type RevisionRestoreResponse =
| {
status: "applied";
version: number;
clientMutationId: string;
snapshot: WorkbookSnapshot;
}
| {
status: "duplicate";
version: number;
clientMutationId: string;
}
| {
status: "conflict";
currentVersion: number;
};Applied or conflict acknowledgement for a revision restore.API reference →>;
Declaration
View full TypeScript declaration
export interface RevisionAdapter {
): Promise<readonly RevisionSummaryinterface RevisionSummary {
version: number;
createdAt: string;
actor?: PresenceActor;
label?: string;
}interface RevisionSummary {
version: number;
createdAt: string;
actor?: PresenceActor;
label?: string;
}interface RevisionSummary {
version: number;
createdAt: string;
actor?: PresenceActor;
label?: string;
}Host-provided metadata describing a saved workbook revision.API reference →[]>; request: RevisionRestoreRequestinterface RevisionRestoreRequest {
documentId: string;
targetVersion: number;
baseVersion: number;
clientMutationId: string;
signal?: AbortSignal;
}interface RevisionRestoreRequest {
documentId: string;
targetVersion: number;
baseVersion: number;
clientMutationId: string;
signal?: AbortSignal;
}interface RevisionRestoreRequest {
documentId: string;
targetVersion: number;
baseVersion: number;
clientMutationId: string;
signal?: AbortSignal;
}Versioned restore request submitted to a revision adapter.API reference →, ): Promise<RevisionRestoreResponsetype RevisionRestoreResponse =
| {
status: "applied";
version: number;
clientMutationId: string;
snapshot: WorkbookSnapshot;
}
| {
status: "duplicate";
version: number;
clientMutationId: string;
}
| { status: "conflict"; currentVersion: number };type RevisionRestoreResponse =
| {
status: "applied";
version: number;
clientMutationId: string;
snapshot: WorkbookSnapshot;
}
| {
status: "duplicate";
version: number;
clientMutationId: string;
}
| { status: "conflict"; currentVersion: number };type RevisionRestoreResponse =
| {
status: "applied";
version: number;
clientMutationId: string;
snapshot: WorkbookSnapshot;
}
| {
status: "duplicate";
version: number;
clientMutationId: string;
}
| {
status: "conflict";
currentVersion: number;
};Applied or conflict acknowledgement for a revision restore.API reference →>;