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.

59 lines (58 loc) 2.32 kB
import { ResolverActions } from "../../utils/enums"; import { AttachmentDataProvider } from "./attachment-resolver.data.model"; import { BaseMetadata } from "./base-metadata.data.model"; import { RecorderAnnotation } from "./recorder-annotation.data.model"; import { ResolverConfig, ResolverResponse } from "./resolver.data.model"; import { Attachment } from "./attachment.model"; import { Transcription } from "./transcription.data.model"; import { User } from "./user.data.model"; export interface RecorderAnnotationDataProvider { get?: (request: GetRecorderResolverRequest) => Promise<ResolverResponse<Record<string, PartialRecorderAnnotation>>>; save?: (request: SaveRecorderResolverRequest) => Promise<ResolverResponse<SaveRecorderResolverData | undefined>>; delete?: (request: DeleteRecorderResolverRequest) => Promise<ResolverResponse<undefined>>; config?: ResolverConfig; uploadChunks?: boolean; storage?: AttachmentDataProvider; } export interface GetRecorderResolverRequest { organizationId: string; recorderAnnotationIds?: string[]; documentIds?: string[]; } export interface SaveRecorderResolverRequest { recorderAnnotation: Record<string, PartialRecorderAnnotation>; event?: ResolverActions; metadata?: BaseMetadata; } export interface SaveRecorderResolverData { transcription?: Transcription; attachment?: Attachment | null; attachments?: Attachment[]; } export interface DeleteRecorderResolverRequest { recorderAnnotationId: string; metadata?: BaseMetadata; event?: ResolverActions; } export interface PartialRecorderAnnotation { annotationId: string; metadata?: BaseMetadata; from?: User; transcription?: Transcription; attachment?: Attachment | null; attachments?: Attachment[]; chunkUrls?: Record<number, string>; recordingEditVersions?: Record<number, PartialRecorderAnnotationEditVersion>; [key: string]: any; } export interface PartialRecorderAnnotationEditVersion { from?: User; attachment?: Attachment | null; attachments?: Attachment[]; transcription?: Transcription; } export interface PartialRecorderAnnotationResult { strippedData: Record<string, PartialRecorderAnnotation> | null; originalData: RecorderAnnotation | null; eventType?: ResolverActions; }