import { ResolverActions } from "../../utils/enums"; import { ResolverConfig, ResolverResponse } from "./resolver.data.model"; export interface AttachmentDataProvider { save?: (request: SaveAttachmentResolverRequest) => Promise>; delete?: (request: DeleteAttachmentResolverRequest) => Promise>; config?: ResolverConfig; } export interface DeleteAttachmentResolverRequest { attachmentId: number; metadata?: AttachmentResolverMetadata; event?: ResolverActions; } export interface SaveAttachmentResolverRequest { attachment: ResolverAttachment; metadata?: AttachmentResolverMetadata; event?: ResolverActions; } export interface PartialAttachment { url: string; name: string; attachmentId: number; } export interface ResolverAttachment { attachmentId: number; /** * File to be uploaded */ file: File; /** * File name */ name?: string; /** * Metadata of an attachment */ metadata?: AttachmentResolverMetadata; /** * Mime type of an attachment */ mimeType?: string; } export interface AttachmentResolverMetadata { organizationId: string | null; documentId: string | null; folderId?: string | null; attachmentId: number | null; commentAnnotationId: string | null; apiKey: string | null; } export interface SaveAttachmentResolverData { url: string; }