UNPKG

@veltdev/sdk

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.

191 lines (190 loc) 5.05 kB
import { CommentAccessMode } from "../../utils/enums"; import { Attachment } from "./attachment.model"; import { CommentAnnotation } from "./comment-annotation.data.model"; import { Comment } from "./comment.data.model"; import { CustomPriority, CustomStatus } from "./custom-filter.data.model"; import { ReactionItem } from "./reaction-annotation.data.model"; import { UserContact } from "./user-contact.data.model"; import { User } from "./user.data.model"; export interface RequestOptions { organizationId?: string; documentId?: string; folderId?: string; filters?: any; documentIds?: string[]; allDocuments?: boolean; } export interface UpdatePriorityRequest { annotationId: string; priority?: CustomPriority; options?: RequestOptions; } export interface UpdateStatusRequest { annotationId: string; status: CustomStatus; options?: RequestOptions; } export interface UpdateAccessRequest { annotationId: string; accessMode: CommentAccessMode; options?: RequestOptions; } export interface ResolveCommentAnnotationRequest { annotationId: string; options?: RequestOptions; } export interface GetLinkRequest { annotationId: string; options?: RequestOptions; } export interface CopyLinkRequest { annotationId: string; options?: RequestOptions; } export interface AddCommentAnnotationRequest { annotation: CommentAnnotation; options?: RequestOptions; } export interface ApproveCommentAnnotationRequest { annotationId: string; options?: RequestOptions; } export interface AcceptCommentAnnotationRequest { annotationId: string; options?: RequestOptions; } export interface RejectCommentAnnotationRequest { annotationId: string; options?: RequestOptions; } export interface DeleteCommentAnnotationRequest { annotationId: string; options?: RequestOptions; } export interface CommentRequestQuery { organizationId?: string; documentIds?: string[]; locationIds?: string[]; statusIds?: string[]; folderId?: string; allDocuments?: boolean; locationId?: string; aggregateDocuments?: boolean; filterGhostComments?: boolean; } export interface SubscribeCommentAnnotationRequest { annotationId: string; options?: RequestOptions; } export interface UnsubscribeCommentAnnotationRequest { annotationId: string; options?: RequestOptions; } export interface AssignUserRequest { annotationId: string; assignedTo: UserContact; options?: RequestOptions; } export interface AddCommentRequest { annotationId: string; comment: Comment; assignedTo?: User; assigned?: boolean; options?: RequestOptions; } export interface UpdateCommentRequest { annotationId: string; comment: Comment; skipDeleteThreadConfirmation?: boolean; merge?: boolean; options?: RequestOptions; } export interface DeleteCommentRequest { annotationId: string; commentId: number; skipDeleteThreadConfirmation?: boolean; options?: RequestOptions; } export interface GetCommentRequest { annotationId: string; options?: RequestOptions; } export interface AddAttachmentRequest { annotationId: string; files: File[]; options?: RequestOptions; } export interface AddAttachmentResponse { valid: boolean; file?: File; maxAllowedSize: number; error?: string; attachment?: Attachment; } export interface DeleteAttachmentRequest { annotationId: string; commentId: number; attachmentId: number; options?: RequestOptions; } export interface GetAttachmentRequest { annotationId: string; commentId: number; options?: RequestOptions; } export interface GetRecordingRequest { annotationId: string; commentId: number; options?: RequestOptions; } export interface DeleteRecordingRequest { annotationId: string; commentId: number; recorderId: string; options?: RequestOptions; } export interface AddReactionRequest { annotationId: string; commentId: number; reaction: { reactionId: string; customReaction?: ReactionItem; }; options?: RequestOptions; } export interface DeleteReactionRequest { annotationId: string; commentId: number; reaction: { reactionId: string; customReaction?: ReactionItem; }; options?: RequestOptions; } export interface ToggleReactionRequest { annotationId: string; commentId: number; reaction: { reactionId: string; customReaction?: ReactionItem; }; options?: RequestOptions; } export interface FetchCommentAnnotationsRequest { createdAfter?: number; createdBefore?: number; updatedAfter?: number; updatedBefore?: number; statusIds?: string[]; order?: 'asc' | 'desc'; pageToken?: string; allDocuments?: boolean; pageSize?: number; organizationId?: string; locationId?: string; documentIds?: string[]; folderId?: string; resolvedBy?: string; userIds?: string[]; mentionedUserIds?: string[]; }