UNPKG

@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.

43 lines (42 loc) 1.56 kB
import { ResolverActions } from "../../utils/enums"; import { BaseMetadata } from "./base-metadata.data.model"; import { PartialUser } from "./comment-resolver.data.model"; import { ReactionAnnotation } from "./reaction-annotation.data.model"; import { ResolverConfig, ResolverResponse } from "./resolver.data.model"; 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; from?: PartialUser; }