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