@golemio/parkings 1.6.1-dev.1018184794 → 1.6.1-dev.1022513268

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.
Files changed (72) hide show
  1. package/db/migrations/postgresql/20230918124250-tsk-v-2-parking-sources.js +53 -0
  2. package/db/migrations/postgresql/20230918124259-tsk-v-2-parking-machines.js +53 -0
  3. package/db/migrations/postgresql/sqls/20230918124250-tsk-v-2-parking-sources-down.sql +1 -0
  4. package/db/migrations/postgresql/sqls/20230918124250-tsk-v-2-parking-sources-up.sql +18 -0
  5. package/db/migrations/postgresql/sqls/20230918124259-tsk-v-2-parking-machines-down.sql +1 -0
  6. package/db/migrations/postgresql/sqls/20230918124259-tsk-v-2-parking-machines-up.sql +15 -0
  7. package/dist/integration-engine/datasources/TskParkingDataSourceFactory.d.ts +8 -0
  8. package/dist/integration-engine/datasources/TskParkingDataSourceFactory.js +49 -0
  9. package/dist/integration-engine/datasources/TskParkingDataSourceFactory.js.map +1 -0
  10. package/dist/integration-engine/index.d.ts +3 -1
  11. package/dist/integration-engine/index.js +3 -1
  12. package/dist/integration-engine/index.js.map +1 -1
  13. package/dist/integration-engine/ioc/Di.js +29 -1
  14. package/dist/integration-engine/ioc/Di.js.map +1 -1
  15. package/dist/integration-engine/ioc/ModuleContainerToken.d.ts +9 -0
  16. package/dist/integration-engine/ioc/ModuleContainerToken.js +9 -0
  17. package/dist/integration-engine/ioc/ModuleContainerToken.js.map +1 -1
  18. package/dist/integration-engine/repositories/ParkingMachinesRepository.d.ts +4 -0
  19. package/dist/integration-engine/repositories/ParkingMachinesRepository.js +35 -0
  20. package/dist/integration-engine/repositories/ParkingMachinesRepository.js.map +1 -0
  21. package/dist/integration-engine/transformations/TskParkingMachinesTransformation.d.ts +7 -0
  22. package/dist/integration-engine/transformations/TskParkingMachinesTransformation.js +24 -0
  23. package/dist/integration-engine/transformations/TskParkingMachinesTransformation.js.map +1 -0
  24. package/dist/integration-engine/transformations/TskParkingSectionLevelTransformation.d.ts +7 -0
  25. package/dist/integration-engine/transformations/TskParkingSectionLevelTransformation.js +35 -0
  26. package/dist/integration-engine/transformations/TskParkingSectionLevelTransformation.js.map +1 -0
  27. package/dist/integration-engine/transformations/TskParkingSectionTransformation.d.ts +9 -0
  28. package/dist/integration-engine/transformations/TskParkingSectionTransformation.js +60 -0
  29. package/dist/integration-engine/transformations/TskParkingSectionTransformation.js.map +1 -0
  30. package/dist/integration-engine/workers/TskParkingWorker.d.ts +5 -0
  31. package/dist/integration-engine/workers/TskParkingWorker.js +26 -0
  32. package/dist/integration-engine/workers/TskParkingWorker.js.map +1 -0
  33. package/dist/integration-engine/workers/tasks/SaveTskParkingMachinesTask.d.ts +13 -0
  34. package/dist/integration-engine/workers/tasks/SaveTskParkingMachinesTask.js +56 -0
  35. package/dist/integration-engine/workers/tasks/SaveTskParkingMachinesTask.js.map +1 -0
  36. package/dist/integration-engine/workers/tasks/SaveTskParkingSectionLevel251Task.d.ts +13 -0
  37. package/dist/integration-engine/workers/tasks/SaveTskParkingSectionLevel251Task.js +56 -0
  38. package/dist/integration-engine/workers/tasks/SaveTskParkingSectionLevel251Task.js.map +1 -0
  39. package/dist/integration-engine/workers/tasks/SaveTskParkingSectionLevel253Task.d.ts +13 -0
  40. package/dist/integration-engine/workers/tasks/SaveTskParkingSectionLevel253Task.js +56 -0
  41. package/dist/integration-engine/workers/tasks/SaveTskParkingSectionLevel253Task.js.map +1 -0
  42. package/dist/integration-engine/workers/tasks/SaveTskParkingSectionsTask.d.ts +13 -0
  43. package/dist/integration-engine/workers/tasks/SaveTskParkingSectionsTask.js +57 -0
  44. package/dist/integration-engine/workers/tasks/SaveTskParkingSectionsTask.js.map +1 -0
  45. package/dist/output-gateway/models/ParkingsModel.js +5 -0
  46. package/dist/output-gateway/models/ParkingsModel.js.map +1 -1
  47. package/dist/schema-definitions/datasources/TskParkingMachinesSchema.d.ts +3 -0
  48. package/dist/schema-definitions/datasources/TskParkingMachinesSchema.js +23 -0
  49. package/dist/schema-definitions/datasources/TskParkingMachinesSchema.js.map +1 -0
  50. package/dist/schema-definitions/datasources/TskParkingSectionLevelSchema.d.ts +3 -0
  51. package/dist/schema-definitions/datasources/TskParkingSectionLevelSchema.js +25 -0
  52. package/dist/schema-definitions/datasources/TskParkingSectionLevelSchema.js.map +1 -0
  53. package/dist/schema-definitions/datasources/TskParkingSectionSchema.d.ts +3 -0
  54. package/dist/schema-definitions/datasources/TskParkingSectionSchema.js +23 -0
  55. package/dist/schema-definitions/datasources/TskParkingSectionSchema.js.map +1 -0
  56. package/dist/schema-definitions/datasources/interfaces/ITskParkingMachine.d.ts +9 -0
  57. package/dist/schema-definitions/datasources/interfaces/ITskParkingMachine.js +3 -0
  58. package/dist/schema-definitions/datasources/interfaces/ITskParkingMachine.js.map +1 -0
  59. package/dist/schema-definitions/datasources/interfaces/ITskParkingSection.d.ts +9 -0
  60. package/dist/schema-definitions/datasources/interfaces/ITskParkingSection.js +3 -0
  61. package/dist/schema-definitions/datasources/interfaces/ITskParkingSection.js.map +1 -0
  62. package/dist/schema-definitions/datasources/interfaces/ITskParkingSectionLevel.d.ts +11 -0
  63. package/dist/schema-definitions/datasources/interfaces/ITskParkingSectionLevel.js +3 -0
  64. package/dist/schema-definitions/datasources/interfaces/ITskParkingSectionLevel.js.map +1 -0
  65. package/dist/schema-definitions/datasources/interfaces/ITskParkingTariff.d.ts +23 -0
  66. package/dist/schema-definitions/datasources/interfaces/ITskParkingTariff.js +3 -0
  67. package/dist/schema-definitions/datasources/interfaces/ITskParkingTariff.js.map +1 -0
  68. package/dist/schema-definitions/models/interfaces/IParkingMachine.d.ts +10 -0
  69. package/dist/schema-definitions/models/interfaces/IParkingMachine.js +3 -0
  70. package/dist/schema-definitions/models/interfaces/IParkingMachine.js.map +1 -0
  71. package/docs/implementation-documentation.md +45 -1
  72. package/package.json +3 -1
