55 lines
1.1 KiB
TypeScript
55 lines
1.1 KiB
TypeScript
import { GridOptionsDto } from '../form/models'
|
|
|
|
export interface ListFormImportDto {
|
|
id: string
|
|
listFormCode: string
|
|
blobName: string
|
|
status: 'uploading' | 'validating' | 'processing' | 'uploaded' | 'failed'
|
|
totalRows: number
|
|
creationTime: string
|
|
}
|
|
|
|
export interface ListFormImportExecuteDto {
|
|
id: string
|
|
importId: string
|
|
blobName: string
|
|
status: 'processing' | 'validating' | 'completed' | 'failed'
|
|
execRows: number
|
|
validRows: number
|
|
errorRows: number
|
|
progress: number
|
|
creationTime: string
|
|
}
|
|
|
|
export interface ImportTemplate {
|
|
id: string
|
|
name: string
|
|
gridOptions: GridOptionsDto
|
|
templateUrl: string
|
|
format: 'excel' | 'csv'
|
|
creationTime: Date
|
|
}
|
|
|
|
export interface ImportError {
|
|
row: number
|
|
column: string
|
|
message: string
|
|
value: any
|
|
severity: 'error' | 'warning'
|
|
}
|
|
|
|
export interface ImportPreviewData {
|
|
sessionId: string
|
|
headers: string[]
|
|
rows: any[][]
|
|
totalRows: number
|
|
columnMappings: ColumnMapping[]
|
|
validationResults?: ImportError[]
|
|
}
|
|
|
|
export interface ColumnMapping {
|
|
sourceColumn: string
|
|
targetField: string
|
|
isRequired: boolean
|
|
dataType: string
|
|
}
|