Host persistence contract for versioned comment threads.
- Package
@sheetwrite/core
- Source
packages/core/src/collaboration.ts#L431
Members 3
Declaration
View full TypeScript declaration
export interface CommentAdapter {
): Promise<CommentListResultinterface CommentListResult {
version: number;
threads: readonly CommentThread[];
}interface CommentListResult {
version: number;
threads: readonly CommentThread[];
}interface CommentListResult {
version: number;
threads: readonly CommentThread[];
}Versioned comment-thread listing returned by a host adapter.API reference →>; request: CommentMutationRequestinterface CommentMutationRequest {
documentId: string;
baseVersion: number;
clientMutationId: string;
mutation: CommentMutation;
signal?: AbortSignal;
}interface CommentMutationRequest {
documentId: string;
baseVersion: number;
clientMutationId: string;
mutation: CommentMutation;
signal?: AbortSignal;
}interface CommentMutationRequest {
documentId: string;
baseVersion: number;
clientMutationId: string;
mutation: CommentMutation;
signal?: AbortSignal;
}Versioned comment mutation submitted to a host adapter.API reference →, ): Promise<CommentMutationResponsetype CommentMutationResponse =
| {
status: "applied";
version: number;
clientMutationId: string;
thread: CommentThread;
}
| {
status: "duplicate";
version: number;
clientMutationId: string;
}
| { status: "conflict"; currentVersion: number };type CommentMutationResponse =
| {
status: "applied";
version: number;
clientMutationId: string;
thread: CommentThread;
}
| {
status: "duplicate";
version: number;
clientMutationId: string;
}
| { status: "conflict"; currentVersion: number };type CommentMutationResponse =
| {
status: "applied";
version: number;
clientMutationId: string;
thread: CommentThread;
}
| {
status: "duplicate";
version: number;
clientMutationId: string;
}
| {
status: "conflict";
currentVersion: number;
};Applied, duplicate, or conflict acknowledgement for a comment mutation.API reference →>; listener: (event: VersionedCommentEventinterface VersionedCommentEvent {
version: number;
thread: CommentThread;
clientMutationId?: string;
}interface VersionedCommentEvent {
version: number;
thread: CommentThread;
clientMutationId?: string;
}interface VersionedCommentEvent {
version: number;
thread: CommentThread;
clientMutationId?: string;
}Comment mutation paired with its assigned server version.API reference →) => void, ): undefined | (() => void);