@@ -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', '20230918124250-tsk-v-2-parking-sources-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', '20230918124250-tsk-v-2-parking-sources-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,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', '20230918124259-tsk-v-2-parking-machines-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', '20230918124259-tsk-v-2-parking-machines-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
+ drop table IF EXISTS parking_sources;
@@ -0,0 +1,18 @@
1
+ create table parking_sources (
2
+ "source" varchar(255) NOT NULL,
3
+ open_data bool NOT NULL,
4
+ ipt_allowed bool NOT NULL,
5
+ payment_url varchar(255) NULL,
6
+ contact jsonb NULL,
7
+ CONSTRAINT parking_sources_pkey PRIMARY KEY (source)
8
+ );
9
+
10
+ insert into parking_sources(source, open_data, ipt_allowed, payment_url, contact) VALUES
11
+ ('tsk_v2', false, true,
12
+ 'https://ke-utc.appspot.com/static/onstreet.html?shortname={shortNameValue})',
13
+ '{
14
+ "email": "parking@tsk-praha.cz",
15
+ "phone": "+420 257 015 257",
16
+ "web_url": "https://parking.praha.eu/",
17
+ "term_of_use_url": "https://parking.praha.eu/cs/moznosti-parkovani-v-praze/parkovani-v-zonach/"
18
+ }');
@@ -0,0 +1 @@
1
+ drop table IF EXISTS parking_machines;
@@ -0,0 +1,15 @@
1
+ create table parking_machines (
2
+ id varchar(255) NOT NULL,
3
+ "source" varchar(255) NOT NULL,
4
+ code varchar(255) NULL,
5
+ type varchar(255) NULL,
6
+ location geometry NULL,
7
+ valid_from timestamptz NULL,
8
+ tariff_id varchar(255) NULL,
9
+ created_at timestamptz NULL,
10
+ created_by varchar(150) NULL,
11
+ updated_at timestamptz NULL,
12
+ updated_by varchar(150) NULL,
13
+
14
+ CONSTRAINT parking_machines_pk PRIMARY KEY (id)
15
+ );
@@ -0,0 +1,8 @@
1
+ import { DataSource } from "@golemio/core/dist/integration-engine/datasources";
2
+ import { IConfiguration } from "@golemio/core/dist/integration-engine/config";
3
+ export declare class TskParkingDataSourceFactory {
4
+ private config;
5
+ private schemas;
6
+ constructor(config: IConfiguration);
7
+ getDataSource(endpoint: string): DataSource;
8
+ }
@@ -0,0 +1,49 @@
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.TskParkingDataSourceFactory = void 0;
16
+ const datasources_1 = require("@golemio/core/dist/integration-engine/datasources");
17
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
18
+ const TskParkingMachinesSchema_1 = require("../../schema-definitions/datasources/TskParkingMachinesSchema");
19
+ const TskParkingSectionLevelSchema_1 = require("../../schema-definitions/datasources/TskParkingSectionLevelSchema");
20
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
21
+ const ioc_1 = require("@golemio/core/dist/integration-engine/ioc");
22
+ const TskParkingSectionSchema_1 = require("../../schema-definitions/datasources/TskParkingSectionSchema");
23
+ let TskParkingDataSourceFactory = exports.TskParkingDataSourceFactory = class TskParkingDataSourceFactory {
24
+ constructor(config) {
25
+ this.config = config;
26
+ this.schemas = {
27
+ parkingSections: TskParkingSectionSchema_1.TskParkingSectionSchema,
28
+ parkingSectionLevel251: TskParkingSectionLevelSchema_1.TskParkingSectionLevelSchema,
29
+ parkingSectionLevel253: TskParkingSectionLevelSchema_1.TskParkingSectionLevelSchema,
30
+ parkingMachines: TskParkingMachinesSchema_1.TskParkingMachinesSchema,
31
+ };
32
+ }
33
+ getDataSource(endpoint) {
34
+ const authToken = Buffer.from(this.config.datasources.parking.TskApiCredentials.user + ":" + this.config.datasources.parking.TskApiCredentials.pass).toString("base64");
35
+ return new datasources_1.DataSource(this.schemas[endpoint].name + "DataSource", new datasources_1.HTTPProtocolStrategy({
36
+ headers: {
37
+ Authorization: `Basic ${authToken}`,
38
+ },
39
+ method: "GET",
40
+ url: this.config.datasources.parking.TskApiBaseUrl + this.config.datasources.parking.TskApiEndpoints[endpoint],
41
+ }), new datasources_1.JSONDataTypeStrategy({ resultsPath: "" }), new golemio_validator_1.JSONSchemaValidator(this.schemas[endpoint].name, this.schemas[endpoint].jsonSchema));
42
+ }
43
+ };
44
+ exports.TskParkingDataSourceFactory = TskParkingDataSourceFactory = __decorate([
45
+ (0, tsyringe_1.injectable)(),
46
+ __param(0, (0, tsyringe_1.inject)(ioc_1.ContainerToken.Config)),
47
+ __metadata("design:paramtypes", [Object])
48
+ ], TskParkingDataSourceFactory);
49
+ //# sourceMappingURL=TskParkingDataSourceFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TskParkingDataSourceFactory.js","sourceRoot":"","sources":["../../../src/integration-engine/datasources/TskParkingDataSourceFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mFAA2H;AAC3H,mFAAkF;AAElF,4GAAqF;AACrF,oHAA6F;AAC7F,iEAAwE;AACxE,mEAA2E;AAC3E,0GAAmF;AAU5E,IAAM,2BAA2B,yCAAjC,MAAM,2BAA2B;IAQpC,YAA2C,MAA8B;QAAtB,WAAM,GAAN,MAAM,CAAgB;QAPjE,YAAO,GAAsB;YACjC,eAAe,EAAE,iDAAuB;YACxC,sBAAsB,EAAE,2DAA4B;YACpD,sBAAsB,EAAE,2DAA4B;YACpD,eAAe,EAAE,mDAAwB;SAC5C,CAAC;IAE0E,CAAC;IAEtE,aAAa,CAAC,QAAgB;QACjC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CACzB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CACxH,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAErB,OAAO,IAAI,wBAAU,CACjB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,YAAY,EAC1C,IAAI,kCAAoB,CAAC;YACrB,OAAO,EAAE;gBACL,aAAa,EAAE,SAAS,SAAS,EAAE;aACtC;YACD,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC;SACjH,CAAC,EACF,IAAI,kCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAI,uCAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAC1F,CAAC;IACN,CAAC;CACJ,CAAA;sCA5BY,2BAA2B;IADvC,IAAA,qBAAU,GAAE;IASI,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,MAAM,CAAC,CAAA;;GARjC,2BAA2B,CA4BvC"}
@@ -1,6 +1,7 @@
1
1
  import { StaticTariffsWorker } from "./workers/StaticTariffsWorker";
