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>>; save?: (request: SaveReactionResolverRequest) => Promise>; delete?: (request: DeleteReactionResolverRequest) => Promise>; 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; }