import type { UploadEditContext } from './uploadEdit';

import { defHttp } from '#/api/request';

export interface WorkflowFileRequest extends UploadEditContext {
  fileId: string;
  draftId?: string;
  contentToken?: string;
}

export function getWorkflowDownload(sources: WorkflowFileRequest[]) {
  return defHttp.post<{ data: { downloadName: string; downloadVo: { url: string } } }>({ url: '/api/file/WorkflowFile/download', data: sources });
}

export function getWorkflowPreview(source: WorkflowFileRequest, mode: 'office' | 'platform') {
  return defHttp.post<{ data: { file: Record<string, any>; fileName: string; kind: 'image' | 'office' | 'platform'; ticket?: string; url?: string } }>({
    url: `/api/file/WorkflowFile/preview?mode=${mode}`,
    data: source,
  });
}
