/// /// import { DocumentFile, DocumentInfo, DocumentRequestResult } from './document.interface'; export interface BussinessFile { file: Buffer; name?: string; documentType: string; subCategoryId?: number; } export interface SubmitBusinessDocumentsRequest { miniAppId: string; businessFiles?: BussinessFile[]; additionalFiles?: DocumentFile[]; documentFiles?: DocumentInfo[]; } export interface SubmitBusinessDocumentsResponse { error: number; message: string; data?: { businessResults?: DocumentRequestResult; additionalResults?: DocumentRequestResult; }; } /** * Request to upload a document file to CDN * The uploaded file can be used in subsequent document submission requests */ export interface UploadDocumentFileRequest { /** The Mini App ID */ miniAppId: string; /** Document file content as Buffer */ file: Buffer; /** Original file name (e.g., "business-license.pdf") */ fileName: string; /** Optional: Document type identifier */ documentType?: string; /** Optional: Related sub-category ID */ subCategoryId?: number; } /** * Response from upload document file API * Returns a fileId to be used in document submission requests */ export interface UploadDocumentFileResponse { error: number; message: string; /** CDN ID for the uploaded file - use this in submitBusinessDocumentRequest */ fileId?: string; /** Original file name */ fileName?: string; } /** Document type for business document submission */ export type BusinessDocumentType = 'BUSINESS_LICENSE' | 'ADDITIONAL_LICENSE'; /** * Business document item for JSON-based submission * Uses fileId from uploadDocumentFile response */ export interface BusinessDocumentItem { /** CDN file ID from uploadDocumentFile response */ fileId: string; /** Original file name */ fileName: string; /** Document type: BUSINESS_LICENSE or ADDITIONAL_LICENSE */ type: BusinessDocumentType; /** Document type name (e.g., "Giấy phép kinh doanh") */ documentType: string; /** Optional: Document type ID from getPermits response */ documentTypeId?: number; /** Required for BUSINESS_LICENSE type */ subCategoryId?: number; } /** * Request to submit business documents using JSON format * Files must be uploaded via uploadDocumentFile first */ export interface SubmitBusinessDocumentRequest { /** The Mini App ID */ miniAppId: string; /** Array of business documents to submit */ businessDocuments: BusinessDocumentItem[]; } /** * Document result item from submission */ export interface BusinessDocumentResult { /** CDN ID of the document */ cdnId: string; /** File name */ name: string; /** Document type (BUSINESS_LICENSE or ADDITIONAL_LICENSE) */ type: BusinessDocumentType; /** Whether this is a newly uploaded document */ isNew: boolean; } /** * Response from submit business document request */ export interface SubmitBusinessDocumentResponse { error: number; message: string; data?: { /** Results for business license documents */ businessResults?: { documentRequestId: number; documents: BusinessDocumentResult[]; }; /** Results for additional license documents */ additionalResults?: { documentRequestId: number; documents: BusinessDocumentResult[]; }; }; }