web / app/api/import/configure/helpers
app/api/import/configure/helpers
Helper functions and types for the configure-import endpoint.
Types are imported from the shared import wizard types module. This file contains route-specific utilities: Zod validation schema, preview metadata I/O, and request validation.
Variables
ConfigureImportBodySchema
constConfigureImportBodySchema:ZodObject<{ previewId: ZodUUID; catalogId: ZodUnion\<readonly \[ZodNumber, ZodLiteral\<"new"\>\]\>; newCatalogName: ZodOptional\<ZodString\>; sheetMappings: ZodArray\<ZodObject\<\{ sheetIndex: ZodNumber; datasetId: ZodUnion\<readonly \[ZodNumber, ZodLiteral\<"new"\>\]\>; newDatasetName: ZodString; },$strip>>;fieldMappings:ZodArray<ZodObject<{ sheetIndex: ZodNumber; titleField: ZodNullable\<ZodString\>; descriptionField: ZodNullable\<ZodString\>; locationNameField: ZodDefault\<ZodOptional\<ZodNullable\<ZodString\>\>\>; dateField: ZodNullable\<ZodString\>; idField: ZodNullable\<ZodString\>; idStrategy: ZodEnum\<\{ external: "external"; computed: "computed"; auto: "auto"; hybrid: "hybrid"; }>;locationField:ZodNullable<ZodString>;latitudeField:ZodNullable<ZodString>;longitudeField:ZodNullable<ZodString>; },$strip>>;deduplicationStrategy:ZodEnum<{ update: "update"; version: "version"; skip: "skip"; }>;geocodingEnabled:ZodBoolean;transforms:ZodOptional<ZodArray<ZodObject<{ sheetIndex: ZodNumber; transforms: ZodArray\<ZodObject\<\{ id: ZodString; type: ZodEnum\<\{ split: ...; rename: ...; date-parse: ...; string-op: ...; concatenate: ...; type-cast: ...; }>;active:ZodBoolean;autoDetected:ZodBoolean;from:ZodOptional<ZodString>;to:ZodOptional<ZodString>;inputFormat:ZodOptional<ZodString>;outputFormat:ZodOptional<ZodString>;timezone:ZodOptional<ZodString>;operation:ZodOptional<ZodEnum<…>>;pattern:ZodOptional<ZodString>;replacement:ZodOptional<ZodString>;fromFields:ZodOptional<ZodArray<…>>;separator:ZodOptional<ZodString>;delimiter:ZodOptional<ZodString>;toFields:ZodOptional<ZodArray<…>>;fromType:ZodOptional<ZodEnum<…>>;toType:ZodOptional<ZodEnum<…>>;strategy:ZodOptional<ZodEnum<…>>;customFunction:ZodOptional<ZodString>; },$strip>>; },$strip>>>;createSchedule:ZodOptional<ZodObject<{ enabled: ZodBoolean; sourceUrl: ZodString; name: ZodString; scheduleType: ZodEnum\<\{ frequency: "frequency"; cron: "cron"; }>;frequency:ZodOptional<ZodEnum<{ hourly: "hourly"; daily: "daily"; weekly: "weekly"; monthly: "monthly"; }>>;cronExpression:ZodOptional<ZodString>;schemaMode:ZodEnum<{ strict: "strict"; additive: "additive"; flexible: "flexible"; }>;authConfig:ZodOptional<ZodObject<{ type: ZodEnum\<\{ none: "none"; api-key: "api-key"; bearer: "bearer"; basic: "basic"; }>;apiKey:ZodOptional<ZodString>;apiKeyHeader:ZodOptional<ZodString>;bearerToken:ZodOptional<ZodString>;username:ZodOptional<ZodString>;password:ZodOptional<ZodString>;customHeaders:ZodOptional<ZodUnion<readonly […, …]>>; },$strip>>; },$strip>>; },$strip>
Zod schema for validating the configure-import request body.
Functions
loadPreviewMetadata()
loadPreviewMetadata(
previewId):PreviewMetadata|null
Parameters
previewId
string
Returns
PreviewMetadata | null
cleanupPreview()
cleanupPreview(
previewId):void
Parameters
previewId
string
Returns
void
validateRequest()
validateRequest(
previewMeta,user):Response|null
Validate business-logic constraints that Zod cannot check.
Shape validation (required fields, types, non-empty arrays) is handled by ConfigureImportBodySchema. This function checks that the preview exists on disk, is not expired, and belongs to the requesting user.
Parameters
previewMeta
PreviewMetadata | null
user
User
Returns
Response | null
References
AuthConfig
Re-exports AuthConfig
ConfigureImportRequest
Re-exports ConfigureImportRequest
CreateScheduleConfig
Re-exports CreateScheduleConfig
DatasetMappingEntry
Re-exports DatasetMappingEntry
FieldMapping
Re-exports FieldMapping
PreviewMetadata
Re-exports PreviewMetadata
SheetMapping
Re-exports SheetMapping