@golemio/parkings 1.8.9 → 1.8.10-dev.1254677597
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/db/example/01_sql_dump.sql +1 -1
- package/db/example/04_tsk_parking_v2.sql +2 -2
- package/db/example/08_isphk_data.sql +0 -1
- package/db/migrations/postgresql/20240402115132-parking-machines-source-id.js +53 -0
- package/db/migrations/postgresql/sqls/20240402115132-parking-machines-source-id-down.sql +2 -0
- package/db/migrations/postgresql/sqls/20240402115132-parking-machines-source-id-up.sql +3 -0
- package/dist/integration-engine/datasources/osm/OsmParkingMachinesDataSource.d.ts +9 -0
- package/dist/integration-engine/datasources/osm/OsmParkingMachinesDataSource.js +53 -0
- package/dist/integration-engine/datasources/osm/OsmParkingMachinesDataSource.js.map +1 -0
- package/dist/integration-engine/datasources/parkomats/ParkomatsDataSource.d.ts +8 -0
- package/dist/integration-engine/datasources/parkomats/ParkomatsDataSource.js +53 -0
- package/dist/integration-engine/datasources/parkomats/ParkomatsDataSource.js.map +1 -0
- package/dist/integration-engine/index.d.ts +4 -2
- package/dist/integration-engine/index.js +11 -2
- package/dist/integration-engine/index.js.map +1 -1
- package/dist/integration-engine/ioc/Di.js +12 -0
- package/dist/integration-engine/ioc/Di.js.map +1 -1
- package/dist/integration-engine/ioc/ModuleContainerToken.d.ts +6 -0
- package/dist/integration-engine/ioc/ModuleContainerToken.js +8 -0
- package/dist/integration-engine/ioc/ModuleContainerToken.js.map +1 -1
- package/dist/integration-engine/queueDefinitions.js +0 -17
- package/dist/integration-engine/queueDefinitions.js.map +1 -1
- package/dist/integration-engine/repositories/ParkingMachinesRepository.js +3 -19
- package/dist/integration-engine/repositories/ParkingMachinesRepository.js.map +1 -1
- package/dist/integration-engine/repositories/ParkomatsRepository.d.ts +4 -0
- package/dist/integration-engine/repositories/ParkomatsRepository.js +19 -0
- package/dist/integration-engine/repositories/ParkomatsRepository.js.map +1 -0
- package/dist/integration-engine/transformations/ParkomatsTransformation.d.ts +3 -1
- package/dist/integration-engine/transformations/ParkomatsTransformation.js.map +1 -1
- package/dist/integration-engine/transformations/TskParkingMachinesTransformation.js +4 -2
- package/dist/integration-engine/transformations/TskParkingMachinesTransformation.js.map +1 -1
- package/dist/integration-engine/transformations/osm/OsmParkingMachinesTransformation.d.ts +10 -0
- package/dist/integration-engine/transformations/osm/OsmParkingMachinesTransformation.js +26 -0
- package/dist/integration-engine/transformations/osm/OsmParkingMachinesTransformation.js.map +1 -0
- package/dist/integration-engine/workers/NewParkingsWorker.js +1 -0
- package/dist/integration-engine/workers/NewParkingsWorker.js.map +1 -1
- package/dist/integration-engine/workers/ParkomatsWorker.d.ts +6 -0
- package/dist/integration-engine/workers/ParkomatsWorker.js +19 -0
- package/dist/integration-engine/workers/ParkomatsWorker.js.map +1 -0
- package/dist/integration-engine/workers/schemas/ParkomatSchema.d.ts +8 -0
- package/dist/integration-engine/workers/schemas/ParkomatSchema.js +27 -0
- package/dist/integration-engine/workers/schemas/ParkomatSchema.js.map +1 -0
- package/dist/integration-engine/workers/tasks/RefreshDataInDbTask.d.ts +17 -0
- package/dist/integration-engine/workers/tasks/RefreshDataInDbTask.js +76 -0
- package/dist/integration-engine/workers/tasks/RefreshDataInDbTask.js.map +1 -0
- package/dist/integration-engine/workers/tasks/SaveOsmParkingMachinesTask.d.ts +12 -0
- package/dist/integration-engine/workers/tasks/SaveOsmParkingMachinesTask.js +62 -0
- package/dist/integration-engine/workers/tasks/SaveOsmParkingMachinesTask.js.map +1 -0
- package/dist/output-gateway/routers/v3/V3ParkingMachinesRouter.js +1 -1
- package/dist/output-gateway/routers/v3/V3ParkingMachinesRouter.js.map +1 -1
- package/dist/output-gateway/transformations/v3/ParkingMachinesDtoTransformation.js +1 -1
- package/dist/output-gateway/transformations/v3/ParkingMachinesDtoTransformation.js.map +1 -1
- package/dist/schema-definitions/datasources/osm/FeatureCollectionSchemaGenerator.d.ts +28 -0
- package/dist/schema-definitions/datasources/osm/FeatureCollectionSchemaGenerator.js +4 -0
- package/dist/schema-definitions/datasources/osm/FeatureCollectionSchemaGenerator.js.map +1 -1
- package/dist/schema-definitions/datasources/osm/OsmParkingMachinesSchema.d.ts +3 -0
- package/dist/schema-definitions/datasources/osm/OsmParkingMachinesSchema.js +14 -0
- package/dist/schema-definitions/datasources/osm/OsmParkingMachinesSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/osm/interfaces/IOsmParkingMachinesProperties.d.ts +5 -0
- package/dist/schema-definitions/datasources/osm/interfaces/IOsmParkingMachinesProperties.js +3 -0
- package/dist/schema-definitions/datasources/osm/interfaces/IOsmParkingMachinesProperties.js.map +1 -0
- package/dist/schema-definitions/models/ParkingMachinesModel.d.ts +3 -0
- package/dist/schema-definitions/models/ParkingMachinesModel.js +22 -0
- package/dist/schema-definitions/models/ParkingMachinesModel.js.map +1 -1
- package/dist/schema-definitions/models/interfaces/IParkingMachine.d.ts +3 -2
- package/docs/implementation-documentation.md +54 -5
- package/docs/openapi-output.yaml +6 -6
- package/package.json +2 -2
- package/dist/integration-engine/ParkomatsWorker.d.ts +0 -10
- package/dist/integration-engine/ParkomatsWorker.js +0 -77
- package/dist/integration-engine/ParkomatsWorker.js.map +0 -1
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OsmParkingMachinesTransformation = void 0;
|
|
4
|
+
const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
|
|
5
|
+
const SourceEnum_1 = require("../../../helpers/constants/SourceEnum");
|
|
6
|
+
class OsmParkingMachinesTransformation extends AbstractTransformation_1.AbstractTransformation {
|
|
7
|
+
constructor(transformationDate) {
|
|
8
|
+
super();
|
|
9
|
+
this.transformationDate = transformationDate;
|
|
10
|
+
this.name = "OsmParkingMachinesTransformation";
|
|
11
|
+
this.transformInternal = (parkingMachine) => {
|
|
12
|
+
return {
|
|
13
|
+
id: `${SourceEnum_1.SourceEnum.OSM}-${parkingMachine.properties.osm_id}`,
|
|
14
|
+
source: SourceEnum_1.SourceEnum.OSM,
|
|
15
|
+
sourceId: parkingMachine.properties.osm_id,
|
|
16
|
+
code: null,
|
|
17
|
+
type: "payment_machine",
|
|
18
|
+
location: parkingMachine.geometry,
|
|
19
|
+
validFrom: this.transformationDate,
|
|
20
|
+
tariffId: null,
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.OsmParkingMachinesTransformation = OsmParkingMachinesTransformation;
|
|
26
|
+
//# sourceMappingURL=OsmParkingMachinesTransformation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OsmParkingMachinesTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/transformations/osm/OsmParkingMachinesTransformation.ts"],"names":[],"mappings":";;;AAAA,6GAA0G;AAE1G,sEAA2D;AAI3D,MAAa,gCAAiC,SAAQ,+CAGrD;IAGG,YAAoB,kBAAwB;QACxC,KAAK,EAAE,CAAC;QADQ,uBAAkB,GAAlB,kBAAkB,CAAM;QAFrC,SAAI,GAAW,kCAAkC,CAAC;QAMzD,sBAAiB,GAAG,CAAC,cAA8D,EAAmB,EAAE;YACpG,OAAO;gBACH,EAAE,EAAE,GAAG,uBAAU,CAAC,GAAG,IAAI,cAAc,CAAC,UAAU,CAAC,MAAM,EAAE;gBAC3D,MAAM,EAAE,uBAAU,CAAC,GAAG;gBACtB,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,MAAM;gBAC1C,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,iBAAiB;gBACvB,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,SAAS,EAAE,IAAI,CAAC,kBAAkB;gBAClC,QAAQ,EAAE,IAAI;aACjB,CAAC;QACN,CAAC,CAAC;IAbF,CAAC;CAcJ;AAtBD,4EAsBC"}
|
|
@@ -29,6 +29,7 @@ class NewParkingsWorker extends integration_engine_1.AbstractWorker {
|
|
|
29
29
|
this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.SaveIsphkMeasurementsTask));
|
|
30
30
|
this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.SaveOsmEntrancesDataTask));
|
|
31
31
|
this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.SaveManualEntrancesDataTask));
|
|
32
|
+
this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.SaveOsmParkingMachinesTask));
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
35
|
exports.NewParkingsWorker = NewParkingsWorker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NewParkingsWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/NewParkingsWorker.ts"],"names":[],"mappings":";;;AAAA,kCAA+C;AAC/C,sEAAoE;AACpE,8EAAuE;AAEvE,2CAAuD;AACvD,2EAAwE;AAExE,MAAa,iBAAkB,SAAQ,mCAAc;IAIjD;QACI,KAAK,EAAE,CAAC;QAHI,SAAI,GAAG,iBAAiB,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"NewParkingsWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/NewParkingsWorker.ts"],"names":[],"mappings":";;;AAAA,kCAA+C;AAC/C,sEAAoE;AACpE,8EAAuE;AAEvE,2CAAuD;AACvD,2EAAwE;AAExE,MAAa,iBAAkB,SAAQ,mCAAc;IAIjD;QACI,KAAK,EAAE,CAAC;QAHI,SAAI,GAAG,iBAAiB,CAAC,UAAU,CAAC;QAuB7C,iBAAY,GAAG,CAAC,IAAW,EAAQ,EAAE;YACxC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,CAAC,CAAC;QArBE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC/F,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,gCAAgC,CAAC,CAAC,CAAC;QAC3G,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,YAAY,CAAC,IAAI,+CAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,eAAe,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACpG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACnG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAQ,2CAAoB,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACzG,CAAC;;AAvBL,8CA6BC;AA5BmB,4BAAU,GAAG,oCAAwB,AAA3B,CAA4B"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AbstractTask, AbstractWorker } from "@golemio/core/dist/integration-engine/workers";
|
|
2
|
+
export declare class ParkomatsWorker extends AbstractWorker {
|
|
3
|
+
protected readonly name = "Parkomats";
|
|
4
|
+
constructor();
|
|
5
|
+
registerTask: (task: AbstractTask<any>) => void;
|
|
6
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ParkomatsWorker = void 0;
|
|
4
|
+
const workers_1 = require("@golemio/core/dist/integration-engine/workers");
|
|
5
|
+
const Di_1 = require("../ioc/Di");
|
|
6
|
+
const ModuleContainerToken_1 = require("../ioc/ModuleContainerToken");
|
|
7
|
+
class ParkomatsWorker extends workers_1.AbstractWorker {
|
|
8
|
+
constructor() {
|
|
9
|
+
super();
|
|
10
|
+
this.name = "Parkomats";
|
|
11
|
+
this.registerTask = (task) => {
|
|
12
|
+
super.registerTask(task);
|
|
13
|
+
task.queuePrefix = this.getQueuePrefix();
|
|
14
|
+
};
|
|
15
|
+
this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.RefreshDataInDbTask));
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.ParkomatsWorker = ParkomatsWorker;
|
|
19
|
+
//# sourceMappingURL=ParkomatsWorker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParkomatsWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/ParkomatsWorker.ts"],"names":[],"mappings":";;;AAAA,2EAA6F;AAC7F,kCAA+C;AAE/C,sEAAoE;AAEpE,MAAa,eAAgB,SAAQ,wBAAc;IAG/C;QACI,KAAK,EAAE,CAAC;QAHO,SAAI,GAAG,WAAW,CAAC;QAM/B,iBAAY,GAAG,CAAC,IAAuB,EAAQ,EAAE;YACpD,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,CAAC,CAAC;QALE,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAsB,2CAAoB,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAChH,CAAC;CAKJ;AAXD,0CAWC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.IParkomatValidationSchema = void 0;
|
|
13
|
+
const class_validator_1 = require("@golemio/core/dist/shared/class-validator");
|
|
14
|
+
class IParkomatValidationSchema {
|
|
15
|
+
}
|
|
16
|
+
exports.IParkomatValidationSchema = IParkomatValidationSchema;
|
|
17
|
+
__decorate([
|
|
18
|
+
(0, class_validator_1.IsDateString)(),
|
|
19
|
+
(0, class_validator_1.IsOptional)(),
|
|
20
|
+
__metadata("design:type", String)
|
|
21
|
+
], IParkomatValidationSchema.prototype, "from", void 0);
|
|
22
|
+
__decorate([
|
|
23
|
+
(0, class_validator_1.IsDateString)(),
|
|
24
|
+
(0, class_validator_1.IsOptional)(),
|
|
25
|
+
__metadata("design:type", String)
|
|
26
|
+
], IParkomatValidationSchema.prototype, "to", void 0);
|
|
27
|
+
//# sourceMappingURL=ParkomatSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParkomatSchema.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/schemas/ParkomatSchema.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EAAqF;AAOrF,MAAa,yBAAyB;CAOrC;AAPD,8DAOC;AAJG;IAFC,IAAA,8BAAY,GAAE;IACd,IAAA,4BAAU,GAAE;;uDACC;AAGd;IAFC,IAAA,8BAAY,GAAE;IACd,IAAA,4BAAU,GAAE;;qDACD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ILogger } from "@golemio/core/dist/helpers";
|
|
2
|
+
import { AbstractTask } from "@golemio/core/dist/integration-engine";
|
|
3
|
+
import { IParkomatMessage, IParkomatValidationSchema } from "../schemas/ParkomatSchema";
|
|
4
|
+
import { ParkomatsTransformation } from "../../transformations/ParkomatsTransformation";
|
|
5
|
+
import { ParkomatsRepository } from "../../repositories/ParkomatsRepository";
|
|
6
|
+
import { ParkomatsDataSource } from "../../datasources/parkomats/ParkomatsDataSource";
|
|
7
|
+
export declare class RefreshDataInDbTask extends AbstractTask<IParkomatMessage> {
|
|
8
|
+
private model;
|
|
9
|
+
private transformation;
|
|
10
|
+
private dataSource;
|
|
11
|
+
private log;
|
|
12
|
+
readonly queueName = "refreshDataInDB";
|
|
13
|
+
readonly queueTtl: number;
|
|
14
|
+
readonly schema: typeof IParkomatValidationSchema;
|
|
15
|
+
constructor(model: ParkomatsRepository, transformation: ParkomatsTransformation, dataSource: ParkomatsDataSource, log: ILogger);
|
|
16
|
+
execute: (msg: IParkomatMessage) => Promise<void>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.RefreshDataInDbTask = void 0;
|
|
25
|
+
const helpers_1 = require("@golemio/core/dist/helpers");
|
|
26
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
27
|
+
const ParkomatSchema_1 = require("../schemas/ParkomatSchema");
|
|
28
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
29
|
+
const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
|
|
30
|
+
const ParkomatsTransformation_1 = require("../../transformations/ParkomatsTransformation");
|
|
31
|
+
const ParkomatsRepository_1 = require("../../repositories/ParkomatsRepository");
|
|
32
|
+
const ParkomatsDataSource_1 = require("../../datasources/parkomats/ParkomatsDataSource");
|
|
33
|
+
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
34
|
+
const _sch_1 = require("../../../schema-definitions");
|
|
35
|
+
let RefreshDataInDbTask = exports.RefreshDataInDbTask = class RefreshDataInDbTask extends integration_engine_1.AbstractTask {
|
|
36
|
+
constructor(model, transformation, dataSource, log) {
|
|
37
|
+
super(_sch_1.Parkomats.name.toLowerCase());
|
|
38
|
+
this.model = model;
|
|
39
|
+
this.transformation = transformation;
|
|
40
|
+
this.dataSource = dataSource;
|
|
41
|
+
this.log = log;
|
|
42
|
+
this.queueName = "refreshDataInDB";
|
|
43
|
+
this.queueTtl = 2 * 60 * 1000; // 2 minutes
|
|
44
|
+
this.schema = ParkomatSchema_1.IParkomatValidationSchema;
|
|
45
|
+
this.execute = (msg) => __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
let from;
|
|
47
|
+
let to;
|
|
48
|
+
if (msg.from && msg.to) {
|
|
49
|
+
from = (0, helpers_1.dateTime)(new Date(msg.from), { timeZone: "Europe/Prague" });
|
|
50
|
+
to = (0, helpers_1.dateTime)(new Date(msg.to), { timeZone: "Europe/Prague" });
|
|
51
|
+
this.log.debug(`Interval from: ${from} to ${to} was used.`);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
const now = new Date();
|
|
55
|
+
now.setHours(4, 0, 0, 0);
|
|
56
|
+
to = (0, helpers_1.dateTime)(now).setTimeZone("Europe/Prague");
|
|
57
|
+
from = to.clone();
|
|
58
|
+
from.subtract(28, "hours");
|
|
59
|
+
}
|
|
60
|
+
const data = yield this.dataSource.getParkomats("from=" + from.format("yyyy-LL-dd'T'HH:mm:ss") + `&to=${to.format("yyyy-LL-dd'T'HH:mm:ss")}`);
|
|
61
|
+
const transformedData = yield this.transformation.transform(data);
|
|
62
|
+
yield this.model.bulkSave(transformedData);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
exports.RefreshDataInDbTask = RefreshDataInDbTask = __decorate([
|
|
67
|
+
(0, tsyringe_1.injectable)(),
|
|
68
|
+
__param(0, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkomatsRepository)),
|
|
69
|
+
__param(1, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkomatsTransformation)),
|
|
70
|
+
__param(2, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkomatsDataSource)),
|
|
71
|
+
__param(3, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
|
|
72
|
+
__metadata("design:paramtypes", [ParkomatsRepository_1.ParkomatsRepository,
|
|
73
|
+
ParkomatsTransformation_1.ParkomatsTransformation,
|
|
74
|
+
ParkomatsDataSource_1.ParkomatsDataSource, Object])
|
|
75
|
+
], RefreshDataInDbTask);
|
|
76
|
+
//# sourceMappingURL=RefreshDataInDbTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RefreshDataInDbTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/RefreshDataInDbTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAyE;AACzE,8EAAqE;AACrE,8DAAwF;AACxF,iEAAwE;AACxE,yEAAoE;AACpE,2FAAsF;AACtF,gFAA2E;AAC3E,yFAAoF;AACpF,wEAAqE;AACrE,sDAAiC;AAG1B,IAAM,mBAAmB,iCAAzB,MAAM,mBAAoB,SAAQ,iCAA8B;IAKnE,YAEI,KAAkC,EAElC,cAA+C,EAE/C,UAAuC,EAEvC,GAAoB;QAEpB,KAAK,CAAC,gBAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAR5B,UAAK,GAAL,KAAK,CAAqB;QAE1B,mBAAc,GAAd,cAAc,CAAyB;QAEvC,eAAU,GAAV,UAAU,CAAqB;QAE/B,QAAG,GAAH,GAAG,CAAS;QAZR,cAAS,GAAG,iBAAiB,CAAC;QAC9B,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QACtC,WAAM,GAAG,0CAAyB,CAAC;QAe5C,YAAO,GAAG,CAAO,GAAqB,EAAiB,EAAE;YAC5D,IAAI,IAAc,CAAC;YACnB,IAAI,EAAY,CAAC;YACjB,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,EAAE;gBACpB,IAAI,GAAG,IAAA,kBAAQ,EAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;gBACnE,EAAE,GAAG,IAAA,kBAAQ,EAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;gBAC/D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,IAAI,OAAO,EAAE,YAAY,CAAC,CAAC;aAC/D;iBAAM;gBACH,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzB,EAAE,GAAG,IAAA,kBAAQ,EAAC,GAAG,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;gBAChD,IAAI,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;gBAClB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;aAC9B;YAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAC3C,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,GAAG,OAAO,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAAE,CAC/F,CAAC;YACF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAClE,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC/C,CAAC,CAAA,CAAC;IAtBF,CAAC;CAuBJ,CAAA;8BAvCY,mBAAmB;IAD/B,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,mBAAmB,CAAC,CAAA;IAEhD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,uBAAuB,CAAC,CAAA;IAEpD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,mBAAmB,CAAC,CAAA;IAEhD,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;qCALV,yCAAmB;QAEV,iDAAuB;QAE3B,yCAAmB;GAXlC,mBAAmB,CAuC/B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine/workers/AbstractEmptyTask";
|
|
2
|
+
import { OsmParkingMachinesDataSource } from "../../datasources/osm/OsmParkingMachinesDataSource";
|
|
3
|
+
import { ParkingMachinesRepository } from "../../repositories/ParkingMachinesRepository";
|
|
4
|
+
export declare class SaveOsmParkingMachinesTask extends AbstractEmptyTask {
|
|
5
|
+
private dataSource;
|
|
6
|
+
private repository;
|
|
7
|
+
readonly queueName = "saveOsmParkingMachinesTask";
|
|
8
|
+
readonly queueTtl: number;
|
|
9
|
+
constructor(dataSource: OsmParkingMachinesDataSource, repository: ParkingMachinesRepository);
|
|
10
|
+
protected execute(): Promise<void>;
|
|
11
|
+
private getAtributesToUpdate;
|
|
12
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.SaveOsmParkingMachinesTask = void 0;
|
|
25
|
+
const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
|
|
26
|
+
const AbstractEmptyTask_1 = require("@golemio/core/dist/integration-engine/workers/AbstractEmptyTask");
|
|
27
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
28
|
+
const constants_1 = require("../constants");
|
|
29
|
+
const OsmParkingMachinesDataSource_1 = require("../../datasources/osm/OsmParkingMachinesDataSource");
|
|
30
|
+
const ParkingMachinesRepository_1 = require("../../repositories/ParkingMachinesRepository");
|
|
31
|
+
const OsmParkingMachinesTransformation_1 = require("../../transformations/osm/OsmParkingMachinesTransformation");
|
|
32
|
+
let SaveOsmParkingMachinesTask = exports.SaveOsmParkingMachinesTask = class SaveOsmParkingMachinesTask extends AbstractEmptyTask_1.AbstractEmptyTask {
|
|
33
|
+
constructor(dataSource, repository) {
|
|
34
|
+
super(constants_1.NEW_PARKINGS_WORKER_NAME);
|
|
35
|
+
this.dataSource = dataSource;
|
|
36
|
+
this.repository = repository;
|
|
37
|
+
this.queueName = "saveOsmParkingMachinesTask";
|
|
38
|
+
this.queueTtl = 15 * 60 * 1000; // 15min
|
|
39
|
+
}
|
|
40
|
+
execute() {
|
|
41
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
const transformationDate = new Date();
|
|
43
|
+
const parkingMachines = yield this.dataSource.getOsmParkingMachines();
|
|
44
|
+
const transformation = new OsmParkingMachinesTransformation_1.OsmParkingMachinesTransformation(transformationDate);
|
|
45
|
+
const transformedData = transformation.transformArray(parkingMachines);
|
|
46
|
+
yield this.repository.bulkSave(transformedData, this.getAtributesToUpdate(transformedData[0]));
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
getAtributesToUpdate(parkingMachine) {
|
|
50
|
+
return Object.keys(parkingMachine)
|
|
51
|
+
.filter((key) => key !== "validFrom")
|
|
52
|
+
.concat("updated_at");
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
exports.SaveOsmParkingMachinesTask = SaveOsmParkingMachinesTask = __decorate([
|
|
56
|
+
(0, tsyringe_1.injectable)(),
|
|
57
|
+
__param(0, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.OsmParkingMachinesDataSource)),
|
|
58
|
+
__param(1, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingMachinesRepository)),
|
|
59
|
+
__metadata("design:paramtypes", [OsmParkingMachinesDataSource_1.OsmParkingMachinesDataSource,
|
|
60
|
+
ParkingMachinesRepository_1.ParkingMachinesRepository])
|
|
61
|
+
], SaveOsmParkingMachinesTask);
|
|
62
|
+
//# sourceMappingURL=SaveOsmParkingMachinesTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SaveOsmParkingMachinesTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveOsmParkingMachinesTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,yEAAoE;AACpE,uGAAoG;AACpG,iEAAwE;AACxE,4CAAwD;AACxD,qGAAgG;AAChG,4FAAuF;AACvF,iHAA4G;AAIrG,IAAM,0BAA0B,wCAAhC,MAAM,0BAA2B,SAAQ,qCAAiB;IAI7D,YAEI,UAAgD,EACQ,UAA6C;QAErG,KAAK,CAAC,oCAAwB,CAAC,CAAC;QAHxB,eAAU,GAAV,UAAU,CAA8B;QACgB,eAAU,GAAV,UAAU,CAA2B;QANzF,cAAS,GAAG,4BAA4B,CAAC;QACzC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ;IAQnD,CAAC;IAEe,OAAO;;YACnB,MAAM,kBAAkB,GAAG,IAAI,IAAI,EAAE,CAAC;YAEtC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC;YACtE,MAAM,cAAc,GAAG,IAAI,mEAAgC,CAAC,kBAAkB,CAAC,CAAC;YAChF,MAAM,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YACvE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnG,CAAC;KAAA;IAEO,oBAAoB,CAAC,cAA+B;QACxD,OAAO,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;aAC7B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,WAAW,CAAC;aACpC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC9B,CAAC;CACJ,CAAA;qCA1BY,0BAA0B;IADtC,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,4BAA4B,CAAC,CAAA;IAEzD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,yBAAyB,CAAC,CAAA;qCADnC,2DAA4B;QAC4B,qDAAyB;GAPhG,0BAA0B,CA0BtC"}
|
|
@@ -33,7 +33,7 @@ class V3ParkingMachinesRouter extends AbstractRouter_1.AbstractRouter {
|
|
|
33
33
|
.not()
|
|
34
34
|
.isArray(),
|
|
35
35
|
], Validation_1.pagination, Validation_1.checkErrors, (0, Validation_1.paginationLimitMiddleware)(this.path), (0, output_gateway_1.useCacheMiddleware)(), this.controller.getAll);
|
|
36
|
-
this.router.get("/:id", (0, express_validator_1.param)("id").exists().
|
|
36
|
+
this.router.get("/:id", (0, express_validator_1.param)("id").exists().not().isEmpty({ ignore_whitespace: true }).not().isArray(), Validation_1.checkErrors, (0, output_gateway_1.useCacheMiddleware)(), this.controller.getOne);
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
const v3ParkingMachinesRouter = new V3ParkingMachinesRouter();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"V3ParkingMachinesRouter.js","sourceRoot":"","sources":["../../../../src/output-gateway/routers/v3/V3ParkingMachinesRouter.ts"],"names":[],"mappings":";;;AAAA,kGAA6F;AAC7F,qCAA+C;AAC/C,yEAAoE;AACpE,sFAAmF;AACnF,sEAAuE;AACvE,6EAAkH;AAClH,mFAAkF;AAClF,4CAA4C;AAG5C,MAAM,uBAAwB,SAAQ,+BAAc;IAKhD;QACI,KAAK,CAAC,wBAAY,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;QAHvC,mBAAc,GAAG,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC,yBAAyB;QAK/E,IAAI,CAAC,UAAU,GAAG,IAAI,yDAA2B,EAAE,CAAC;QACpD,IAAI,CAAC,sBAAsB,GAAG,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,sBAAsB,CAAC,CAAC;QACrG,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAES,UAAU,CAAC,MAAoC;QACrD,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,GAAG,EACH;YACI,IAAA,yBAAK,EAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC;YAC9E,IAAA,yBAAK,EAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YACzD,IAAA,yBAAK,EAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;YAClD,IAAA,yBAAK,EAAC,aAAa,CAAC;iBACf,QAAQ,EAAE;iBACV,OAAO,CAAC,4BAA4B,CAAC,CAAC,8BAA8B;iBACpE,GAAG,EAAE;iBACL,OAAO,EAAE;YACd,IAAA,yBAAK,EAAC,UAAU,CAAC;iBACZ,QAAQ,EAAE;iBACV,OAAO,CAAC,UAAU,CAAC,CAAC,wCAAwC;iBAC5D,GAAG,EAAE;iBACL,OAAO,EAAE;SACjB,EACD,uBAAU,EACV,wBAAW,EACX,IAAA,sCAAyB,EAAC,IAAI,CAAC,IAAI,CAAC,EACpC,IAAA,mCAAkB,GAAE,EACpB,IAAI,CAAC,UAAU,CAAC,MAAM,CACzB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,MAAM,EACN,IAAA,yBAAK,EAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"V3ParkingMachinesRouter.js","sourceRoot":"","sources":["../../../../src/output-gateway/routers/v3/V3ParkingMachinesRouter.ts"],"names":[],"mappings":";;;AAAA,kGAA6F;AAC7F,qCAA+C;AAC/C,yEAAoE;AACpE,sFAAmF;AACnF,sEAAuE;AACvE,6EAAkH;AAClH,mFAAkF;AAClF,4CAA4C;AAG5C,MAAM,uBAAwB,SAAQ,+BAAc;IAKhD;QACI,KAAK,CAAC,wBAAY,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;QAHvC,mBAAc,GAAG,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC,yBAAyB;QAK/E,IAAI,CAAC,UAAU,GAAG,IAAI,yDAA2B,EAAE,CAAC;QACpD,IAAI,CAAC,sBAAsB,GAAG,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,sBAAsB,CAAC,CAAC;QACrG,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAES,UAAU,CAAC,MAAoC;QACrD,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,GAAG,EACH;YACI,IAAA,yBAAK,EAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC;YAC9E,IAAA,yBAAK,EAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;YACzD,IAAA,yBAAK,EAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;YAClD,IAAA,yBAAK,EAAC,aAAa,CAAC;iBACf,QAAQ,EAAE;iBACV,OAAO,CAAC,4BAA4B,CAAC,CAAC,8BAA8B;iBACpE,GAAG,EAAE;iBACL,OAAO,EAAE;YACd,IAAA,yBAAK,EAAC,UAAU,CAAC;iBACZ,QAAQ,EAAE;iBACV,OAAO,CAAC,UAAU,CAAC,CAAC,wCAAwC;iBAC5D,GAAG,EAAE;iBACL,OAAO,EAAE;SACjB,EACD,uBAAU,EACV,wBAAW,EACX,IAAA,sCAAyB,EAAC,IAAI,CAAC,IAAI,CAAC,EACpC,IAAA,mCAAkB,GAAE,EACpB,IAAI,CAAC,UAAU,CAAC,MAAM,CACzB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,MAAM,EACN,IAAA,yBAAK,EAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAC/E,wBAAW,EACX,IAAA,mCAAkB,GAAE,EACpB,IAAI,CAAC,UAAU,CAAC,MAAM,CACzB,CAAC;IACN,CAAC;CACJ;AAED,MAAM,uBAAuB,GAAmB,IAAI,uBAAuB,EAAE,CAAC;AAErE,0DAAuB"}
|
|
@@ -20,7 +20,7 @@ class ParkingMachinesDtoTransformation extends AbstractTransformation_1.Abstract
|
|
|
20
20
|
return (0, Geo_1.buildGeojsonFeature)({
|
|
21
21
|
id: element.id,
|
|
22
22
|
primary_source: element.source,
|
|
23
|
-
primary_source_id: element.
|
|
23
|
+
primary_source_id: element.sourceId,
|
|
24
24
|
code: element.code,
|
|
25
25
|
machine_type: element.type,
|
|
26
26
|
valid_from: element.validFrom,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParkingMachinesDtoTransformation.js","sourceRoot":"","sources":["../../../../src/output-gateway/transformations/v3/ParkingMachinesDtoTransformation.ts"],"names":[],"mappings":";;;AACA,6GAA0G;AAC1G,+DAA4H;AAE5H,6EAAwE;AAExE,MAAa,gCAAiC,SAAQ,+CAAwD;IAA9G;;QACW,SAAI,GAAW,kCAAkC,CAAC;QAElD,iCAA4B,GAAG,CAAC,QAA2B,EAAE,EAAE;YAClE,IAAI;gBACA,OAAO,IAAA,mCAA6B,EAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;aACvE;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,sBAAsB,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACvE;QACL,CAAC,CAAC;QAEQ,sBAAiB,GAAG,CAAC,OAAwB,EAAE,EAAE;YACvD,OAAO,IAAA,yBAAmB,EACtB;gBACI,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,cAAc,EAAE,OAAO,CAAC,MAAM;gBAC9B,iBAAiB,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"ParkingMachinesDtoTransformation.js","sourceRoot":"","sources":["../../../../src/output-gateway/transformations/v3/ParkingMachinesDtoTransformation.ts"],"names":[],"mappings":";;;AACA,6GAA0G;AAC1G,+DAA4H;AAE5H,6EAAwE;AAExE,MAAa,gCAAiC,SAAQ,+CAAwD;IAA9G;;QACW,SAAI,GAAW,kCAAkC,CAAC;QAElD,iCAA4B,GAAG,CAAC,QAA2B,EAAE,EAAE;YAClE,IAAI;gBACA,OAAO,IAAA,mCAA6B,EAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;aACvE;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,sBAAsB,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACvE;QACL,CAAC,CAAC;QAEQ,sBAAiB,GAAG,CAAC,OAAwB,EAAE,EAAE;YACvD,OAAO,IAAA,yBAAmB,EACtB;gBACI,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,cAAc,EAAE,OAAO,CAAC,MAAM;gBAC9B,iBAAiB,EAAE,OAAO,CAAC,QAAQ;gBACnC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,YAAY,EAAE,OAAO,CAAC,IAAI;gBAC1B,UAAU,EAAE,OAAO,CAAC,SAAS;gBAC7B,SAAS,EAAE,OAAO,CAAC,QAAQ;gBAC3B,GAAG,EAAG,OAAO,CAAC,QAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC/C,GAAG,EAAG,OAAO,CAAC,QAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;aAClD,EACD,KAAK,EACL,KAAK,EACL,IAAI,CACP,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA;AA7BD,4EA6BC"}
|
|
@@ -2,6 +2,7 @@ import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
|
|
|
2
2
|
import { IOsmParkingProperties } from "./interfaces/IOsmParkingProperties";
|
|
3
3
|
import { IOsmParkingSpacesProperties } from "./interfaces/IOsmParkingSpacesProperties";
|
|
4
4
|
import { IOsmEntranceProperties } from "./interfaces/IOsmEntranceProperties";
|
|
5
|
+
import { IOsmParkingMachinesProperties } from "./interfaces/IOsmParkingMachinesProperties";
|
|
5
6
|
export declare class OsmSchemaGenerator {
|
|
6
7
|
static getParkingSchema(): {
|
|
7
8
|
type: string;
|
|
@@ -84,5 +85,32 @@ export declare class OsmSchemaGenerator {
|
|
|
84
85
|
};
|
|
85
86
|
required: string[];
|
|
86
87
|
};
|
|
88
|
+
static getParkingMachinesSchema(): {
|
|
89
|
+
type: string;
|
|
90
|
+
properties: {
|
|
91
|
+
type: {
|
|
92
|
+
type: string;
|
|
93
|
+
enum: string[];
|
|
94
|
+
};
|
|
95
|
+
features: {
|
|
96
|
+
type: string;
|
|
97
|
+
items: {
|
|
98
|
+
type: string;
|
|
99
|
+
properties: {
|
|
100
|
+
type: {
|
|
101
|
+
type: string;
|
|
102
|
+
enum: string[];
|
|
103
|
+
};
|
|
104
|
+
geometry: {
|
|
105
|
+
type: string;
|
|
106
|
+
};
|
|
107
|
+
properties: JSONSchemaType<IOsmParkingMachinesProperties>;
|
|
108
|
+
};
|
|
109
|
+
required: string[];
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
required: string[];
|
|
114
|
+
};
|
|
87
115
|
private static getSchema;
|
|
88
116
|
}
|
|
@@ -4,6 +4,7 @@ exports.OsmSchemaGenerator = void 0;
|
|
|
4
4
|
const OsmEntrancesParkingSchema_1 = require("./OsmEntrancesParkingSchema");
|
|
5
5
|
const OsmParkingSchema_1 = require("./OsmParkingSchema");
|
|
6
6
|
const OsmParkingSpacesSchema_1 = require("./OsmParkingSpacesSchema");
|
|
7
|
+
const OsmParkingMachinesSchema_1 = require("./OsmParkingMachinesSchema");
|
|
7
8
|
class OsmSchemaGenerator {
|
|
8
9
|
static getParkingSchema() {
|
|
9
10
|
return this.getSchema(OsmParkingSchema_1.osmParkingSchema);
|
|
@@ -14,6 +15,9 @@ class OsmSchemaGenerator {
|
|
|
14
15
|
static getEntranceSchema() {
|
|
15
16
|
return this.getSchema(OsmEntrancesParkingSchema_1.osmEntrancesParkingSchema);
|
|
16
17
|
}
|
|
18
|
+
static getParkingMachinesSchema() {
|
|
19
|
+
return this.getSchema(OsmParkingMachinesSchema_1.osmParkingMachinesSchema);
|
|
20
|
+
}
|
|
17
21
|
static getSchema(propertiesSchema) {
|
|
18
22
|
return {
|
|
19
23
|
type: "object",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureCollectionSchemaGenerator.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/osm/FeatureCollectionSchemaGenerator.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"FeatureCollectionSchemaGenerator.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/osm/FeatureCollectionSchemaGenerator.ts"],"names":[],"mappings":";;;AAKA,2EAAwE;AACxE,yDAAsD;AACtD,qEAAkE;AAClE,yEAAyF;AAEzF,MAAa,kBAAkB;IACpB,MAAM,CAAC,gBAAgB;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAwB,mCAAgB,CAAC,CAAC;IACnE,CAAC;IAEM,MAAM,CAAC,sBAAsB;QAChC,OAAO,IAAI,CAAC,SAAS,CAA8B,+CAAsB,CAAC,CAAC;IAC/E,CAAC;IAEM,MAAM,CAAC,iBAAiB;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAyB,qDAAyB,CAAC,CAAC;IAC7E,CAAC;IAEM,MAAM,CAAC,wBAAwB;QAClC,OAAO,IAAI,CAAC,SAAS,CAAgC,mDAAwB,CAAC,CAAC;IACnF,CAAC;IAEO,MAAM,CAAC,SAAS,CAAI,gBAAmC;QAC3D,OAAO;YACH,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,IAAI,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,mBAAmB,CAAC;iBAC9B;gBACD,QAAQ,EAAE;oBACN,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACR,IAAI,EAAE;gCACF,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,CAAC,SAAS,CAAC;6BACpB;4BACD,QAAQ,EAAE;gCACN,IAAI,EAAE,QAAQ;6BACjB;4BACD,UAAU,EAAE,gBAAgB;yBAC/B;wBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC;qBAC/C;iBACJ;aACJ;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;SACjC,CAAC;IACN,CAAC;CACJ;AA9CD,gDA8CC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.osmParkingMachinesSchema = void 0;
|
|
4
|
+
exports.osmParkingMachinesSchema = {
|
|
5
|
+
type: "object",
|
|
6
|
+
properties: {
|
|
7
|
+
parking_id: { type: "string" },
|
|
8
|
+
osm_id: { type: "string" },
|
|
9
|
+
name: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
10
|
+
},
|
|
11
|
+
required: ["parking_id", "osm_id"],
|
|
12
|
+
additionalProperties: true,
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=OsmParkingMachinesSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OsmParkingMachinesSchema.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/osm/OsmParkingMachinesSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,wBAAwB,GAAkD;IACnF,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;KAC1E;IACD,QAAQ,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC;IAClC,oBAAoB,EAAE,IAAI;CAC7B,CAAC"}
|
package/dist/schema-definitions/datasources/osm/interfaces/IOsmParkingMachinesProperties.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IOsmParkingMachinesProperties.js","sourceRoot":"","sources":["../../../../../src/schema-definitions/datasources/osm/interfaces/IOsmParkingMachinesProperties.ts"],"names":[],"mappings":""}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { Point } from "@golemio/core/dist/shared/geojson";
|
|
2
2
|
import { Model, ModelAttributes } from "@golemio/core/dist/shared/sequelize";
|
|
3
|
+
import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
|
|
3
4
|
import { IParkingMachine } from "./interfaces/IParkingMachine";
|
|
4
5
|
export declare class ParkingMachinesModel extends Model<IParkingMachine> implements IParkingMachine {
|
|
5
6
|
static tableName: string;
|
|
6
7
|
id: string;
|
|
7
8
|
source: string;
|
|
9
|
+
sourceId: string;
|
|
8
10
|
code: string;
|
|
9
11
|
type: string;
|
|
10
12
|
location: Point;
|
|
11
13
|
validFrom: Date;
|
|
12
14
|
tariffId: string;
|
|
13
15
|
static attributeModel: ModelAttributes<ParkingMachinesModel>;
|
|
16
|
+
static jsonSchema: JSONSchemaType<IParkingMachine[]>;
|
|
14
17
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ParkingMachinesModel = void 0;
|
|
4
4
|
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
|
|
5
|
+
const schema_definitions_1 = require("@golemio/core/dist/schema-definitions");
|
|
5
6
|
class ParkingMachinesModel extends sequelize_1.Model {
|
|
6
7
|
}
|
|
7
8
|
exports.ParkingMachinesModel = ParkingMachinesModel;
|
|
@@ -12,10 +13,31 @@ ParkingMachinesModel.attributeModel = {
|
|
|
12
13
|
type: sequelize_1.DataTypes.STRING,
|
|
13
14
|
},
|
|
14
15
|
source: sequelize_1.DataTypes.STRING,
|
|
16
|
+
sourceId: sequelize_1.DataTypes.STRING,
|
|
15
17
|
code: sequelize_1.DataTypes.STRING,
|
|
16
18
|
type: sequelize_1.DataTypes.STRING,
|
|
17
19
|
location: sequelize_1.DataTypes.GEOMETRY,
|
|
18
20
|
validFrom: sequelize_1.DataTypes.DATE,
|
|
19
21
|
tariffId: sequelize_1.DataTypes.STRING,
|
|
20
22
|
};
|
|
23
|
+
ParkingMachinesModel.jsonSchema = {
|
|
24
|
+
type: "array",
|
|
25
|
+
items: {
|
|
26
|
+
type: "object",
|
|
27
|
+
properties: {
|
|
28
|
+
id: { type: "string" },
|
|
29
|
+
source: { type: "string" },
|
|
30
|
+
sourceId: { type: "string" },
|
|
31
|
+
code: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
32
|
+
type: { type: "string" },
|
|
33
|
+
location: { $ref: "#/definitions/geometry" },
|
|
34
|
+
validFrom: { type: "object" },
|
|
35
|
+
},
|
|
36
|
+
required: ["id", "source", "sourceId", "type", "location"],
|
|
37
|
+
},
|
|
38
|
+
definitions: {
|
|
39
|
+
// @ts-expect-error
|
|
40
|
+
geometry: schema_definitions_1.SharedSchemaProvider.Geometry,
|
|
41
|
+
},
|
|
42
|
+
};
|
|
21
43
|
//# sourceMappingURL=ParkingMachinesModel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParkingMachinesModel.js","sourceRoot":"","sources":["../../../src/schema-definitions/models/ParkingMachinesModel.ts"],"names":[],"mappings":";;;AACA,mEAAwF;AAGxF,MAAa,oBAAqB,SAAQ,iBAAsB;;AAAhE,
|
|
1
|
+
{"version":3,"file":"ParkingMachinesModel.js","sourceRoot":"","sources":["../../../src/schema-definitions/models/ParkingMachinesModel.ts"],"names":[],"mappings":";;;AACA,mEAAwF;AAGxF,8EAA6E;AAE7E,MAAa,oBAAqB,SAAQ,iBAAsB;;AAAhE,oDA8CC;AA7CiB,8BAAS,GAAG,kBAAkB,CAAC;AAW/B,mCAAc,GAA0C;IAClE,EAAE,EAAE;QACA,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,qBAAS,CAAC,MAAM;KACzB;IACD,MAAM,EAAE,qBAAS,CAAC,MAAM;IACxB,QAAQ,EAAE,qBAAS,CAAC,MAAM;IAC1B,IAAI,EAAE,qBAAS,CAAC,MAAM;IACtB,IAAI,EAAE,qBAAS,CAAC,MAAM;IACtB,QAAQ,EAAE,qBAAS,CAAC,QAAQ;IAC5B,SAAS,EAAE,qBAAS,CAAC,IAAI;IACzB,QAAQ,EAAE,qBAAS,CAAC,MAAM;CAC7B,CAAC;AAEY,+BAAU,GAAsC;IAC1D,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;YACvE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,QAAQ,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE;YAC5C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAChC;QACD,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC;KAC7D;IACD,WAAW,EAAE;QACT,mBAAmB;QACnB,QAAQ,EAAE,yCAAoB,CAAC,QAAQ;KAC1C;CACJ,CAAC"}
|
|
@@ -2,9 +2,10 @@ import { Geometry } from "@golemio/core/dist/shared/geojson";
|
|
|
2
2
|
export interface IParkingMachine {
|
|
3
3
|
id: string;
|
|
4
4
|
source: string;
|
|
5
|
-
|
|
5
|
+
sourceId: string;
|
|
6
|
+
code: string | null;
|
|
6
7
|
type: string;
|
|
7
8
|
location: Geometry;
|
|
8
9
|
validFrom: Date;
|
|
9
|
-
tariffId: string;
|
|
10
|
+
tariffId: string | null;
|
|
10
11
|
}
|