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