2
2
  import { UpdateAddressWorker } from "./workers/UpdateAddressWorker";
3
3
  import { NewParkingsWorker } from "./workers/NewParkingsWorker";
4
+ import { TskParkingWorker } from "./workers/TskParkingWorker";
4
5
  export * from "./ParkingsWorker";
5
6
  export * from "./transformations/KoridParkingDataTransformation";
6
7
  export * from "./transformations/KoridParkingConfigTransformation";
@@ -9,4 +10,5 @@ export * from "./ZtpParkingZones/ZtpParkingZonesDataSourceFactory";
9
10
  export * from "./ZtpParkingZones/ZtpParkingZonesTransformation";
10
11
  export * from "./ZtpParkingZones/ZtpParkingZonesWorker";
11
12
  export * from "./workers/StaticTariffsWorker";
12
- export declare const workers: (typeof StaticTariffsWorker | typeof UpdateAddressWorker | typeof NewParkingsWorker)[];
13
+ export * from "./workers/TskParkingWorker";
14
+ export declare const workers: (typeof StaticTariffsWorker | typeof UpdateAddressWorker | typeof NewParkingsWorker | typeof TskParkingWorker)[];
@@ -19,6 +19,7 @@ exports.workers = void 0;
19
19
  const StaticTariffsWorker_1 = require("./workers/StaticTariffsWorker");
20
20
  const UpdateAddressWorker_1 = require("./workers/UpdateAddressWorker");
21
21
  const NewParkingsWorker_1 = require("./workers/NewParkingsWorker");
22
+ const TskParkingWorker_1 = require("./workers/TskParkingWorker");
22
23
  __exportStar(require("./ParkingsWorker"), exports);
23
24
  __exportStar(require("./transformations/KoridParkingDataTransformation"), exports);
24
25
  __exportStar(require("./transformations/KoridParkingConfigTransformation"), exports);
@@ -27,5 +28,6 @@ __exportStar(require("./ZtpParkingZones/ZtpParkingZonesDataSourceFactory"), expo
27
28
  __exportStar(require("./ZtpParkingZones/ZtpParkingZonesTransformation"), exports);
28
29
  __exportStar(require("./ZtpParkingZones/ZtpParkingZonesWorker"), exports);
29
30
  __exportStar(require("./workers/StaticTariffsWorker"), exports);
30
- exports.workers = [StaticTariffsWorker_1.StaticTariffsWorker, UpdateAddressWorker_1.UpdateAddressWorker, NewParkingsWorker_1.NewParkingsWorker];
31
+ __exportStar(require("./workers/TskParkingWorker"), exports);
32
+ exports.workers = [StaticTariffsWorker_1.StaticTariffsWorker, UpdateAddressWorker_1.UpdateAddressWorker, NewParkingsWorker_1.NewParkingsWorker, TskParkingWorker_1.TskParkingWorker];
31
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iBAAiB;AACjB,uEAAsE;AACtE,uEAAsE;AACtE,mEAAgE;AAEhE,mDAAiC;AACjC,mFAAiE;AACjE,qFAAmE;AACnE,qDAAmC;AACnC,qFAAmE;AACnE,kFAAgE;AAChE,0EAAwD;AACxD,gEAA8C;AAEjC,QAAA,OAAO,GAAG,CAAC,yCAAmB,EAAE,yCAAmB,EAAE,qCAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iBAAiB;AACjB,uEAAsE;AACtE,uEAAsE;AACtE,mEAAgE;AAChE,iEAAgE;AAEhE,mDAAiC;AACjC,mFAAiE;AACjE,qFAAmE;AACnE,qDAAmC;AACnC,qFAAmE;AACnE,kFAAgE;AAChE,0EAAwD;AACxD,gEAA8C;AAC9C,6DAA2C;AAE9B,QAAA,OAAO,GAAG,CAAC,yCAAmB,EAAE,yCAAmB,EAAE,qCAAiB,EAAE,mCAAgB,CAAC,CAAC"}
@@ -8,19 +8,47 @@ const ParkingsRepository_1 = require("../repositories/ParkingsRepository");
8
8
  const ParkingsRedisModel_1 = require("../repositories/redis/ParkingsRedisModel");
9
9
  const Di_1 = require("@golemio/core/dist/integration-engine/ioc/Di");
10
10
  const ModuleContainerToken_1 = require("./ModuleContainerToken");
11
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
12
+ const TskParkingMachinesTransformation_1 = require("../transformations/TskParkingMachinesTransformation");
13
+ const TskParkingDataSourceFactory_1 = require("../datasources/TskParkingDataSourceFactory");
14
+ const ioc_1 = require("@golemio/core/dist/integration-engine/ioc");
15
+ const ParkingMachinesRepository_1 = require("../repositories/ParkingMachinesRepository");
16
+ const TskParkingSectionTransformation_1 = require("../transformations/TskParkingSectionTransformation");
17
+ const TskParkingSectionLevelTransformation_1 = require("../transformations/TskParkingSectionLevelTransformation");
18
+ const ParkingsLocationRepository_1 = require("../repositories/ParkingsLocationRepository");
11
19
  //#region Initialization
12
20
  const parkingsContainer = Di_1.IntegrationEngineContainer.createChildContainer();
13
21
  exports.ParkingsContainer = parkingsContainer;
22
+ const config = Di_1.IntegrationEngineContainer.resolve(ioc_1.ContainerToken.Config);
23
+ const parkingDataSourceFactory = new TskParkingDataSourceFactory_1.TskParkingDataSourceFactory(config);
14
24
  //#endregion
15
25
  //#region Datasource
26
+ parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.TskParkingSectionLevel251DataSource, {
27
+ useFactory: (0, tsyringe_1.instanceCachingFactory)(() => parkingDataSourceFactory.getDataSource("parkingSectionLevel251")),
28
+ });
29
+ parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.TskParkingSectionLevel253DataSource, {
30
+ useFactory: (0, tsyringe_1.instanceCachingFactory)(() => parkingDataSourceFactory.getDataSource("parkingSectionLevel253")),
31
+ });
32
+ parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.TskParkingSectionsDataSource, {
33
+ useFactory: (0, tsyringe_1.instanceCachingFactory)(() => parkingDataSourceFactory.getDataSource("parkingSections")),
34
+ });
35
+ parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.TskParkingMachinesDataSource, {
36
+ useFactory: (0, tsyringe_1.instanceCachingFactory)(() => parkingDataSourceFactory.getDataSource("parkingMachines")),
37
+ });
16
38
  //#endregion
