@golemio/parkings
Version:
Golemio Parkings Module
42 lines • 1.71 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.KoridParkingDataTransformation = void 0;
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
const _sch_1 = require("../../schema-definitions");
class KoridParkingDataTransformation extends integration_engine_1.BaseTransformation {
constructor() {
super();
this.transform = async (data) => {
const results = [];
const dateModified = new Date(data.time).toISOString();
for (const elementKey in data.data) {
if (data.data.hasOwnProperty(elementKey)) {
results.push(this.transformElement({
...data.data[elementKey],
sourceId: elementKey,
time: dateModified,
}));
}
}
return results;
};
this.transformElement = (element) => {
const sourceId = "" + element.sourceId;
delete element.sourceId;
return {
// id: autoincrement
source: "korid",
source_id: sourceId,
parking_id: `korid-${sourceId}`,
available_spot_number: element.fr,
closed_spot_number: element.cls,
occupied_spot_number: element.occ,
total_spot_number: element.tot,
date_modified: element.time,
};
};
this.name = _sch_1.Parkings.korid.name + "Data";
}
}
exports.KoridParkingDataTransformation = KoridParkingDataTransformation;
//# sourceMappingURL=KoridParkingDataTransformation.js.map