@golemio/parkings 1.6.2-dev.1073199149 → 1.6.2-dev.1078576357
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/05_mr_parkit.sql +9 -0
- package/db/migrations/postgresql/20231113114829-mr-parkit.js +53 -0
- package/db/migrations/postgresql/sqls/20231113114829-mr-parkit-down.sql +1 -0
- package/db/migrations/postgresql/sqls/20231113114829-mr-parkit-up.sql +9 -0
- package/dist/integration-engine/datasources/ParkingProviderDataSourceFactory.d.ts +9 -0
- package/dist/integration-engine/datasources/ParkingProviderDataSourceFactory.js +34 -0
- package/dist/integration-engine/datasources/ParkingProviderDataSourceFactory.js.map +1 -0
- package/dist/integration-engine/datasources/helpers/ParkingProviderEnum.d.ts +3 -0
- package/dist/integration-engine/datasources/helpers/ParkingProviderEnum.js +8 -0
- package/dist/integration-engine/datasources/helpers/ParkingProviderEnum.js.map +1 -0
- package/dist/integration-engine/datasources/interfaces/IDataSourceProvider.d.ts +4 -0
- package/dist/integration-engine/datasources/interfaces/IDataSourceProvider.js +3 -0
- package/dist/integration-engine/datasources/interfaces/IDataSourceProvider.js.map +1 -0
- package/dist/integration-engine/datasources/interfaces/IParkingProviderDataSourceFactory.d.ts +10 -0
- package/dist/integration-engine/datasources/interfaces/IParkingProviderDataSourceFactory.js +4 -0
- package/dist/integration-engine/datasources/interfaces/IParkingProviderDataSourceFactory.js.map +1 -0
- package/dist/integration-engine/datasources/mr-parkit/MrParkitDataSourceProvider.d.ts +13 -0
- package/dist/integration-engine/datasources/mr-parkit/MrParkitDataSourceProvider.js +51 -0
- package/dist/integration-engine/datasources/mr-parkit/MrParkitDataSourceProvider.js.map +1 -0
- package/dist/integration-engine/ioc/Di.js +8 -0
- package/dist/integration-engine/ioc/Di.js.map +1 -1
- package/dist/integration-engine/ioc/ModuleContainerToken.d.ts +3 -0
- package/dist/integration-engine/ioc/ModuleContainerToken.js +5 -0
- package/dist/integration-engine/ioc/ModuleContainerToken.js.map +1 -1
- package/dist/integration-engine/transformations/MrParkitGarageTransformation.d.ts +14 -0
- package/dist/integration-engine/transformations/MrParkitGarageTransformation.js +61 -0
- package/dist/integration-engine/transformations/MrParkitGarageTransformation.js.map +1 -0
- package/dist/integration-engine/transformations/interfaces/IMrParkitGarageTransformation.d.ts +10 -0
- package/dist/integration-engine/transformations/interfaces/IMrParkitGarageTransformation.js +3 -0
- package/dist/integration-engine/transformations/interfaces/IMrParkitGarageTransformation.js.map +1 -0
- package/dist/integration-engine/workers/NewParkingsWorker.d.ts +3 -2
- package/dist/integration-engine/workers/NewParkingsWorker.js +10 -1
- package/dist/integration-engine/workers/NewParkingsWorker.js.map +1 -1
- package/dist/integration-engine/workers/constants.d.ts +1 -0
- package/dist/integration-engine/workers/constants.js +5 -0
- package/dist/integration-engine/workers/constants.js.map +1 -0
- package/dist/integration-engine/workers/tasks/SaveMrParkitDataTask.d.ts +14 -0
- package/dist/integration-engine/workers/tasks/SaveMrParkitDataTask.js +115 -0
- package/dist/integration-engine/workers/tasks/SaveMrParkitDataTask.js.map +1 -0
- package/dist/schema-definitions/datasources/MrParkitJsonSchema.d.ts +3 -0
- package/dist/schema-definitions/datasources/MrParkitJsonSchema.js +31 -0
- package/dist/schema-definitions/datasources/MrParkitJsonSchema.js.map +1 -0
- package/dist/schema-definitions/datasources/interfaces/IMrParkitGarage.d.ts +8 -0
- package/dist/schema-definitions/datasources/interfaces/IMrParkitGarage.js +3 -0
- package/dist/schema-definitions/datasources/interfaces/IMrParkitGarage.js.map +1 -0
- package/dist/schema-definitions/index.js +1 -2
- package/dist/schema-definitions/index.js.map +1 -1
- package/docs/implementation-documentation.md +34 -0
- package/package.json +1 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
insert into parking_sources(source, open_data, api_v3_allowed, legacy_api_allowed, payment_url, contact) VALUES
|
|
2
|
+
('mr_parkit', false, true, false,
|
|
3
|
+
null,
|
|
4
|
+
'{
|
|
5
|
+
"email": "info@mrparkit.com",
|
|
6
|
+
"phone": "+420 277 277 977",
|
|
7
|
+
"web_url": "https://www.mrparkit.com/",
|
|
8
|
+
"term_of_use_url": "https://www.mrparkit.com/cs/pravni-dokumenty"
|
|
9
|
+
}');
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var dbm;
|
|
4
|
+
var type;
|
|
5
|
+
var seed;
|
|
6
|
+
var fs = require('fs');
|
|
7
|
+
var path = require('path');
|
|
8
|
+
var Promise;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* We receive the dbmigrate dependency from dbmigrate initially.
|
|
12
|
+
* This enables us to not have to rely on NODE_PATH.
|
|
13
|
+
*/
|
|
14
|
+
exports.setup = function(options, seedLink) {
|
|
15
|
+
dbm = options.dbmigrate;
|
|
16
|
+
type = dbm.dataType;
|
|
17
|
+
seed = seedLink;
|
|
18
|
+
Promise = options.Promise;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
exports.up = function(db) {
|
|
22
|
+
var filePath = path.join(__dirname, 'sqls', '20231113114829-mr-parkit-up.sql');
|
|
23
|
+
return new Promise( function( resolve, reject ) {
|
|
24
|
+
fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
|
|
25
|
+
if (err) return reject(err);
|
|
26
|
+
console.log('received data: ' + data);
|
|
27
|
+
|
|
28
|
+
resolve(data);
|
|
29
|
+
});
|
|
30
|
+
})
|
|
31
|
+
.then(function(data) {
|
|
32
|
+
return db.runSql(data);
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
exports.down = function(db) {
|
|
37
|
+
var filePath = path.join(__dirname, 'sqls', '20231113114829-mr-parkit-down.sql');
|
|
38
|
+
return new Promise( function( resolve, reject ) {
|
|
39
|
+
fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
|
|
40
|
+
if (err) return reject(err);
|
|
41
|
+
console.log('received data: ' + data);
|
|
42
|
+
|
|
43
|
+
resolve(data);
|
|
44
|
+
});
|
|
45
|
+
})
|
|
46
|
+
.then(function(data) {
|
|
47
|
+
return db.runSql(data);
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
exports._meta = {
|
|
52
|
+
"version": 1
|
|
53
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
delete from parking_sources where source = 'mr_parkit';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
insert into parking_sources(source, open_data, api_v3_allowed, legacy_api_allowed, payment_url, contact) VALUES
|
|
2
|
+
('mr_parkit', false, true, false,
|
|
3
|
+
null,
|
|
4
|
+
'{
|
|
5
|
+
"email": "info@mrparkit.com",
|
|
6
|
+
"phone": "+420 277 277 977",
|
|
7
|
+
"web_url": "https://www.mrparkit.com/",
|
|
8
|
+
"term_of_use_url": "https://www.mrparkit.com/cs/pravni-dokumenty"
|
|
9
|
+
}');
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IMrParkitGarage } from "../../schema-definitions/datasources/interfaces/IMrParkitGarage";
|
|
2
|
+
import { ParkingProvider } from "./helpers/ParkingProviderEnum";
|
|
3
|
+
import { IDataSourceProvider } from "./interfaces/IDataSourceProvider";
|
|
4
|
+
import { DataSourceProviderDict, DataSourceReturnType, IParkingProviderDataSourceFactory } from "./interfaces/IParkingProviderDataSourceFactory";
|
|
5
|
+
export declare class ParkingProviderDataSourceFactory implements IParkingProviderDataSourceFactory {
|
|
6
|
+
private readonly dataSourceProviderDict;
|
|
7
|
+
constructor(mrParkitDataSourceProvider: IDataSourceProvider<IMrParkitGarage[]>);
|
|
8
|
+
getDataSource<T extends ParkingProvider>(presetLogsProvider: T, ...params: Parameters<DataSourceProviderDict[T]["getDataSource"]>): DataSourceReturnType<T>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.ParkingProviderDataSourceFactory = void 0;
|
|
16
|
+
const ModuleContainerToken_1 = require("../ioc/ModuleContainerToken");
|
|
17
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
18
|
+
const ParkingProviderEnum_1 = require("./helpers/ParkingProviderEnum");
|
|
19
|
+
let ParkingProviderDataSourceFactory = exports.ParkingProviderDataSourceFactory = class ParkingProviderDataSourceFactory {
|
|
20
|
+
constructor(mrParkitDataSourceProvider) {
|
|
21
|
+
this.dataSourceProviderDict = {
|
|
22
|
+
[ParkingProviderEnum_1.ParkingProvider.MrParkit]: mrParkitDataSourceProvider,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
getDataSource(presetLogsProvider, ...params) {
|
|
26
|
+
return this.dataSourceProviderDict[presetLogsProvider].getDataSource(...params);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
exports.ParkingProviderDataSourceFactory = ParkingProviderDataSourceFactory = __decorate([
|
|
30
|
+
(0, tsyringe_1.injectable)(),
|
|
31
|
+
__param(0, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.SaveMrParkitDataTask)),
|
|
32
|
+
__metadata("design:paramtypes", [Object])
|
|
33
|
+
], ParkingProviderDataSourceFactory);
|
|
34
|
+
//# sourceMappingURL=ParkingProviderDataSourceFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParkingProviderDataSourceFactory.js","sourceRoot":"","sources":["../../../src/integration-engine/datasources/ParkingProviderDataSourceFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sEAAoE;AAEpE,iEAAwE;AACxE,uEAAgE;AASzD,IAAM,gCAAgC,8CAAtC,MAAM,gCAAgC;IAGzC,YAEI,0BAAkE;QAElE,IAAI,CAAC,sBAAsB,GAAG;YAC1B,CAAC,qCAAe,CAAC,QAAQ,CAAC,EAAE,0BAA0B;SACzD,CAAC;IACN,CAAC;IAEM,aAAa,CAChB,kBAAqB,EACrB,GAAG,MAA8D;QAEjE,OAAO,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC,aAAa,CAAC,GAAG,MAAM,CAA4B,CAAC;IAC/G,CAAC;CACJ,CAAA;2CAlBY,gCAAgC;IAD5C,IAAA,qBAAU,GAAE;IAKJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,oBAAoB,CAAC,CAAA;;GAJ7C,gCAAgC,CAkB5C"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ParkingProvider = void 0;
|
|
4
|
+
var ParkingProvider;
|
|
5
|
+
(function (ParkingProvider) {
|
|
6
|
+
ParkingProvider["MrParkit"] = "MrParkit";
|
|
7
|
+
})(ParkingProvider || (exports.ParkingProvider = ParkingProvider = {}));
|
|
8
|
+
//# sourceMappingURL=ParkingProviderEnum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParkingProviderEnum.js","sourceRoot":"","sources":["../../../../src/integration-engine/datasources/helpers/ParkingProviderEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,eAEX;AAFD,WAAY,eAAe;IACvB,wCAAqB,CAAA;AACzB,CAAC,EAFW,eAAe,+BAAf,eAAe,QAE1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IDataSourceProvider.js","sourceRoot":"","sources":["../../../../src/integration-engine/datasources/interfaces/IDataSourceProvider.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IMrParkitGarage } from "../../../schema-definitions/datasources/interfaces/IMrParkitGarage";
|
|
2
|
+
import { ParkingProvider } from "../helpers/ParkingProviderEnum";
|
|
3
|
+
import { IDataSourceProvider } from "./IDataSourceProvider";
|
|
4
|
+
export type DataSourceProviderDict = {
|
|
5
|
+
[ParkingProvider.MrParkit]: IDataSourceProvider<IMrParkitGarage[]>;
|
|
6
|
+
};
|
|
7
|
+
export type DataSourceReturnType<T extends ParkingProvider> = ReturnType<DataSourceProviderDict[T]["getDataSource"]>;
|
|
8
|
+
export interface IParkingProviderDataSourceFactory {
|
|
9
|
+
getDataSource<T extends ParkingProvider>(presetLogsProvider: T, ...params: Parameters<DataSourceProviderDict[T]["getDataSource"]>): DataSourceReturnType<T>;
|
|
10
|
+
}
|
package/dist/integration-engine/datasources/interfaces/IParkingProviderDataSourceFactory.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IParkingProviderDataSourceFactory.js","sourceRoot":"","sources":["../../../../src/integration-engine/datasources/interfaces/IParkingProviderDataSourceFactory.ts"],"names":[],"mappings":";;AACA,wEAAiE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IMrParkitGarage } from "../../../schema-definitions/datasources/interfaces/IMrParkitGarage";
|
|
2
|
+
import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
|
|
3
|
+
import { IDataSource } from "@golemio/core/dist/integration-engine";
|
|
4
|
+
import { IDataSourceProvider } from "../interfaces/IDataSourceProvider";
|
|
5
|
+
type MrParkitDto = IMrParkitGarage[];
|
|
6
|
+
export declare class MrParkitDataSourceProvider implements IDataSourceProvider<MrParkitDto> {
|
|
7
|
+
private config;
|
|
8
|
+
private static DATASOURCE_NAME;
|
|
9
|
+
constructor(config: ISimpleConfig);
|
|
10
|
+
getDataSource(): IDataSource<MrParkitDto>;
|
|
11
|
+
private getProtocolStrategy;
|
|
12
|
+
}
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
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 MrParkitDataSourceProvider_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.MrParkitDataSourceProvider = void 0;
|
|
17
|
+
const MrParkitJsonSchema_1 = require("../../../schema-definitions/datasources/MrParkitJsonSchema");
|
|
18
|
+
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
19
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
20
|
+
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
21
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
22
|
+
let MrParkitDataSourceProvider = exports.MrParkitDataSourceProvider = MrParkitDataSourceProvider_1 = class MrParkitDataSourceProvider {
|
|
23
|
+
constructor(config) {
|
|
24
|
+
this.config = config;
|
|
25
|
+
}
|
|
26
|
+
getDataSource() {
|
|
27
|
+
const url = this.config.getValue("old.datasources.parking.mrParkit.datasource.url");
|
|
28
|
+
const apiVersion = this.config.getValue("old.datasources.parking.mrParkit.datasource.apiVersion");
|
|
29
|
+
const apiKey = this.config.getValue("old.datasources.parking.mrParkit.datasource.apiKey");
|
|
30
|
+
return new integration_engine_1.DataSource(MrParkitDataSourceProvider_1.DATASOURCE_NAME, this.getProtocolStrategy(url, apiVersion, apiKey), new integration_engine_1.JSONDataTypeStrategy({ resultsPath: "garages" }), new golemio_validator_1.JSONSchemaValidator(MrParkitDataSourceProvider_1.DATASOURCE_NAME, MrParkitJsonSchema_1.mrParkitJsonSchema));
|
|
31
|
+
}
|
|
32
|
+
getProtocolStrategy(url, apiVersion, apiKey) {
|
|
33
|
+
return new integration_engine_1.HTTPProtocolStrategy({
|
|
34
|
+
method: "GET",
|
|
35
|
+
url: url,
|
|
36
|
+
headers: {
|
|
37
|
+
"Content-Type": "application/json",
|
|
38
|
+
"x-api-version": apiVersion,
|
|
39
|
+
"x-api-key": apiKey,
|
|
40
|
+
},
|
|
41
|
+
timeout: 20000, // 20 seconds
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
MrParkitDataSourceProvider.DATASOURCE_NAME = "MrParkitDataSource";
|
|
46
|
+
exports.MrParkitDataSourceProvider = MrParkitDataSourceProvider = MrParkitDataSourceProvider_1 = __decorate([
|
|
47
|
+
(0, tsyringe_1.injectable)(),
|
|
48
|
+
__param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
|
|
49
|
+
__metadata("design:paramtypes", [Object])
|
|
50
|
+
], MrParkitDataSourceProvider);
|
|
51
|
+
//# sourceMappingURL=MrParkitDataSourceProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MrParkitDataSourceProvider.js","sourceRoot":"","sources":["../../../../src/integration-engine/datasources/mr-parkit/MrParkitDataSourceProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mGAAyE;AAGzE,wEAAqE;AACrE,8EAA4H;AAC5H,mFAAkF;AAClF,iEAAwE;AAMjE,IAAM,0BAA0B,uEAAhC,MAAM,0BAA0B;IAGnC,YAAoD,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAEtE,aAAa;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAS,iDAAiD,CAAC,CAAC;QAC5F,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAS,wDAAwD,CAAC,CAAC;QAC1G,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAS,oDAAoD,CAAC,CAAC;QAElG,OAAO,IAAI,+BAAU,CACjB,4BAA0B,CAAC,eAAe,EAC1C,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,EACjD,IAAI,yCAAoB,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EACpD,IAAI,uCAAmB,CAAC,4BAA0B,CAAC,eAAe,EAAE,uCAAkB,CAAC,CAC1F,CAAC;IACN,CAAC;IAEO,mBAAmB,CAAC,GAAW,EAAE,UAAkB,EAAE,MAAc;QACvE,OAAO,IAAI,yCAAoB,CAAC;YAC5B,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG;YACR,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,UAAU;gBAC3B,WAAW,EAAE,MAAM;aACtB;YACD,OAAO,EAAE,KAAK,EAAE,aAAa;SAChC,CAAC,CAAC;IACP,CAAC;;AA5Bc,0CAAe,GAAG,oBAAoB,AAAvB,CAAwB;qCAD7C,0BAA0B;IADtC,IAAA,qBAAU,GAAE;IAII,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;;GAHlC,0BAA0B,CA8BtC"}
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ParkingsContainer = void 0;
|
|
4
4
|
const TskTariffChecker_1 = require("../businessRules/TskTariffChecker");
|
|
5
|
+
const ParkingProviderDataSourceFactory_1 = require("../datasources/ParkingProviderDataSourceFactory");
|
|
5
6
|
const TskParkingDataSourceFactory_1 = require("../datasources/TskParkingDataSourceFactory");
|
|
7
|
+
const MrParkitDataSourceProvider_1 = require("../datasources/mr-parkit/MrParkitDataSourceProvider");
|
|
6
8
|
const ParkingMachinesRepository_1 = require("../repositories/ParkingMachinesRepository");
|
|
7
9
|
const ParkingTariffsRepository_1 = require("../repositories/ParkingTariffsRepository");
|
|
8
10
|
const ParkingsBusinessErrorsRepository_1 = require("../repositories/ParkingsBusinessErrorsRepository");
|
|
@@ -10,6 +12,7 @@ const ParkingsLocationRepository_1 = require("../repositories/ParkingsLocationRe
|
|
|
10
12
|
const ParkingsRepository_1 = require("../repositories/ParkingsRepository");
|
|
11
13
|
const ParkingsRedisModel_1 = require("../repositories/redis/ParkingsRedisModel");
|
|
12
14
|
const TskParkingMachinesTransformation_1 = require("../transformations/TskParkingMachinesTransformation");
|
|
15
|
+
const SaveMrParkitDataTask_1 = require("../workers/tasks/SaveMrParkitDataTask");
|
|
13
16
|
const ioc_1 = require("@golemio/core/dist/integration-engine/ioc");
|
|
14
17
|
const Di_1 = require("@golemio/core/dist/integration-engine/ioc/Di");
|
|
15
18
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
@@ -36,6 +39,8 @@ parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.TskParkin
|
|
|
36
39
|
parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.TskParkingZonesTariffsDataSource, {
|
|
37
40
|
useFactory: (0, tsyringe_1.instanceCachingFactory)(() => parkingDataSourceFactory.getDataSource("parkingTariffs")),
|
|
38
41
|
});
|
|
42
|
+
parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.MrParkitDataSourceProvider, MrParkitDataSourceProvider_1.MrParkitDataSourceProvider);
|
|
43
|
+
parkingsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.ParkingProviderDataSourceFactory, ParkingProviderDataSourceFactory_1.ParkingProviderDataSourceFactory);
|
|
39
44
|
//#endregion
|
|
40
45
|
//#region Transformation
|
|
41
46
|
parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.TskParkingMachinesTransformation, TskParkingMachinesTransformation_1.TskParkingMachinesTransformation);
|
|
@@ -51,4 +56,7 @@ parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.RedisMode
|
|
|
51
56
|
//#endregion
|
|
52
57
|
//#region Helpers
|
|
53
58
|
parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.TskTariffChecker, TskTariffChecker_1.TskTariffChecker);
|
|
59
|
+
//#endregion
|
|
60
|
+
//#region Tasks
|
|
61
|
+
parkingsContainer.registerSingleton(ModuleContainerToken_1.ModuleContainerToken.SaveMrParkitDataTask, SaveMrParkitDataTask_1.SaveMrParkitDataTask);
|
|
54
62
|
//# sourceMappingURL=Di.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,wEAAsE;AACtE,4FAA0F;AAC1F,yFAAuF;AACvF,uFAAqF;AACrF,uGAAqG;AACrG,2FAAyF;AACzF,2EAAyE;AACzE,iFAA+E;AAC/E,0GAAwG;
|
|
1
|
+
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/Di.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,5 +13,8 @@ declare const ModuleContainerToken: {
|
|
|
13
13
|
TskParkingSectionsDataSource: symbol;
|
|
14
14
|
TskParkingSectionTransformation: symbol;
|
|
15
15
|
TskParkingZonesTariffsDataSource: symbol;
|
|
16
|
+
ParkingProviderDataSourceFactory: symbol;
|
|
17
|
+
MrParkitDataSourceProvider: symbol;
|
|
18
|
+
SaveMrParkitDataTask: symbol;
|
|
16
19
|
};
|
|
17
20
|
export { ModuleContainerToken };
|
|
@@ -16,6 +16,11 @@ const ModuleContainerToken = {
|
|
|
16
16
|
TskParkingSectionsDataSource: Symbol(),
|
|
17
17
|
TskParkingSectionTransformation: Symbol(),
|
|
18
18
|
TskParkingZonesTariffsDataSource: Symbol("TskParkingZonesTariffsDataSource"),
|
|
19
|
+
ParkingProviderDataSourceFactory: Symbol(),
|
|
20
|
+
//#region MR.PARKIT
|
|
21
|
+
MrParkitDataSourceProvider: Symbol(),
|
|
22
|
+
SaveMrParkitDataTask: Symbol(),
|
|
23
|
+
//#endregion
|
|
19
24
|
};
|
|
20
25
|
exports.ModuleContainerToken = ModuleContainerToken;
|
|
21
26
|
//# sourceMappingURL=ModuleContainerToken.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleContainerToken.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/ModuleContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG;IACzB,gBAAgB,EAAE,MAAM,EAAE;IAC1B,UAAU,EAAE,MAAM,EAAE;IACpB,kBAAkB,EAAE,MAAM,EAAE;IAC5B,0BAA0B,EAAE,MAAM,EAAE;IACpC,wBAAwB,EAAE,MAAM,EAAE;IAClC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,yBAAyB,EAAE,MAAM,EAAE;IAEnC,4BAA4B,EAAE,MAAM,EAAE;IACtC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,mCAAmC,EAAE,MAAM,EAAE;IAC7C,mCAAmC,EAAE,MAAM,EAAE;IAC7C,4BAA4B,EAAE,MAAM,EAAE;IACtC,+BAA+B,EAAE,MAAM,EAAE;IAEzC,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"ModuleContainerToken.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/ModuleContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,oBAAoB,GAAG;IACzB,gBAAgB,EAAE,MAAM,EAAE;IAC1B,UAAU,EAAE,MAAM,EAAE;IACpB,kBAAkB,EAAE,MAAM,EAAE;IAC5B,0BAA0B,EAAE,MAAM,EAAE;IACpC,wBAAwB,EAAE,MAAM,EAAE;IAClC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,yBAAyB,EAAE,MAAM,EAAE;IAEnC,4BAA4B,EAAE,MAAM,EAAE;IACtC,gCAAgC,EAAE,MAAM,EAAE;IAC1C,mCAAmC,EAAE,MAAM,EAAE;IAC7C,mCAAmC,EAAE,MAAM,EAAE;IAC7C,4BAA4B,EAAE,MAAM,EAAE;IACtC,+BAA+B,EAAE,MAAM,EAAE;IAEzC,gCAAgC,EAAE,MAAM,CAAC,kCAAkC,CAAC;IAC5E,gCAAgC,EAAE,MAAM,EAAE;IAE1C,mBAAmB;IACnB,0BAA0B,EAAE,MAAM,EAAE;IACpC,oBAAoB,EAAE,MAAM,EAAE;IAC9B,YAAY;CACf,CAAC;AACO,oDAAoB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IMrParkitGarage } from "../../schema-definitions/datasources/interfaces/IMrParkitGarage";
|
|
2
|
+
import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
|
|
3
|
+
import { IMrParkingTranasformationDto, IMrParkitGarageTransformation } from "./interfaces/IMrParkitGarageTransformation";
|
|
4
|
+
type TransformIn = IMrParkitGarage;
|
|
5
|
+
type TransformOut = IMrParkingTranasformationDto;
|
|
6
|
+
export declare class MrParkitGarageTransformation extends AbstractTransformation<TransformIn, TransformOut> implements IMrParkitGarageTransformation {
|
|
7
|
+
private transformationDate;
|
|
8
|
+
name: string;
|
|
9
|
+
constructor(transformationDate: Date);
|
|
10
|
+
protected transformInternal: (data: TransformIn) => TransformOut;
|
|
11
|
+
private transformLocation;
|
|
12
|
+
private transformMeasurement;
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MrParkitGarageTransformation = void 0;
|
|
4
|
+
const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
|
|
5
|
+
const output_gateway_1 = require("@golemio/core/dist/output-gateway");
|
|
6
|
+
class MrParkitGarageTransformation extends AbstractTransformation_1.AbstractTransformation {
|
|
7
|
+
constructor(transformationDate) {
|
|
8
|
+
super();
|
|
9
|
+
this.transformationDate = transformationDate;
|
|
10
|
+
this.name = "MrParkitGarageTransformation";
|
|
11
|
+
this.transformInternal = (data) => {
|
|
12
|
+
const location = {
|
|
13
|
+
type: output_gateway_1.GeoCoordinatesType.Point,
|
|
14
|
+
coordinates: [data.longitude, data.latitude],
|
|
15
|
+
};
|
|
16
|
+
const parking = {
|
|
17
|
+
id: `mr_parkit-${data.id}`,
|
|
18
|
+
source: "mr_parkit",
|
|
19
|
+
source_id: data.id,
|
|
20
|
+
data_provider: "www.mrparkit.com",
|
|
21
|
+
name: data.name,
|
|
22
|
+
location,
|
|
23
|
+
centroid: location,
|
|
24
|
+
total_spot_number: 1,
|
|
25
|
+
date_modified: this.transformationDate.toISOString(),
|
|
26
|
+
parking_type: "park_sharing",
|
|
27
|
+
address: {
|
|
28
|
+
address_country: "Česko",
|
|
29
|
+
address_formatted: data.address,
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
return Object.assign(Object.assign({}, parking), { parkingLocation: this.transformLocation(parking), parkingMeasurement: this.transformMeasurement(parking, data) });
|
|
33
|
+
};
|
|
34
|
+
this.transformLocation = (parking) => {
|
|
35
|
+
return {
|
|
36
|
+
id: parking.id,
|
|
37
|
+
source: parking.source,
|
|
38
|
+
source_id: parking.source_id,
|
|
39
|
+
data_provider: parking.data_provider,
|
|
40
|
+
location: parking.location,
|
|
41
|
+
centroid: parking.centroid,
|
|
42
|
+
total_spot_number: parking.total_spot_number,
|
|
43
|
+
address: parking.address,
|
|
44
|
+
special_access: "all",
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
this.transformMeasurement = (parking, data) => {
|
|
48
|
+
return {
|
|
49
|
+
parking_id: parking.id,
|
|
50
|
+
source: parking.source,
|
|
51
|
+
source_id: parking.source_id,
|
|
52
|
+
available_spot_number: data.free ? 1 : 0,
|
|
53
|
+
date_modified: this.transformationDate.toISOString(),
|
|
54
|
+
occupied_spot_number: data.free ? 0 : 1,
|
|
55
|
+
total_spot_number: parking.total_spot_number,
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.MrParkitGarageTransformation = MrParkitGarageTransformation;
|
|
61
|
+
//# sourceMappingURL=MrParkitGarageTransformation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MrParkitGarageTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/MrParkitGarageTransformation.ts"],"names":[],"mappings":";;;AAGA,6GAA0G;AAC1G,sEAA6F;AAM7F,MAAa,4BACT,SAAQ,+CAAiD;IAKzD,YAAoB,kBAAwB;QACxC,KAAK,EAAE,CAAC;QADQ,uBAAkB,GAAlB,kBAAkB,CAAM;QAFrC,SAAI,GAAG,8BAA8B,CAAC;QAMnC,sBAAiB,GAAG,CAAC,IAAiB,EAAgB,EAAE;YAC9D,MAAM,QAAQ,GAAyB;gBACnC,IAAI,EAAE,mCAAkB,CAAC,KAAK;gBAC9B,WAAW,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC;aAC/C,CAAC;YAEF,MAAM,OAAO,GAAa;gBACtB,EAAE,EAAE,aAAa,IAAI,CAAC,EAAE,EAAE;gBAC1B,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,IAAI,CAAC,EAAE;gBAClB,aAAa,EAAE,kBAAkB;gBACjC,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ;gBACR,QAAQ,EAAE,QAAQ;gBAClB,iBAAiB,EAAE,CAAC;gBACpB,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;gBACpD,YAAY,EAAE,cAAc;gBAC5B,OAAO,EAAE;oBACL,eAAe,EAAE,OAAO;oBACxB,iBAAiB,EAAE,IAAI,CAAC,OAAO;iBAClC;aACJ,CAAC;YAEF,uCACO,OAAO,KACV,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAChD,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,IAC9D;QACN,CAAC,CAAC;QAEM,sBAAiB,GAAG,CAAC,OAAiB,EAAoB,EAAE;YAChE,OAAO;gBACH,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;gBAC5C,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,cAAc,EAAE,KAAK;aACxB,CAAC;QACN,CAAC,CAAC;QAEM,yBAAoB,GAAG,CAAC,OAAiB,EAAE,IAAiB,EAAwB,EAAE;YAC1F,OAAO;gBACH,UAAU,EAAE,OAAO,CAAC,EAAE;gBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;gBACpD,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;aAC/C,CAAC;QACN,CAAC,CAAC;IAxDF,CAAC;CAyDJ;AAjED,oEAiEC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IParking, IParkingMeasurements } from "../../ParkingInterface";
|
|
2
|
+
import { IMrParkitGarage } from "../../../schema-definitions/datasources/interfaces/IMrParkitGarage";
|
|
3
|
+
import { IParkingLocation } from "../../../schema-definitions/models/interfaces/IParkingLocation";
|
|
4
|
+
import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
|
|
5
|
+
export interface IMrParkingTranasformationDto extends IParking {
|
|
6
|
+
parkingLocation: IParkingLocation;
|
|
7
|
+
parkingMeasurement: IParkingMeasurements;
|
|
8
|
+
}
|
|
9
|
+
export interface IMrParkitGarageTransformation extends AbstractTransformation<IMrParkitGarage, IMrParkingTranasformationDto> {
|
|
10
|
+
}
|
package/dist/integration-engine/transformations/interfaces/IMrParkitGarageTransformation.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IMrParkitGarageTransformation.js","sourceRoot":"","sources":["../../../../src/integration-engine/transformations/interfaces/IMrParkitGarageTransformation.ts"],"names":[],"mappings":""}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { AbstractWorker } from "@golemio/core/dist/integration-engine";
|
|
1
|
+
import { AbstractTask, AbstractWorker } from "@golemio/core/dist/integration-engine";
|
|
2
2
|
export declare class NewParkingsWorker extends AbstractWorker {
|
|
3
|
-
protected readonly name
|
|
3
|
+
protected readonly name = "Parkings";
|
|
4
4
|
constructor();
|
|
5
|
+
registerTask: (task: AbstractTask<any>) => void;
|
|
5
6
|
}
|
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.NewParkingsWorker = void 0;
|
|
4
|
+
const Di_1 = require("../ioc/Di");
|
|
5
|
+
const ModuleContainerToken_1 = require("../ioc/ModuleContainerToken");
|
|
4
6
|
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
7
|
+
const constants_1 = require("./constants");
|
|
5
8
|
const SaveParkingZonesPrague_1 = require("./tasks/SaveParkingZonesPrague");
|
|
6
9
|
class NewParkingsWorker extends integration_engine_1.AbstractWorker {
|
|
7
10
|
constructor() {
|
|
8
11
|
super();
|
|
9
|
-
this.name =
|
|
12
|
+
this.name = constants_1.NEW_PARKINGS_WORKER_NAME;
|
|
13
|
+
this.registerTask = (task) => {
|
|
14
|
+
super.registerTask(task);
|
|
15
|
+
task.queuePrefix = this.getQueuePrefix();
|
|
16
|
+
};
|
|
17
|
+
// Register tasks
|
|
18
|
+
this.registerTask(Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.SaveMrParkitDataTask));
|
|
10
19
|
this.registerTask(new SaveParkingZonesPrague_1.SaveParkingZonesPrague(this.getQueuePrefix()));
|
|
11
20
|
}
|
|
12
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NewParkingsWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/NewParkingsWorker.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"NewParkingsWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/NewParkingsWorker.ts"],"names":[],"mappings":";;;AAAA,kCAA+C;AAC/C,sEAAoE;AACpE,8EAAqF;AACrF,2CAAuD;AACvD,2EAAwE;AAExE,MAAa,iBAAkB,SAAQ,mCAAc;IAGjD;QACI,KAAK,EAAE,CAAC;QAHO,SAAI,GAAG,oCAAwB,CAAC;QAU5C,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;QARE,iBAAiB;QACjB,IAAI,CAAC,YAAY,CAAC,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,YAAY,CAAC,IAAI,+CAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;CAMJ;AAfD,8CAeC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const NEW_PARKINGS_WORKER_NAME = "Parkings";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,wBAAwB,GAAG,UAAU,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IParkingProviderDataSourceFactory } from "../../datasources/interfaces/IParkingProviderDataSourceFactory";
|
|
2
|
+
import { ParkingsLocationRepository } from "../../repositories/ParkingsLocationRepository";
|
|
3
|
+
import { ParkingsRepository } from "../../repositories/ParkingsRepository";
|
|
4
|
+
import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine/workers/AbstractEmptyTask";
|
|
5
|
+
export declare class SaveMrParkitDataTask extends AbstractEmptyTask {
|
|
6
|
+
private dataSourceFactory;
|
|
7
|
+
private parkingRepository;
|
|
8
|
+
private parkingLocationRepository;
|
|
9
|
+
readonly queueName = "saveMrParkitData";
|
|
10
|
+
readonly queueTtl: number;
|
|
11
|
+
private measurementsRepository;
|
|
12
|
+
constructor(dataSourceFactory: IParkingProviderDataSourceFactory, parkingRepository: ParkingsRepository, parkingLocationRepository: ParkingsLocationRepository);
|
|
13
|
+
protected execute(): Promise<void>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
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
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
24
|
+
var t = {};
|
|
25
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
26
|
+
t[p] = s[p];
|
|
27
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
28
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
29
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
30
|
+
t[p[i]] = s[p[i]];
|
|
31
|
+
}
|
|
32
|
+
return t;
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
exports.SaveMrParkitDataTask = void 0;
|
|
36
|
+
const ParkingProviderEnum_1 = require("../../datasources/helpers/ParkingProviderEnum");
|
|
37
|
+
const ModuleContainerToken_1 = require("../../ioc/ModuleContainerToken");
|
|
38
|
+
const ParkingsLocationRepository_1 = require("../../repositories/ParkingsLocationRepository");
|
|
39
|
+
const ParkingsRepository_1 = require("../../repositories/ParkingsRepository");
|
|
40
|
+
const MrParkitGarageTransformation_1 = require("../../transformations/MrParkitGarageTransformation");
|
|
41
|
+
const _sch_1 = require("../../../schema-definitions");
|
|
42
|
+
const ParkingMeasurementsDtoSchema_1 = require("../../../schema-definitions/datasources/ParkingMeasurementsDtoSchema");
|
|
43
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
44
|
+
const AbstractEmptyTask_1 = require("@golemio/core/dist/integration-engine/workers/AbstractEmptyTask");
|
|
45
|
+
const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
46
|
+
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
47
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
48
|
+
const constants_1 = require("../constants");
|
|
49
|
+
let SaveMrParkitDataTask = exports.SaveMrParkitDataTask = class SaveMrParkitDataTask extends AbstractEmptyTask_1.AbstractEmptyTask {
|
|
50
|
+
constructor(dataSourceFactory, parkingRepository, parkingLocationRepository) {
|
|
51
|
+
super(constants_1.NEW_PARKINGS_WORKER_NAME);
|
|
52
|
+
this.dataSourceFactory = dataSourceFactory;
|
|
53
|
+
this.parkingRepository = parkingRepository;
|
|
54
|
+
this.parkingLocationRepository = parkingLocationRepository;
|
|
55
|
+
this.queueName = "saveMrParkitData";
|
|
56
|
+
this.queueTtl = 15 * 60 * 1000; // 15min
|
|
57
|
+
this.measurementsRepository = new integration_engine_1.PostgresModel(_sch_1.Parkings.measurements.name + "Model", {
|
|
58
|
+
outputSequelizeAttributes: _sch_1.Parkings.measurements.outputSequelizeAttributes,
|
|
59
|
+
pgSchema: _sch_1.Parkings.pgSchema,
|
|
60
|
+
pgTableName: _sch_1.Parkings.measurements.pgTableName,
|
|
61
|
+
savingType: "insertOrUpdate",
|
|
62
|
+
}, new golemio_validator_1.JSONSchemaValidator(_sch_1.Parkings.measurements.name + "PgModelValidator", ParkingMeasurementsDtoSchema_1.ParkingMeasurementsDtoSchema));
|
|
63
|
+
}
|
|
64
|
+
execute() {
|
|
65
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
+
const dataSource = this.dataSourceFactory.getDataSource(ParkingProviderEnum_1.ParkingProvider.MrParkit);
|
|
67
|
+
let garageResult = [];
|
|
68
|
+
try {
|
|
69
|
+
garageResult = yield dataSource.getAll();
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
if (err instanceof golemio_errors_1.AbstractGolemioError) {
|
|
73
|
+
throw err;
|
|
74
|
+
}
|
|
75
|
+
throw new golemio_errors_1.DatasourceError("Error while fetching MR.PARKIT garages", this.constructor.name, err);
|
|
76
|
+
}
|
|
77
|
+
const transformationDate = new Date();
|
|
78
|
+
const garageTransformation = new MrParkitGarageTransformation_1.MrParkitGarageTransformation(transformationDate);
|
|
79
|
+
let transformedGarages = [];
|
|
80
|
+
let transformedLocations = [];
|
|
81
|
+
let transformedMeasurements = [];
|
|
82
|
+
try {
|
|
83
|
+
for (const garage of garageResult) {
|
|
84
|
+
const _a = garageTransformation.transformElement(garage), { parkingLocation, parkingMeasurement } = _a, parking = __rest(_a, ["parkingLocation", "parkingMeasurement"]);
|
|
85
|
+
transformedGarages.push(parking);
|
|
86
|
+
transformedLocations.push(parkingLocation);
|
|
87
|
+
transformedMeasurements.push(parkingMeasurement);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
catch (err) {
|
|
91
|
+
throw new golemio_errors_1.TransformationError("Error while transforming MR.PARKIT garages", this.constructor.name, err);
|
|
92
|
+
}
|
|
93
|
+
if (!transformedGarages.length) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
try {
|
|
97
|
+
yield this.measurementsRepository.bulkSave(transformedMeasurements);
|
|
98
|
+
yield this.parkingLocationRepository.bulkSave(transformedLocations);
|
|
99
|
+
yield this.parkingRepository.bulkSave(transformedGarages);
|
|
100
|
+
}
|
|
101
|
+
catch (err) {
|
|
102
|
+
throw new golemio_errors_1.GeneralError("Error while saving MR.PARKIT data", this.constructor.name, err);
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
exports.SaveMrParkitDataTask = SaveMrParkitDataTask = __decorate([
|
|
108
|
+
(0, tsyringe_1.injectable)(),
|
|
109
|
+
__param(0, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingProviderDataSourceFactory)),
|
|
110
|
+
__param(1, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingsRepository)),
|
|
111
|
+
__param(2, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.ParkingsLocationRepository)),
|
|
112
|
+
__metadata("design:paramtypes", [Object, ParkingsRepository_1.ParkingsRepository,
|
|
113
|
+
ParkingsLocationRepository_1.ParkingsLocationRepository])
|
|
114
|
+
], SaveMrParkitDataTask);
|
|
115
|
+
//# sourceMappingURL=SaveMrParkitDataTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SaveMrParkitDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveMrParkitDataTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mrParkitJsonSchema = void 0;
|
|
4
|
+
exports.mrParkitJsonSchema = {
|
|
5
|
+
type: "array",
|
|
6
|
+
items: {
|
|
7
|
+
type: "object",
|
|
8
|
+
properties: {
|
|
9
|
+
id: {
|
|
10
|
+
type: "string",
|
|
11
|
+
},
|
|
12
|
+
name: {
|
|
13
|
+
type: "string",
|
|
14
|
+
},
|
|
15
|
+
address: {
|
|
16
|
+
type: "string",
|
|
17
|
+
},
|
|
18
|
+
free: {
|
|
19
|
+
type: "boolean",
|
|
20
|
+
},
|
|
21
|
+
latitude: {
|
|
22
|
+
type: "number",
|
|
23
|
+
},
|
|
24
|
+
longitude: {
|
|
25
|
+
type: "number",
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
required: ["id", "name", "free", "address", "latitude", "longitude"],
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=MrParkitJsonSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MrParkitJsonSchema.js","sourceRoot":"","sources":["../../../src/schema-definitions/datasources/MrParkitJsonSchema.ts"],"names":[],"mappings":";;;AAGa,QAAA,kBAAkB,GAAsC;IACjE,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,EAAE,EAAE;gBACA,IAAI,EAAE,QAAQ;aACjB;YACD,IAAI,EAAE;gBACF,IAAI,EAAE,QAAQ;aACjB;YACD,OAAO,EAAE;gBACL,IAAI,EAAE,QAAQ;aACjB;YACD,IAAI,EAAE;gBACF,IAAI,EAAE,SAAS;aAClB;YACD,QAAQ,EAAE;gBACN,IAAI,EAAE,QAAQ;aACjB;YACD,SAAS,EAAE;gBACP,IAAI,EAAE,QAAQ;aACjB;SACJ;QACD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC;KACvE;CACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IMrParkitGarage.js","sourceRoot":"","sources":["../../../../src/schema-definitions/datasources/interfaces/IMrParkitGarage.ts"],"names":[],"mappings":""}
|
|
@@ -369,8 +369,7 @@ const outputLocationJsonSchema = {
|
|
|
369
369
|
};
|
|
370
370
|
const outputLocationSDMA = {
|
|
371
371
|
id: {
|
|
372
|
-
|
|
373
|
-
type: sequelize_1.default.BIGINT,
|
|
372
|
+
type: sequelize_1.default.STRING,
|
|
374
373
|
primaryKey: true,
|
|
375
374
|
},
|
|
376
375
|
source: sequelize_1.default.STRING,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema-definitions/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema-definitions/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -182,6 +182,26 @@ Parkoviště, která nemají tarif (je null), mohou dostat tarif ze statického
|
|
|
182
182
|
|
|
183
183
|
Vybraným parkovištím může být nahrazena location za Multipolygon ze zdroje IPT (výměna bodu za multipolygon). Původní bod je uložen do centroidu.
|
|
184
184
|
|
|
185
|
+
#### _MR.PARKIT Garages_
|
|
186
|
+
|
|
187
|
+
- zdroj dat
|
|
188
|
+
- url: config.datasources.parkings.mrParkit.datasource.url
|
|
189
|
+
- parametry dotazu:
|
|
190
|
+
- apiVersion: config.datasources.parkings.mrParkit.datasource.apiVersion
|
|
191
|
+
- apiKey: config.datasources.parkings.mrParkit.datasource.apiKey
|
|
192
|
+
- formát dat
|
|
193
|
+
- protokol: http
|
|
194
|
+
- datový typ: json
|
|
195
|
+
- validační schéma: [mrParkitJsonSchema](../src/schema-definitions/datasources/MrParkitJsonSchema.ts)
|
|
196
|
+
- příklad vstupnich dat: [InputDataFixture](../test/integration-engine/data/MrParkitInputDataFixture.ts)
|
|
197
|
+
- frekvence stahování
|
|
198
|
+
- cron definice:
|
|
199
|
+
- cron.dataplatform.parkings.saveMrParkitData
|
|
200
|
+
- rabin `0 */15 * * * *`
|
|
201
|
+
- prod `0 */15 * * * *`
|
|
202
|
+
- názvy rabbitmq front
|
|
203
|
+
- dataplatform.parkings.saveMrParkitData
|
|
204
|
+
|
|
185
205
|
## Zpracování dat / transformace
|
|
186
206
|
|
|
187
207
|
Při transformaci dat lokací data obohacujeme o adresu parkoviště, která vychází z centroidu geometrie daného parkoviště a získává se z Photon API metodou `GeocodeApi.getAddressByLatLngFromPhoton` v modulu Core.
|
|
@@ -215,6 +235,20 @@ Vybraným parkovištím může být nahrazena location za Multipolygon ze zdroje
|
|
|
215
235
|
- Další zpracování TariffTSK
|
|
216
236
|
- před uložením jsou ceníky zkontrolovány podle pravidel: `ZeroMaxParkingTime`, `MaxChargeIterationsRule`, `MaxPriceRule`. Pokud jedno z pravidel není splněno tak se všechny položky se stejným cTariff přeskočí a tudíž neuloží do databáze. Záznam o tom, které položky neprošly kontrolou se uloží do tabulky `parkings_business_errors`
|
|
217
237
|
|
|
238
|
+
#### Task _SaveMrParkitData_
|
|
239
|
+
|
|
240
|
+
- vstupní rabbitmq fronta
|
|
241
|
+
- název: `dataplatform.parkings.saveMrParkitData`
|
|
242
|
+
- bez parametrů
|
|
243
|
+
- datové zdroje
|
|
244
|
+
- dataSourceMrParkit (http)
|
|
245
|
+
- transformace
|
|
246
|
+
- [MrParkitGarageTransformation](../src/integration-engine/workers/tasks/SaveMrParkitDataTask.ts) - transformace parkovišť, lokací i measurementů (pro každou garáž nálezí vždy jeden business objekt od každého)
|
|
247
|
+
- data modely
|
|
248
|
+
- parkingsModel -> (schéma parkings) `parkings`
|
|
249
|
+
- parkingsLocationModel -> (schéma parkings) `parkings_location`
|
|
250
|
+
- parkingsMeasurementsModel -> (schéma parkings) `parkings_measurements`
|
|
251
|
+
|
|
218
252
|
### Worker *ParkingsWorker*
|
|
219
253
|
|
|
220
254
|
#### *saveParkingLotsPrague*
|