17
39
  //#region Transformation
40
+ parkingsContainer
41
+ .register(ModuleContainerToken_1.ModuleContainerToken.TskParkingSectionLevelTransformation, TskParkingSectionLevelTransformation_1.TskParkingSectionLevelTransformation)
42
+ .register(ModuleContainerToken_1.ModuleContainerToken.TskParkingSectionTransformation, TskParkingSectionTransformation_1.TskParkingSectionTransformation)
43
+ .register(ModuleContainerToken_1.ModuleContainerToken.TskParkingMachinesTransformation, TskParkingMachinesTransformation_1.TskParkingMachinesTransformation);
18
44
  //#endregion
19
45
  //#region Repositories
20
46
  parkingsContainer
21
47
  .register(ModuleContainerToken_1.ModuleContainerToken.ParkingsRepository, ParkingsRepository_1.ParkingsRepository)
48
+ .register(ModuleContainerToken_1.ModuleContainerToken.ParkingsLocationRepository, ParkingsLocationRepository_1.ParkingsLocationRepository)
22
49
  .register(ModuleContainerToken_1.ModuleContainerToken.ParkingTariffsRepository, ParkingTariffsRepository_1.ParkingTariffsRepository)
23
- .register(ModuleContainerToken_1.ModuleContainerToken.ParkingsBusinessErrorsRepository, ParkingsBusinessErrorsRepository_1.ParkingsBusinessErrorsRepository);
50
+ .register(ModuleContainerToken_1.ModuleContainerToken.ParkingsBusinessErrorsRepository, ParkingsBusinessErrorsRepository_1.ParkingsBusinessErrorsRepository)
51
+ .register(ModuleContainerToken_1.ModuleContainerToken.ParkingMachinesRepository, ParkingMachinesRepository_1.ParkingMachinesRepository);
24
52
  parkingsContainer.register(ModuleContainerToken_1.ModuleContainerToken.RedisModel, ParkingsRedisModel_1.ParkingsRedisModel);
25
53
  //#endregion
26
54
  //#region Helpers
