@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
TypeScript
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;
}