web / lib/jobs/utils/event-creation-helpers
lib/jobs/utils/event-creation-helpers
Helper utilities for creating events from imported data.
Provides functions for extracting coordinates, timestamps, applying transformations, and creating event data structures during the import process.
Functions
applyTypeTransformations()
applyTypeTransformations(
row,dataset,logger):Promise<{transformedRow:Record<string,unknown>;transformationChanges:null|object[]; }>
Apply type transformations to a row based on dataset configuration. Note: This works on data that hasn’t been auto-typed by Papa Parse. For CSV files with dynamicTyping: true, transformations may not apply.
Parameters
row
Record<string, unknown>
dataset
Dataset
logger
Logger<never>
Returns
Promise<{ transformedRow: Record<string, unknown>; transformationChanges: null | object[]; }>
extractCoordinates()
extractCoordinates(
row,fieldMappings,geocodingResults):object
Extract coordinates from a row based on field mappings and geocoding results. Priority: import coordinates from data > geocoded location > none
Parameters
row
Record<string, unknown>
fieldMappings
latitudePath?
null | string
longitudePath?
null | string
locationPath?
null | string
geocodingResults
Returns
object
location?
optionallocation:object
location.latitude
latitude:
number
location.longitude
longitude:
number
coordinateSource
coordinateSource:
object
coordinateSource.type
type:
"none"|"import"|"geocoded"
coordinateSource.confidence?
optionalconfidence:number
extractTimestamp()
extractTimestamp(
row,timestampPath?):Date
Extract timestamp from row data using field mapping.
Parameters
row
Record<string, unknown>
timestampPath?
null | string
Returns
Date
createEventData()
createEventData(
row,dataset,importJobId,job,geocodingResults,transformationChanges):object
Create event data structure from a row of imported data.
Parameters
row
Record<string, unknown>
dataset
Dataset
importJobId
string | number
job
datasetSchemaVersion?
unknown
detectedFieldMappings?
{ latitudePath?: null | string; longitudePath?: null | string; locationPath?: null | string; timestampPath?: null | string; }
detectedFieldMappings.latitudePath?
null | string
detectedFieldMappings.longitudePath?
null | string
detectedFieldMappings.locationPath?
null | string
detectedFieldMappings.timestampPath?
null | string
geocodingResults
transformationChanges
null | object[]
Returns
object
dataset
dataset:
number=dataset.id
importJob
importJob:
number=importJobNum
data
data:
Record<string,unknown> =row
uniqueId
uniqueId:
string
eventTimestamp
eventTimestamp:
string
location
location:
undefined| {latitude:number;longitude:number; }
coordinateSource
coordinateSource:
object
coordinateSource.type
type:
"none"|"import"|"geocoded"
coordinateSource.confidence?
optionalconfidence:number
validationStatus
validationStatus:
"transformed"|"pending"
transformations
transformations:
null|object[] =transformationChanges
schemaVersionNumber
schemaVersionNumber:
undefined|number=schemaVersion