@@ -1 +1 @@
1
- {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,wEAAsE;AACtE,uFAAqF;AACrF,uGAAqG;AACrG,2EAAyE;AACzE,iFAA+E;AAC/E,qEAA0F;AAC1F,iEAA8D;AAG9D,wBAAwB;AACxB,MAAM,iBAAiB,GAAwB,+BAA0B,CAAC,oBAAoB,EAAE,CAAC;AAwBnE,8CAAiB;AAvB/C,YAAY;AAEZ,oBAAoB;AACpB,YAAY;AAEZ,wBAAwB;AACxB,YAAY;AAEZ,sBAAsB;AACtB,iBAAiB;KACZ,QAAQ,CAAC,2CAAoB,CAAC,kBAAkB,EAAE,uCAAkB,CAAC;KACrE,QAAQ,CAAC,2CAAoB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC;KACjF,QAAQ,CAAC,2CAAoB,CAAC,gCAAgC,EAAE,mEAAgC,CAAC,CAAC;AACvG,iBAAiB,CAAC,QAAQ,CAAqB,2CAAoB,CAAC,UAAU,EAAE,uCAAkB,CAAC,CAAC;AACpG,YAAY;AAEZ,iBAAiB;AACjB,iBAAiB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,gBAAgB,EAAE,mCAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../src/integration-engine/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,wEAAsE;AACtE,uFAAqF;AACrF,uGAAqG;AACrG,2EAAyE;AACzE,iFAA+E;AAC/E,qEAA0F;AAC1F,iEAA8D;AAC9D,iEAAiG;AACjG,0GAAwG;AAGxG,4FAA0F;AAE1F,mEAA2E;AAE3E,yFAAuF;AAEvF,wGAAsG;AACtG,kHAAgH;AAChH,2FAAyF;AAEzF,wBAAwB;AACxB,MAAM,iBAAiB,GAAwB,+BAA0B,CAAC,oBAAoB,EAAE,CAAC;AAoDnE,8CAAiB;AAnD/C,MAAM,MAAM,GAAG,+BAA0B,CAAC,OAAO,CAAiB,oBAAc,CAAC,MAAM,CAAC,CAAC;AACzF,MAAM,wBAAwB,GAAG,IAAI,yDAA2B,CAAC,MAAM,CAAC,CAAC;AACzE,YAAY;AAEZ,oBAAoB;AACpB,iBAAiB,CAAC,QAAQ,CAAsC,2CAAoB,CAAC,mCAAmC,EAAE;IACtH,UAAU,EAAE,IAAA,iCAAsB,EAAsC,GAAG,EAAE,CACzE,wBAAwB,CAAC,aAAa,CAAC,wBAAwB,CAAC,CACnE;CACJ,CAAC,CAAC;AACH,iBAAiB,CAAC,QAAQ,CAAsC,2CAAoB,CAAC,mCAAmC,EAAE;IACtH,UAAU,EAAE,IAAA,iCAAsB,EAAsC,GAAG,EAAE,CACzE,wBAAwB,CAAC,aAAa,CAAC,wBAAwB,CAAC,CACnE;CACJ,CAAC,CAAC;AACH,iBAAiB,CAAC,QAAQ,CAAiC,2CAAoB,CAAC,4BAA4B,EAAE;IAC1G,UAAU,EAAE,IAAA,iCAAsB,EAAiC,GAAG,EAAE,CACpE,wBAAwB,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAC5D;CACJ,CAAC,CAAC;AACH,iBAAiB,CAAC,QAAQ,CAAiC,2CAAoB,CAAC,4BAA4B,EAAE;IAC1G,UAAU,EAAE,IAAA,iCAAsB,EAAiC,GAAG,EAAE,CACpE,wBAAwB,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAC5D;CACJ,CAAC,CAAC;AACH,YAAY;AAEZ,wBAAwB;AACxB,iBAAiB;KACZ,QAAQ,CAAC,2CAAoB,CAAC,oCAAoC,EAAE,2EAAoC,CAAC;KACzG,QAAQ,CAAC,2CAAoB,CAAC,+BAA+B,EAAE,iEAA+B,CAAC;KAC/F,QAAQ,CAAC,2CAAoB,CAAC,gCAAgC,EAAE,mEAAgC,CAAC,CAAC;AACvG,YAAY;AAEZ,sBAAsB;AACtB,iBAAiB;KACZ,QAAQ,CAAC,2CAAoB,CAAC,kBAAkB,EAAE,uCAAkB,CAAC;KACrE,QAAQ,CAAC,2CAAoB,CAAC,0BAA0B,EAAE,uDAA0B,CAAC;KACrF,QAAQ,CAAC,2CAAoB,CAAC,wBAAwB,EAAE,mDAAwB,CAAC;KACjF,QAAQ,CAAC,2CAAoB,CAAC,gCAAgC,EAAE,mEAAgC,CAAC;KACjG,QAAQ,CAAC,2CAAoB,CAAC,yBAAyB,EAAE,qDAAyB,CAAC,CAAC;AACzF,iBAAiB,CAAC,QAAQ,CAAqB,2CAAoB,CAAC,UAAU,EAAE,uCAAkB,CAAC,CAAC;AACpG,YAAY;AAEZ,iBAAiB;AACjB,iBAAiB,CAAC,QAAQ,CAAC,2CAAoB,CAAC,gBAAgB,EAAE,mCAAgB,CAAC,CAAC"}
@@ -2,7 +2,16 @@ declare const ModuleContainerToken: {
2
2
  TskTariffChecker: symbol;
3
3
  RedisModel: symbol;
4
4
  ParkingsRepository: symbol;
5
+ ParkingsLocationRepository: symbol;
5
6
  ParkingTariffsRepository: symbol;
6
7
  ParkingsBusinessErrorsRepository: symbol;
8
+ ParkingMachinesRepository: symbol;
9
+ TskParkingMachinesDataSource: symbol;
10
+ TskParkingMachinesTransformation: symbol;
11
+ TskParkingSectionLevel251DataSource: symbol;
12
+ TskParkingSectionLevel253DataSource: symbol;
13
+ TskParkingSectionLevelTransformation: symbol;
14
+ TskParkingSectionsDataSource: symbol;
15
+ TskParkingSectionTransformation: symbol;
7
16
  };
8
17
  export { ModuleContainerToken };
@@ -5,8 +5,17 @@ const ModuleContainerToken = {
5
5
  TskTariffChecker: Symbol(),
6
6
  RedisModel: Symbol(),
7
7
  ParkingsRepository: Symbol(),
8
+ ParkingsLocationRepository: Symbol(),
8
9
  ParkingTariffsRepository: Symbol(),
9
10
  ParkingsBusinessErrorsRepository: Symbol(),
11
+ ParkingMachinesRepository: Symbol(),
12
+ TskParkingMachinesDataSource: Symbol(),
13
+ TskParkingMachinesTransformation: Symbol(),
14
+ TskParkingSectionLevel251DataSource: Symbol(),
15
+ TskParkingSectionLevel253DataSource: Symbol(),
16
+ TskParkingSectionLevelTransformation: Symbol(),
17
+ TskParkingSectionsDataSource: Symbol(),
18
+ TskParkingSectionTransformation: Symbol(),
10
19
  };
11
20
  exports.ModuleContainerToken = ModuleContainerToken;
12
21
  //# 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,wBAAwB,EAAE,MAAM,EAAE;IAClC,gCAAgC,EAAE,MAAM,EAAE;CAC7C,CAAC;AACO,oDAAoB"}
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,oCAAoC,EAAE,MAAM,EAAE;IAC9C,4BAA4B,EAAE,MAAM,EAAE;IACtC,+BAA+B,EAAE,MAAM,EAAE;CAC5C,CAAC;AACO,oDAAoB"}
@@ -0,0 +1,4 @@
1
+ import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
2
+ export declare class ParkingMachinesRepository extends PostgresModel implements IModel {
3
+ constructor();
4
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ParkingMachinesRepository = void 0;
7
+ const models_1 = require("@golemio/core/dist/integration-engine/models");
8
+ const _sch_1 = require("../../schema-definitions");
9
+ const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
10
+ const TskParkingMachinesSchema_1 = require("../../schema-definitions/datasources/TskParkingMachinesSchema");
11
+ const sequelize_1 = __importDefault(require("@golemio/core/dist/shared/sequelize"));
12
+ class ParkingMachinesRepository extends models_1.PostgresModel {
13
+ constructor() {
14
+ const parkingMachines = {
15
+ id: {
16
+ primaryKey: true,
17
+ type: sequelize_1.default.STRING,
18
+ },
19
+ source: sequelize_1.default.STRING,
20
+ code: sequelize_1.default.STRING,
21
+ type: sequelize_1.default.STRING,
22
+ location: sequelize_1.default.GEOMETRY,
23
+ validFrom: sequelize_1.default.DATE,
24
+ tariffId: sequelize_1.default.STRING,
25
+ };
26
+ super("ParkingMachinesRepository", {
27
+ outputSequelizeAttributes: parkingMachines,
28
+ pgSchema: _sch_1.Parkings.pgSchema,
29
+ pgTableName: "parking_machines",
30
+ savingType: "insertOrUpdate",
31
+ }, new golemio_validator_1.JSONSchemaValidator("ParkingMachinesRepositoryValidator", TskParkingMachinesSchema_1.TskParkingMachinesSchema));
32
+ }
33
+ }
34
+ exports.ParkingMachinesRepository = ParkingMachinesRepository;
35
+ //# sourceMappingURL=ParkingMachinesRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParkingMachinesRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/repositories/ParkingMachinesRepository.ts"],"names":[],"mappings":";;;;;;AAAA,yEAAqF;AACrF,mDAAgC;AAChC,mFAAkF;AAClF,4GAAqF;AACrF,oFAA4D;AAE5D,MAAa,yBAA0B,SAAQ,sBAAa;IACxD;QACI,MAAM,eAAe,GAA8B;YAC/C,EAAE,EAAE;gBACA,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE,mBAAS,CAAC,MAAM;aACzB;YACD,MAAM,EAAE,mBAAS,CAAC,MAAM;YACxB,IAAI,EAAE,mBAAS,CAAC,MAAM;YACtB,IAAI,EAAE,mBAAS,CAAC,MAAM;YACtB,QAAQ,EAAE,mBAAS,CAAC,QAAQ;YAC5B,SAAS,EAAE,mBAAS,CAAC,IAAI;YACzB,QAAQ,EAAE,mBAAS,CAAC,MAAM;SAC7B,CAAC;QAEF,KAAK,CACD,2BAA2B,EAC3B;YACI,yBAAyB,EAAE,eAAe;YAC1C,QAAQ,EAAE,eAAQ,CAAC,QAAQ;YAC3B,WAAW,EAAE,kBAAkB;YAC/B,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,oCAAoC,EAAE,mDAAwB,CAAC,CAC1F,CAAC;IACN,CAAC;CACJ;AA1BD,8DA0BC"}
@@ -0,0 +1,7 @@
1
+ import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
2
+ import { ITskParkingMachine } from "../../schema-definitions/datasources/interfaces/ITskParkingMachine";
3
+ import { IParkingMachine } from "../../schema-definitions/models/interfaces/IParkingMachine";
4
+ export declare class TskParkingMachinesTransformation extends AbstractTransformation<ITskParkingMachine, IParkingMachine> {
5
+ name: string;
6
+ transformInternal: (tskParkingMachine: ITskParkingMachine) => IParkingMachine;
7
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TskParkingMachinesTransformation = void 0;
4
+ const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
5
+ const wkt_1 = require("@terraformer/wkt");
6
+ class TskParkingMachinesTransformation extends AbstractTransformation_1.AbstractTransformation {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.name = "TskParkingMachinesTransformation";
10
+ this.transformInternal = (tskParkingMachine) => {
11
+ return {
12
+ id: tskParkingMachine.idParkMachine,
13
+ source: "tsk_v2",
14
+ code: tskParkingMachine.code,
15
+ type: tskParkingMachine.idStatus == 5 || tskParkingMachine.idStatus == 6 ? "info_box" : "payment_machine",
16
+ location: (0, wkt_1.wktToGeoJSON)(tskParkingMachine.positionWKT),
17
+ validFrom: new Date(tskParkingMachine.activeFrom),
18
+ tariffId: tskParkingMachine.idTariff,
19
+ };
20
+ };
21
+ }
22
+ }
23
+ exports.TskParkingMachinesTransformation = TskParkingMachinesTransformation;
24
+ //# sourceMappingURL=TskParkingMachinesTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TskParkingMachinesTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/TskParkingMachinesTransformation.ts"],"names":[],"mappings":";;;AAAA,6GAA0G;AAI1G,0CAAgD;AAEhD,MAAa,gCAAiC,SAAQ,+CAA2D;IAAjH;;QACW,SAAI,GAAW,kCAAkC,CAAC;QAEzD,sBAAiB,GAAG,CAAC,iBAAqC,EAAmB,EAAE;YAC3E,OAAO;gBACH,EAAE,EAAE,iBAAiB,CAAC,aAAa;gBACnC,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,iBAAiB,CAAC,IAAI;gBAC5B,IAAI,EAAE,iBAAiB,CAAC,QAAQ,IAAI,CAAC,IAAI,iBAAiB,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB;gBACzG,QAAQ,EAAE,IAAA,kBAAY,EAAC,iBAAiB,CAAC,WAAW,CAAa;gBACjE,SAAS,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;gBACjD,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;aACvC,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA;AAdD,4EAcC"}
@@ -0,0 +1,7 @@
1
+ import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
2
+ import { IParkingLocation } from "../ParkingInterface";
3
+ import { ITskParkingSectionLevel } from "../../schema-definitions/datasources/interfaces/ITskParkingSectionLevel";
4
+ export declare class TskParkingSectionLevelTransformation extends AbstractTransformation<ITskParkingSectionLevel, IParkingLocation> {
5
+ name: string;
6
+ protected transformInternal: (zone: ITskParkingSectionLevel) => IParkingLocation;
7
+ }
@@ -0,0 +1,35 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.TskParkingSectionLevelTransformation = void 0;
10
+ const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
11
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
12
+ const wkt_1 = require("@terraformer/wkt");
13
+ const GeodataHelper_1 = require("../helpers/GeodataHelper");
14
+ let TskParkingSectionLevelTransformation = exports.TskParkingSectionLevelTransformation = class TskParkingSectionLevelTransformation extends AbstractTransformation_1.AbstractTransformation {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.name = "TskParkingSectionLevelTransformation";
18
+ this.transformInternal = (zone) => {
19
+ const location = (0, wkt_1.wktToGeoJSON)(zone.borderWKT);
20
+ return {
21
+ id: "tsk2-" + zone.sectionItemCode,
22
+ data_provider: "www.tsk-praha.cz",
23
+ location,
24
+ centroid: (0, GeodataHelper_1.getPointOnFeature)(location),
25
+ total_spot_number: zone.projectedCapacity,
26
+ source: "tsk_v2",
27
+ source_id: zone.idSection,
28
+ };
29
+ };
30
+ }
31
+ };
32
+ exports.TskParkingSectionLevelTransformation = TskParkingSectionLevelTransformation = __decorate([
33
+ (0, tsyringe_1.injectable)()
34
+ ], TskParkingSectionLevelTransformation);
35
+ //# sourceMappingURL=TskParkingSectionLevelTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TskParkingSectionLevelTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/TskParkingSectionLevelTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAAA,6GAA0G;AAG1G,iEAAgE;AAChE,0CAAgD;AAEhD,4DAA8D;AAGvD,IAAM,oCAAoC,kDAA1C,MAAM,oCAAqC,SAAQ,+CAAiE;IAApH;;QACH,SAAI,GAAW,sCAAsC,CAAC;QAE5C,sBAAiB,GAAG,CAAC,IAA6B,EAAoB,EAAE;YAC9E,MAAM,QAAQ,GAAG,IAAA,kBAAY,EAAC,IAAI,CAAC,SAAS,CAAoB,CAAC;YACjE,OAAO;gBACH,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC,eAAe;gBAClC,aAAa,EAAE,kBAAkB;gBACjC,QAAQ;gBACR,QAAQ,EAAE,IAAA,iCAAiB,EAAC,QAAQ,CAAC;gBACrC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,IAAI,CAAC,SAAS;aAC5B,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA,CAAA;+CAfY,oCAAoC;IADhD,IAAA,qBAAU,GAAE;GACA,oCAAoC,CAehD"}
@@ -0,0 +1,9 @@
1
+ import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
2
+ import { IParking } from "../ParkingInterface";
3
+ import { ITskParkingSection } from "../../schema-definitions/datasources/interfaces/ITskParkingSection";
4
+ export declare class TskParkingSectionTransformation extends AbstractTransformation<ITskParkingSection, IParking> {
5
+ name: string;
6
+ transformationDate: Date;
7
+ protected transformInternal: (section: ITskParkingSection) => IParking;
8
+ private getSectionCat;
9
+ }
@@ -0,0 +1,60 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.TskParkingSectionTransformation = void 0;
10
+ const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
11
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
12
+ const wkt_1 = require("@terraformer/wkt");
13
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
14
+ const GeodataHelper_1 = require("../helpers/GeodataHelper");
15
+ let TskParkingSectionTransformation = exports.TskParkingSectionTransformation = class TskParkingSectionTransformation extends AbstractTransformation_1.AbstractTransformation {
16
+ constructor() {
17
+ super(...arguments);
18
+ this.name = "TskParkingSectionTransformation";
19
+ this.transformationDate = new Date();
20
+ this.transformInternal = (section) => {
21
+ const location = (0, wkt_1.wktToGeoJSON)(section.borderWKT);
22
+ return {
23
+ id: "tsk2-" + section.sectionCode,
24
+ source: "tsk_v2",
25
+ source_id: section.idSection,
26
+ data_provider: "www.tsk-praha.cz",
27
+ location,
28
+ name: section.sectionCode,
29
+ total_spot_number: section.projectedCapacity,
30
+ category: this.getSectionCat(section.sectionCat),
31
+ tariff_id: section.idTariff ? section.idTariff : undefined,
32
+ valid_from: section.activeFrom,
33
+ parking_type: "on_street",
34
+ zone_type: "zone",
35
+ date_modified: this.transformationDate.toISOString(),
36
+ centroid: (0, GeodataHelper_1.getPointOnFeature)(location),
37
+ };
38
+ };
39
+ }
40
+ getSectionCat(catNo) {
41
+ switch (catNo) {
42
+ case 1:
43
+ return "blue";
44
+ case 2:
45
+ return "violet";
46
+ case 3:
47
+ return "orange";
48
+ case 6:
49
+ return "other";
50
+ case 7:
51
+ return "other";
52
+ default:
53
+ throw new golemio_errors_1.GeneralError(`Unknown section category ${catNo} in TSK parking zones.`);
54
+ }
55
+ }
56
+ };
57
+ exports.TskParkingSectionTransformation = TskParkingSectionTransformation = __decorate([
58
+ (0, tsyringe_1.injectable)()
59
+ ], TskParkingSectionTransformation);
60
+ //# sourceMappingURL=TskParkingSectionTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TskParkingSectionTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/TskParkingSectionTransformation.ts"],"names":[],"mappings":";;;;;;;;;AAAA,6GAA0G;AAE1G,iEAAgE;AAChE,0CAAgD;AAEhD,6EAAwE;AAExE,4DAA8D;AAGvD,IAAM,+BAA+B,6CAArC,MAAM,+BAAgC,SAAQ,+CAAoD;IAAlG;;QACH,SAAI,GAAW,iCAAiC,CAAC;QAC1C,uBAAkB,GAAS,IAAI,IAAI,EAAE,CAAC;QAEnC,sBAAiB,GAAG,CAAC,OAA2B,EAAY,EAAE;YACpE,MAAM,QAAQ,GAAG,IAAA,kBAAY,EAAC,OAAO,CAAC,SAAS,CAAoB,CAAC;YACpE,OAAO;gBACH,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW;gBACjC,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,aAAa,EAAE,kBAAkB;gBACjC,QAAQ;gBACR,IAAI,EAAE,OAAO,CAAC,WAAW;gBACzB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;gBAC5C,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC;gBAChD,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBAC1D,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,YAAY,EAAE,WAAW;gBACzB,SAAS,EAAE,MAAM;gBACjB,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;gBACpD,QAAQ,EAAE,IAAA,iCAAiB,EAAC,QAAQ,CAAC;aACxC,CAAC;QACN,CAAC,CAAC;IAkBN,CAAC;IAhBW,aAAa,CAAC,KAAa;QAC/B,QAAQ,KAAK,EAAE;YACX,KAAK,CAAC;gBACF,OAAO,MAAM,CAAC;YAClB,KAAK,CAAC;gBACF,OAAO,QAAQ,CAAC;YACpB,KAAK,CAAC;gBACF,OAAO,QAAQ,CAAC;YACpB,KAAK,CAAC;gBACF,OAAO,OAAO,CAAC;YACnB,KAAK,CAAC;gBACF,OAAO,OAAO,CAAC;YACnB;gBACI,MAAM,IAAI,6BAAY,CAAC,4BAA4B,KAAK,wBAAwB,CAAC,CAAC;SACzF;IACL,CAAC;CACJ,CAAA;0CAxCY,+BAA+B;IAD3C,IAAA,qBAAU,GAAE;GACA,+BAA+B,CAwC3C"}
@@ -0,0 +1,5 @@
1
+ import { AbstractWorker } from "@golemio/core/dist/integration-engine";
2
+ export declare class TskParkingWorker extends AbstractWorker {
3
+ protected readonly name: string;
4
+ constructor();
5
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TskParkingWorker = void 0;
4
+ const integration_engine_1 = require("@golemio/core/dist/integration-engine");
5
+ const Di_1 = require("../ioc/Di");
6
+ const ModuleContainerToken_1 = require("../ioc/ModuleContainerToken");
7
+ const SaveTskParkingMachinesTask_1 = require("./tasks/SaveTskParkingMachinesTask");
8
+ const SaveTskParkingSectionLevel251Task_1 = require("./tasks/SaveTskParkingSectionLevel251Task");
9
+ const SaveTskParkingSectionsTask_1 = require("./tasks/SaveTskParkingSectionsTask");
10
+ const SaveTskParkingSectionLevel253Task_1 = require("./tasks/SaveTskParkingSectionLevel253Task");
11
+ class TskParkingWorker extends integration_engine_1.AbstractWorker {
12
+ constructor() {
13
+ super();
14
+ this.name = "TskParkingWorker";
15
+ const saveTskParkingSectionsTask = new SaveTskParkingSectionsTask_1.SaveTskParkingSectionsTask(this.getQueuePrefix(), Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.TskParkingSectionsDataSource), Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.TskParkingSectionTransformation), Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.ParkingsRepository));
16
+ const saveTskParkingSectionLevel251Task = new SaveTskParkingSectionLevel251Task_1.SaveTskParkingSectionLevel251Task(this.getQueuePrefix(), Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.TskParkingSectionLevel251DataSource), Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.TskParkingSectionLevelTransformation), Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.ParkingsLocationRepository));
17
+ const saveTskParkingSectionLevel253Task = new SaveTskParkingSectionLevel253Task_1.SaveTskParkingSectionLevel253Task(this.getQueuePrefix(), Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.TskParkingSectionLevel253DataSource), Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.TskParkingSectionLevelTransformation), Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.ParkingsLocationRepository));
18
+ const saveTskParkingMachinesTask = new SaveTskParkingMachinesTask_1.SaveTskParkingMachinesTask(this.getQueuePrefix(), Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.TskParkingMachinesDataSource), Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.TskParkingMachinesTransformation), Di_1.ParkingsContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.ParkingMachinesRepository));
19
+ this.registerTask(saveTskParkingSectionsTask);
20
+ this.registerTask(saveTskParkingSectionLevel251Task);
21
+ this.registerTask(saveTskParkingSectionLevel253Task);
22
+ this.registerTask(saveTskParkingMachinesTask);
23
+ }
24
+ }
25
+ exports.TskParkingWorker = TskParkingWorker;
26
+ //# sourceMappingURL=TskParkingWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TskParkingWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/TskParkingWorker.ts"],"names":[],"mappings":";;;AAAA,8EAAuE;AACvE,kCAA+C;AAC/C,sEAAoE;AACpE,mFAA0F;AAC1F,iGAAwG;AACxG,mFAA0F;AAC1F,iGAAwG;AAExG,MAAa,gBAAiB,SAAQ,mCAAc;IAGhD;QACI,KAAK,EAAE,CAAC;QAHO,SAAI,GAAW,kBAAkB,CAAC;QAKjD,MAAM,0BAA0B,GAAG,IAAI,uDAA0B,CAC7D,IAAI,CAAC,cAAc,EAAE,EACrB,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,4BAA4B,CAAC,EAC5E,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,+BAA+B,CAAC,EAC/E,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,kBAAkB,CAAC,CACrE,CAAC;QAEF,MAAM,iCAAiC,GAAG,IAAI,qEAAiC,CAC3E,IAAI,CAAC,cAAc,EAAE,EACrB,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,mCAAmC,CAAC,EACnF,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,oCAAoC,CAAC,EACpF,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,0BAA0B,CAAC,CAC7E,CAAC;QAEF,MAAM,iCAAiC,GAAG,IAAI,qEAAiC,CAC3E,IAAI,CAAC,cAAc,EAAE,EACrB,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,mCAAmC,CAAC,EACnF,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,oCAAoC,CAAC,EACpF,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,0BAA0B,CAAC,CAC7E,CAAC;QAEF,MAAM,0BAA0B,GAAG,IAAI,uDAA0B,CAC7D,IAAI,CAAC,cAAc,EAAE,EACrB,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,4BAA4B,CAAC,EAC5E,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,gCAAgC,CAAC,EAChF,sBAAiB,CAAC,OAAO,CAAC,2CAAoB,CAAC,yBAAyB,CAAC,CAC5E,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,CAAC,iCAAiC,CAAC,CAAC;QACrD,IAAI,CAAC,YAAY,CAAC,iCAAiC,CAAC,CAAC;QACrD,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;IAClD,CAAC;CACJ;AAvCD,4CAuCC"}