@veltdev/types
Version:
Velt is an SDK to add collaborative features to your product within minutes. Example: Comments like Figma, Frame.io, Google docs or sheets, Recording like Loom, Huddles like Slack and much more.
41 lines (40 loc) • 1.48 kB
TypeScript
import { BaseMetadata } from "./base-metadata.data.model";
import { ReactionAnnotation } from "./reaction-annotation.data.model";
import { ResolverResponse, ResolverConfig } from "./resolver.data.model";
import { ResolverActions } from "../../utils/enums";
export interface ReactionAnnotationDataProvider {
get: (request: GetReactionResolverRequest) => Promise<ResolverResponse<Record<string, PartialReactionAnnotation>>>;
save: (request: SaveReactionResolverRequest) => Promise<ResolverResponse<undefined>>;
delete: (request: DeleteReactionResolverRequest) => Promise<ResolverResponse<undefined>>;
config?: ResolverConfig;
}
export interface GetReactionResolverRequest {
organizationId: string;
reactionAnnotationIds?: string[];
documentIds?: string[];
folderId?: string;
allDocuments?: boolean;
}
export interface DeleteReactionResolverRequest {
reactionAnnotationId: string;
metadata?: BaseMetadata;
event?: ResolverActions;
}
export interface SaveReactionResolverRequest {
reactionAnnotation: {
[key: string]: PartialReactionAnnotation;
};
metadata?: BaseMetadata;
event?: ResolverActions;
}
export interface PartialReactionAnnotationResult {
strippedData: {
[annotationId: string]: PartialReactionAnnotation;
} | null;
originalData: ReactionAnnotation | null;
}
export interface PartialReactionAnnotation {
annotationId: string;
metadata?: BaseMetadata;
icon?: string;
}