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

export type DmsPreviewResourceType = 'DOCUMENT' | 'FILE_VERSION';

export interface DmsFilePreviewTicketRequest {
  operationId: string;
  resourceId: string;
  resourceType: DmsPreviewResourceType;
}

export interface DmsFilePreviewTicket {
  accessTicket: string;
  expiresAt: string;
  fileName: string;
  fileVersionId: string;
  mimeType?: string;
  sizeBytes?: number;
}

interface DmsApiResult<T> {
  code: number;
  data: T;
  msg?: string;
}

export function createDmsFilePreviewTicket(data: DmsFilePreviewTicketRequest) {
  return defHttp.post<DmsApiResult<DmsFilePreviewTicket>>({ url: '/api/dms/file-preview-tickets', data }, { errorMessageMode: 'none' });
}
