Initial state for GitNexus analysis
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
import { z } from 'zod';
|
||||
|
||||
/**
|
||||
* Schema for CSV/Excel import configuration.
|
||||
*/
|
||||
export const ColumnMappingSchema = z.object({
|
||||
sourceColumn: z.string(),
|
||||
targetField: z.string(),
|
||||
transform: z.enum(['none', 'trim', 'lowercase', 'uppercase', 'date_dmy', 'date_mdy']).default('none'),
|
||||
});
|
||||
|
||||
export type ColumnMapping = z.infer<typeof ColumnMappingSchema>;
|
||||
|
||||
export const ImportConfigSchema = z.object({
|
||||
moduleId: z.string().uuid(),
|
||||
accountId: z.string().uuid(),
|
||||
mappings: z.array(ColumnMappingSchema).min(1),
|
||||
skipFirstRow: z.boolean().default(true),
|
||||
onDuplicate: z.enum(['skip', 'overwrite', 'error']).default('skip'),
|
||||
dryRun: z.boolean().default(true),
|
||||
});
|
||||
|
||||
export type ImportConfigInput = z.infer<typeof ImportConfigSchema>;
|
||||
Reference in New Issue
Block a user