@golemio/parkings 1.22.5-dev.1974454620 → 1.22.5-dev.1974542808
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/dist/integration-engine/datasources/iptoict/IptOictDataSource.d.ts +3 -2
- package/dist/integration-engine/datasources/iptoict/IptOictDataSource.js +11 -7
- package/dist/integration-engine/datasources/iptoict/IptOictDataSource.js.map +1 -1
- package/dist/integration-engine/repositories/ParkingsLocationRepository.d.ts +3 -2
- package/dist/integration-engine/repositories/ParkingsLocationRepository.js +4 -4
- package/dist/integration-engine/repositories/ParkingsLocationRepository.js.map +1 -1
- package/dist/integration-engine/repositories/ParkingsRepository.d.ts +4 -3
- package/dist/integration-engine/repositories/ParkingsRepository.js +5 -4
- package/dist/integration-engine/repositories/ParkingsRepository.js.map +1 -1
- package/dist/integration-engine/repositories/ParkingsSecondaryRepository.d.ts +3 -2
- package/dist/integration-engine/repositories/ParkingsSecondaryRepository.js +3 -3
- package/dist/integration-engine/repositories/ParkingsSecondaryRepository.js.map +1 -1
- package/dist/integration-engine/workers/tasks/SaveIptOictParkingDataTask.js +43 -15
- package/dist/integration-engine/workers/tasks/SaveIptOictParkingDataTask.js.map +1 -1
- package/package.json +2 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import { DataSourceStreamed } from "@golemio/core/dist/integration-engine";
|
|
1
2
|
export declare class IptOictDataSource {
|
|
2
|
-
|
|
3
|
-
|
|
3
|
+
getParkingDataStream(sourceUrl: string): DataSourceStreamed;
|
|
4
|
+
getParkingLocationDataStream(sourceUrl: string): DataSourceStreamed;
|
|
4
5
|
}
|
|
@@ -5,31 +5,35 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
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
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
8
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
12
|
exports.IptOictDataSource = void 0;
|
|
10
13
|
const IptOictFeatureCollectionSchemaGenerator_1 = require("../../../schema-definitions/datasources/iptoict/IptOictFeatureCollectionSchemaGenerator");
|
|
11
14
|
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
12
|
-
const
|
|
15
|
+
const HTTPRequestProtocolStrategyStreamed_1 = require("@golemio/core/dist/integration-engine/datasources/protocol-strategy/HTTPRequestProtocolStrategyStreamed");
|
|
13
16
|
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
14
17
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
18
|
+
const JSONStream_1 = __importDefault(require("JSONStream"));
|
|
15
19
|
let IptOictDataSource = exports.IptOictDataSource = class IptOictDataSource {
|
|
16
|
-
|
|
17
|
-
return new integration_engine_1.
|
|
20
|
+
getParkingDataStream(sourceUrl) {
|
|
21
|
+
return new integration_engine_1.DataSourceStreamed("IptOictParkingDataSource", new HTTPRequestProtocolStrategyStreamed_1.HTTPRequestProtocolStrategyStreamed({
|
|
18
22
|
method: "GET",
|
|
19
23
|
url: sourceUrl,
|
|
20
24
|
headers: {
|
|
21
25
|
"Content-Type": "application/json; charset=utf-8",
|
|
22
26
|
},
|
|
23
|
-
}), new integration_engine_1.JSONDataTypeStrategy({ resultsPath: "
|
|
27
|
+
}).setStreamTransformer(JSONStream_1.default.parse("features.*")), new integration_engine_1.JSONDataTypeStrategy({ resultsPath: "" }), new golemio_validator_1.JSONSchemaValidator("IptOictParkingDataSourceValidator", IptOictFeatureCollectionSchemaGenerator_1.IptOictFeatureCollectionSchemaGenerator.getParkingSchema().properties.features));
|
|
24
28
|
}
|
|
25
|
-
|
|
26
|
-
return new integration_engine_1.
|
|
29
|
+
getParkingLocationDataStream(sourceUrl) {
|
|
30
|
+
return new integration_engine_1.DataSourceStreamed("IptOictParkingLocationDataSource", new HTTPRequestProtocolStrategyStreamed_1.HTTPRequestProtocolStrategyStreamed({
|
|
27
31
|
method: "GET",
|
|
28
32
|
url: sourceUrl,
|
|
29
33
|
headers: {
|
|
30
34
|
"Content-Type": "application/json; charset=utf-8",
|
|
31
35
|
},
|
|
32
|
-
}), new integration_engine_1.JSONDataTypeStrategy({ resultsPath: "
|
|
36
|
+
}).setStreamTransformer(JSONStream_1.default.parse("features.*")), new integration_engine_1.JSONDataTypeStrategy({ resultsPath: "" }), new golemio_validator_1.JSONSchemaValidator("IptOictParkingDataSourceSourceValidator", IptOictFeatureCollectionSchemaGenerator_1.IptOictFeatureCollectionSchemaGenerator.getParkingSpacesSchema().properties.features));
|
|
33
37
|
}
|
|
34
38
|
};
|
|
35
39
|
exports.IptOictDataSource = IptOictDataSource = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IptOictDataSource.js","sourceRoot":"","sources":["../../../../src/integration-engine/datasources/iptoict/IptOictDataSource.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IptOictDataSource.js","sourceRoot":"","sources":["../../../../src/integration-engine/datasources/iptoict/IptOictDataSource.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qJAA2H;AAC3H,8EAAiG;AACjG,iKAA8J;AAC9J,mFAAkF;AAClF,iEAAgE;AAChE,4DAAoC;AAG7B,IAAM,iBAAiB,+BAAvB,MAAM,iBAAiB;IACnB,oBAAoB,CAAC,SAAiB;QACzC,OAAO,IAAI,uCAAkB,CACzB,0BAA0B,EAC1B,IAAI,yEAAmC,CAAC;YACpC,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,SAAS;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,iCAAiC;aACpD;SACJ,CAAC,CAAC,oBAAoB,CAAC,oBAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EACvD,IAAI,yCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAI,uCAAmB,CACnB,mCAAmC,EACnC,iFAAuC,CAAC,gBAAgB,EAAE,CAAC,UAAU,CAAC,QAAQ,CACjF,CACJ,CAAC;IACN,CAAC;IAEM,4BAA4B,CAAC,SAAiB;QACjD,OAAO,IAAI,uCAAkB,CACzB,kCAAkC,EAClC,IAAI,yEAAmC,CAAC;YACpC,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,SAAS;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,iCAAiC;aACpD;SACJ,CAAC,CAAC,oBAAoB,CAAC,oBAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EACvD,IAAI,yCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAI,uCAAmB,CACnB,yCAAyC,EACzC,iFAAuC,CAAC,sBAAsB,EAAE,CAAC,UAAU,CAAC,QAAQ,CACvF,CACJ,CAAC;IACN,CAAC;CACJ,CAAA;4BApCY,iBAAiB;IAD7B,IAAA,qBAAU,GAAE;GACA,iBAAiB,CAoC7B"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
|
|
2
2
|
import { IParking } from "../ParkingInterface";
|
|
3
3
|
import { IParkingLocation } from "../../schema-definitions/models/interfaces/IParkingLocation";
|
|
4
|
+
import { Transaction } from "@golemio/core/dist/shared/sequelize";
|
|
4
5
|
export declare class ParkingsLocationRepository extends PostgresModel implements IModel {
|
|
5
6
|
constructor();
|
|
6
7
|
GetOne: (id: string) => Promise<IParking | null>;
|
|
7
8
|
saveWithoutAddress: (parkingLocations: IParkingLocation[], source: string, dataProvider?: string) => Promise<void>;
|
|
8
|
-
|
|
9
|
+
markInactiveParkingsLocations(activeIds: string[], source: string, transaction: Transaction, dataProvider?: string): Promise<void>;
|
|
9
10
|
findWithOutdatedAddress(batchSize: number, updateInterval: number): Promise<IParkingLocation[]>;
|
|
10
11
|
findWithoutAddress(): Promise<IParkingLocation[]>;
|
|
11
|
-
|
|
12
|
+
getParkingAttributesToUpdate(): string[];
|
|
12
13
|
}
|
|
@@ -41,17 +41,17 @@ let ParkingsLocationRepository = exports.ParkingsLocationRepository = class Park
|
|
|
41
41
|
const transaction = await this.sequelizeModel.sequelize.transaction();
|
|
42
42
|
try {
|
|
43
43
|
await this.bulkSave(parkingLocations, this.getParkingAttributesToUpdate(), false, false, transaction);
|
|
44
|
-
|
|
44
|
+
const activeIds = parkingLocations.map((parkingLocations) => parkingLocations.id);
|
|
45
|
+
await this.markInactiveParkingsLocations(activeIds, source, transaction, dataProvider);
|
|
45
46
|
await transaction.commit();
|
|
46
47
|
}
|
|
47
48
|
catch (err) {
|
|
48
49
|
await transaction.rollback();
|
|
49
|
-
throw new golemio_errors_1.GeneralError("Database error", "
|
|
50
|
+
throw new golemio_errors_1.GeneralError("Database error", "ParkingsLocationModel", err, 500);
|
|
50
51
|
}
|
|
51
52
|
};
|
|
52
53
|
}
|
|
53
|
-
async markInactiveParkingsLocations(
|
|
54
|
-
const activeIds = parkingLocations.map((parkingLocations) => parkingLocations.id);
|
|
54
|
+
async markInactiveParkingsLocations(activeIds, source, transaction, dataProvider) {
|
|
55
55
|
await this.update({
|
|
56
56
|
active: false,
|
|
57
57
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParkingsLocationRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/repositories/ParkingsLocationRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iGAA0E;AAC1E,yEAAqF;AACrF,mDAAgC;AAChC,mFAAkF;AAClF,6EAAwE;AAExE,iEAAgE;AAEhE,mEAAiF;AAG1E,IAAM,0BAA0B,wCAAhC,MAAM,0BAA2B,SAAQ,sBAAa;IACzD;QACI,KAAK,CACD,eAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,EAChC;YACI,yBAAyB,EAAE,6CAAqB,CAAC,cAAc;YAC/D,QAAQ,EAAE,eAAQ,CAAC,QAAQ;YAC3B,WAAW,EAAE,6CAAqB,CAAC,SAAS;YAC5C,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,eAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,kBAAkB,EAAE,eAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAC3G,CAAC;QAGC,WAAM,GAAG,KAAK,EAAE,EAAU,EAA4B,EAAE;YAC3D,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBACrC,KAAK,EAAE,EAAE,EAAE,EAAE;oBACb,GAAG,EAAE,IAAI;oBACT,IAAI,EAAE,IAAI;iBACb,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,gBAAgB,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACvE;QACL,CAAC,CAAC;QAEK,uBAAkB,GAAG,KAAK,EAC7B,gBAAoC,EACpC,MAAc,EACd,YAAqB,EACR,EAAE;YACf,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAU,CAAC,WAAW,EAAE,CAAC;YACvE,IAAI;gBACA,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;gBACtG,MAAM,IAAI,CAAC,6BAA6B,CAAC,
|
|
1
|
+
{"version":3,"file":"ParkingsLocationRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/repositories/ParkingsLocationRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IParking } from "../ParkingInterface";
|
|
2
2
|
import { ParkingTariffRelationsRepository } from "./ParkingTariffRelationsRepository";
|
|
3
3
|
import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
|
|
4
|
+
import { Transaction } from "@golemio/core/dist/shared/sequelize";
|
|
4
5
|
export declare class ParkingsRepository extends PostgresModel implements IModel {
|
|
5
6
|
private parkingTariffRelationsRepository;
|
|
6
7
|
constructor(parkingTariffRelationsRepository: ParkingTariffRelationsRepository);
|
|
@@ -12,11 +13,11 @@ export declare class ParkingsRepository extends PostgresModel implements IModel
|
|
|
12
13
|
}) | null>;
|
|
13
14
|
saveActiveParkingsWithoutAddress: (parkings: IParking[], source: string, dataProvider?: string) => Promise<void>;
|
|
14
15
|
saveActiveParkingsWithoutAddressAndName: (parkings: IParking[], source: string, dataProvider?: string) => Promise<void>;
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
saveWithoutAddress: (parkings: IParking[], transaction: Transaction) => Promise<void>;
|
|
17
|
+
saveWithoutAddressAndName: (parkings: IParking[], transaction: Transaction) => Promise<void>;
|
|
17
18
|
findWithOutdatedAddress(batchSize: number, updateInterval: number): Promise<IParking[]>;
|
|
18
19
|
findWithoutAddress(): Promise<IParking[]>;
|
|
19
|
-
|
|
20
|
+
markInactiveParkings(activeIds: string[], source: string, transaction: Transaction, dataProvider?: string): Promise<void>;
|
|
20
21
|
private getParkingAttributesToUpdate;
|
|
21
22
|
private getParkingAttributesToUpdateWithoutName;
|
|
22
23
|
}
|
|
@@ -63,7 +63,8 @@ let ParkingsRepository = exports.ParkingsRepository = class ParkingsRepository e
|
|
|
63
63
|
this.saveActiveParkingsWithoutAddress = async (parkings, source, dataProvider) => {
|
|
64
64
|
const transaction = await this.sequelizeModel.sequelize.transaction();
|
|
65
65
|
try {
|
|
66
|
-
|
|
66
|
+
const activeIds = parkings.map((parking) => parking.id);
|
|
67
|
+
await this.markInactiveParkings(activeIds, source, transaction, dataProvider);
|
|
67
68
|
await this.saveWithoutAddress(parkings, transaction);
|
|
68
69
|
await transaction.commit();
|
|
69
70
|
}
|
|
@@ -75,7 +76,8 @@ let ParkingsRepository = exports.ParkingsRepository = class ParkingsRepository e
|
|
|
75
76
|
this.saveActiveParkingsWithoutAddressAndName = async (parkings, source, dataProvider) => {
|
|
76
77
|
const transaction = await this.sequelizeModel.sequelize.transaction();
|
|
77
78
|
try {
|
|
78
|
-
|
|
79
|
+
const activeIds = parkings.map((parking) => parking.id);
|
|
80
|
+
await this.markInactiveParkings(activeIds, source, transaction, dataProvider);
|
|
79
81
|
await this.saveWithoutAddressAndName(parkings, transaction);
|
|
80
82
|
await transaction.commit();
|
|
81
83
|
}
|
|
@@ -113,8 +115,7 @@ let ParkingsRepository = exports.ParkingsRepository = class ParkingsRepository e
|
|
|
113
115
|
},
|
|
114
116
|
});
|
|
115
117
|
}
|
|
116
|
-
async markInactiveParkings(
|
|
117
|
-
const activeIds = parkings.map((parking) => parking.id);
|
|
118
|
+
async markInactiveParkings(activeIds, source, transaction, dataProvider) {
|
|
118
119
|
await this.update({
|
|
119
120
|
active: false,
|
|
120
121
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParkingsRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/repositories/ParkingsRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sEAAoE;AAEpE,yFAAqG;AACrG,mDAAgC;AAChC,8FAAuE;AACvE,+EAAwD;AACxD,yEAAqF;AACrF,6EAAwE;AACxE,mFAAkF;AAClF,mEAAiF;AACjF,iEAAwE;AAGjE,IAAM,kBAAkB,gCAAxB,MAAM,kBAAmB,SAAQ,sBAAa;IACjD,YAEI,gCAA0E;QAE1E,KAAK,CACD,eAAQ,CAAC,IAAI,GAAG,OAAO,EACvB;YACI,yBAAyB,EAAE,2BAAY,CAAC,cAAc;YACtD,QAAQ,EAAE,eAAQ,CAAC,QAAQ;YAC3B,WAAW,EAAE,2BAAY,CAAC,SAAS;YACnC,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,6BAA6B,EAAE,qCAAiB,CAAC,CAC5E,CAAC;QAXM,qCAAgC,GAAhC,gCAAgC,CAAkC;QAetE,cAAS,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,gBAAgB,CAAC,EAAE;gBAChF,EAAE,EAAE,0BAA0B;gBAC9B,UAAU,EAAE,YAAY;gBACxB,SAAS,EAAE,IAAI;aAClB,CAAC,CAAC;QACP,CAAC,CAAC;QAEK,WAAM,GAAG,KAAK,EACjB,EAAU,EAC6E,EAAE;YACzF,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBACrC,KAAK,EAAE,EAAE,EAAE,EAAE;oBACb,OAAO,EAAE;wBACL;4BACI,KAAK,EAAE,IAAI,CAAC,gCAAgC,CAAC,gBAAgB,CAAC;4BAC9D,EAAE,EAAE,0BAA0B;4BAC9B,UAAU,EAAE,CAAC,WAAW,CAAC;4BACzB,QAAQ,EAAE,KAAK;4BACf,QAAQ,EAAE,KAAK;yBAClB;qBACJ;oBACD,GAAG,EAAE,IAAI;oBACT,IAAI,EAAE,IAAI;iBACb,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,gBAAgB,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACvE;QACL,CAAC,CAAC;QAEK,qCAAgC,GAAG,KAAK,EAC3C,QAAoB,EACpB,MAAc,EACd,YAAqB,EACR,EAAE;YACf,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAU,CAAC,WAAW,EAAE,CAAC;YACvE,IAAI;gBACA,MAAM,IAAI,CAAC,oBAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"ParkingsRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/repositories/ParkingsRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sEAAoE;AAEpE,yFAAqG;AACrG,mDAAgC;AAChC,8FAAuE;AACvE,+EAAwD;AACxD,yEAAqF;AACrF,6EAAwE;AACxE,mFAAkF;AAClF,mEAAiF;AACjF,iEAAwE;AAGjE,IAAM,kBAAkB,gCAAxB,MAAM,kBAAmB,SAAQ,sBAAa;IACjD,YAEI,gCAA0E;QAE1E,KAAK,CACD,eAAQ,CAAC,IAAI,GAAG,OAAO,EACvB;YACI,yBAAyB,EAAE,2BAAY,CAAC,cAAc;YACtD,QAAQ,EAAE,eAAQ,CAAC,QAAQ;YAC3B,WAAW,EAAE,2BAAY,CAAC,SAAS;YACnC,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,6BAA6B,EAAE,qCAAiB,CAAC,CAC5E,CAAC;QAXM,qCAAgC,GAAhC,gCAAgC,CAAkC;QAetE,cAAS,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,gBAAgB,CAAC,EAAE;gBAChF,EAAE,EAAE,0BAA0B;gBAC9B,UAAU,EAAE,YAAY;gBACxB,SAAS,EAAE,IAAI;aAClB,CAAC,CAAC;QACP,CAAC,CAAC;QAEK,WAAM,GAAG,KAAK,EACjB,EAAU,EAC6E,EAAE;YACzF,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBACrC,KAAK,EAAE,EAAE,EAAE,EAAE;oBACb,OAAO,EAAE;wBACL;4BACI,KAAK,EAAE,IAAI,CAAC,gCAAgC,CAAC,gBAAgB,CAAC;4BAC9D,EAAE,EAAE,0BAA0B;4BAC9B,UAAU,EAAE,CAAC,WAAW,CAAC;4BACzB,QAAQ,EAAE,KAAK;4BACf,QAAQ,EAAE,KAAK;yBAClB;qBACJ;oBACD,GAAG,EAAE,IAAI;oBACT,IAAI,EAAE,IAAI;iBACb,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,gBAAgB,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACvE;QACL,CAAC,CAAC;QAEK,qCAAgC,GAAG,KAAK,EAC3C,QAAoB,EACpB,MAAc,EACd,YAAqB,EACR,EAAE;YACf,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAU,CAAC,WAAW,EAAE,CAAC;YACvE,IAAI;gBACA,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxD,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;gBAC9E,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBACrD,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;aAC9B;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAC7B,MAAM,IAAI,6BAAY,CAAC,gBAAgB,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACvE;QACL,CAAC,CAAC;QAEK,4CAAuC,GAAG,KAAK,EAClD,QAAoB,EACpB,MAAc,EACd,YAAqB,EACR,EAAE;YACf,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAU,CAAC,WAAW,EAAE,CAAC;YACvE,IAAI;gBACA,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxD,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;gBAC9E,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBAC5D,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;aAC9B;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAC7B,MAAM,IAAI,6BAAY,CAAC,gBAAgB,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACvE;QACL,CAAC,CAAC;QAEK,uBAAkB,GAAG,KAAK,EAAE,QAAoB,EAAE,WAAwB,EAAiB,EAAE;YAChG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QAC3H,CAAC,CAAC;QAEK,8BAAyB,GAAG,KAAK,EAAE,QAAoB,EAAE,WAAwB,EAAiB,EAAE;YACvG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,uCAAuC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE;gBACrG,QAAQ;gBACR,WAAW;aACd,CAAC,CAAC;QACP,CAAC,CAAC;QA7EE,IAAI,CAAC,SAAS,EAAE,CAAC;IACrB,CAAC;IA8EM,KAAK,CAAC,uBAAuB,CAAC,SAAiB,EAAE,cAAsB;QAC1E,OAAO,IAAI,CAAC,IAAI,CAAC;YACb,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE;gBACH,kBAAkB,EAAE;oBAChB,CAAC,cAAE,CAAC,GAAG,CAAC,EAAE,qBAAS,CAAC,OAAO,CAAC,qBAAqB,cAAc,QAAQ,CAAC;iBAC3E;aACJ;SACJ,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,kBAAkB;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC;YACb,KAAK,EAAE;gBACH,OAAO,EAAE,IAAI;gBACb,kBAAkB,EAAE,IAAI;aAC3B;SACJ,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAC7B,SAAmB,EACnB,MAAc,EACd,WAAwB,EACxB,YAAqB;QAErB,MAAM,IAAI,CAAC,MAAM,CACb;YACI,MAAM,EAAE,KAAK;SAChB,EACD;YACI,KAAK,EAAE;gBACH,MAAM;gBACN,GAAG,CAAC,YAAY,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;gBACpD,MAAM,EAAE,IAAI;gBACZ,EAAE,EAAE;oBACA,CAAC,cAAE,CAAC,KAAK,CAAC,EAAE,SAAS;iBACxB;aACJ;YACD,WAAW;SACd,CACJ,CAAC;IACN,CAAC;IAEO,4BAA4B;QAChC,OAAO,2BAAY,CAAC,aAAa;aAC5B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;aAC/F,MAAM,CAAC,YAAY,CAAC,CAAC;IAC9B,CAAC;IAEO,uCAAuC;QAC3C,OAAO,2BAAY,CAAC,aAAa;aAC5B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,oBAAoB,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;aACvG,MAAM,CAAC,YAAY,CAAC,CAAC;IAC9B,CAAC;CACJ,CAAA;6BArJY,kBAAkB;IAD9B,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,gCAAgC,CAAC,CAAA;qCACpB,mEAAgC;GAHrE,kBAAkB,CAqJ9B"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { IParking } from "../ParkingInterface";
|
|
2
2
|
import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
|
|
3
|
+
import { Transaction } from "@golemio/core/dist/shared/sequelize";
|
|
3
4
|
export declare class ParkingsSecondaryRepository extends PostgresModel implements IModel {
|
|
4
5
|
constructor();
|
|
5
6
|
saveActiveParkingsWithoutAddress: (parkings: IParking[], source: string) => Promise<void>;
|
|
6
7
|
GetOne: (id: string) => Promise<IParking | null>;
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
saveWithoutAddress: (parkings: IParking[], transaction: Transaction) => Promise<void>;
|
|
9
|
+
markInactiveParkings(activeIds: string[], source: string, transaction: Transaction): Promise<void>;
|
|
9
10
|
private getParkingAttributesToUpdate;
|
|
10
11
|
}
|
|
@@ -19,7 +19,8 @@ class ParkingsSecondaryRepository extends models_1.PostgresModel {
|
|
|
19
19
|
this.saveActiveParkingsWithoutAddress = async (parkings, source) => {
|
|
20
20
|
const transaction = await this.sequelizeModel.sequelize.transaction();
|
|
21
21
|
try {
|
|
22
|
-
|
|
22
|
+
const activeIds = parkings.map((parking) => parking.id);
|
|
23
|
+
await this.markInactiveParkings(activeIds, source, transaction);
|
|
23
24
|
await this.saveWithoutAddress(parkings, transaction);
|
|
24
25
|
await transaction.commit();
|
|
25
26
|
}
|
|
@@ -44,8 +45,7 @@ class ParkingsSecondaryRepository extends models_1.PostgresModel {
|
|
|
44
45
|
await this.bulkSave(parkings, this.getParkingAttributesToUpdate(), false, false, transaction);
|
|
45
46
|
};
|
|
46
47
|
}
|
|
47
|
-
async markInactiveParkings(
|
|
48
|
-
const activeIds = parkings.map((parking) => parking.id);
|
|
48
|
+
async markInactiveParkings(activeIds, source, transaction) {
|
|
49
49
|
await this.update({
|
|
50
50
|
active: false,
|
|
51
51
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParkingsSecondaryRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/repositories/ParkingsSecondaryRepository.ts"],"names":[],"mappings":";;;AACA,mDAAgC;AAChC,8FAAuE;AACvE,+EAAwD;AACxD,yEAAqF;AACrF,6EAAwE;AACxE,mFAAkF;AAClF,mEAAsE;AAEtE,MAAa,2BAA4B,SAAQ,sBAAa;IAC1D;QACI,KAAK,CACD,eAAQ,CAAC,IAAI,GAAG,OAAO,EACvB;YACI,yBAAyB,EAAE,2BAAY,CAAC,cAAc;YACtD,QAAQ,EAAE,eAAQ,CAAC,QAAQ;YAC3B,WAAW,EAAE,oBAAoB;YACjC,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,eAAQ,CAAC,IAAI,GAAG,2BAA2B,EAAE,qCAAiB,CAAC,CAC1F,CAAC;QAGC,qCAAgC,GAAG,KAAK,EAAE,QAAoB,EAAE,MAAc,EAAiB,EAAE;YACpG,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAU,CAAC,WAAW,EAAE,CAAC;YACvE,IAAI;gBACA,MAAM,IAAI,CAAC,oBAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"ParkingsSecondaryRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/repositories/ParkingsSecondaryRepository.ts"],"names":[],"mappings":";;;AACA,mDAAgC;AAChC,8FAAuE;AACvE,+EAAwD;AACxD,yEAAqF;AACrF,6EAAwE;AACxE,mFAAkF;AAClF,mEAAsE;AAEtE,MAAa,2BAA4B,SAAQ,sBAAa;IAC1D;QACI,KAAK,CACD,eAAQ,CAAC,IAAI,GAAG,OAAO,EACvB;YACI,yBAAyB,EAAE,2BAAY,CAAC,cAAc;YACtD,QAAQ,EAAE,eAAQ,CAAC,QAAQ;YAC3B,WAAW,EAAE,oBAAoB;YACjC,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,eAAQ,CAAC,IAAI,GAAG,2BAA2B,EAAE,qCAAiB,CAAC,CAC1F,CAAC;QAGC,qCAAgC,GAAG,KAAK,EAAE,QAAoB,EAAE,MAAc,EAAiB,EAAE;YACpG,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAU,CAAC,WAAW,EAAE,CAAC;YACvE,IAAI;gBACA,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxD,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;gBAChE,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBACrD,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;aAC9B;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAC7B,MAAM,IAAI,6BAAY,CAAC,gBAAgB,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACvE;QACL,CAAC,CAAC;QAEK,WAAM,GAAG,KAAK,EAAE,EAAU,EAA4B,EAAE;YAC3D,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBACrC,KAAK,EAAE,EAAE,EAAE,EAAE;oBACb,GAAG,EAAE,IAAI;oBACT,IAAI,EAAE,IAAI;iBACb,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,gBAAgB,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACvE;QACL,CAAC,CAAC;QAEK,uBAAkB,GAAG,KAAK,EAAE,QAAoB,EAAE,WAAwB,EAAiB,EAAE;YAChG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAClG,CAAC,CAAC;IA7BF,CAAC;IA+BM,KAAK,CAAC,oBAAoB,CAAC,SAAmB,EAAE,MAAc,EAAE,WAAwB;QAC3F,MAAM,IAAI,CAAC,MAAM,CACb;YACI,MAAM,EAAE,KAAK;SAChB,EACD;YACI,KAAK,EAAE;gBACH,MAAM;gBACN,MAAM,EAAE,IAAI;gBACZ,EAAE,EAAE;oBACA,CAAC,cAAE,CAAC,KAAK,CAAC,EAAE,SAAS;iBACxB;aACJ;YACD,WAAW;SACd,CACJ,CAAC;IACN,CAAC;IAEO,4BAA4B;QAChC,OAAO,2BAAY,CAAC,aAAa;aAC5B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;aAC/F,MAAM,CAAC,YAAY,CAAC,CAAC;IAC9B,CAAC;CACJ;AAlED,kEAkEC"}
|
|
@@ -57,26 +57,54 @@ let SaveIptOictParkingDataTask = exports.SaveIptOictParkingDataTask = class Save
|
|
|
57
57
|
}
|
|
58
58
|
async updateParkingData(source, sourceUrl) {
|
|
59
59
|
const processingDate = new Date();
|
|
60
|
-
const data = await this.iptOictDataSource.getParkingData(sourceUrl);
|
|
61
60
|
const transformation = new IptOictParkingTransformation_1.IptOictParkingTransformation(source, processingDate);
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
const openingHoursTransformation = new IptOictOpeningHoursTransformation_1.IptOictOpeningHoursTransformation(source);
|
|
62
|
+
const datasource = this.iptOictDataSource.getParkingDataStream(sourceUrl);
|
|
63
|
+
const repository = source !== SourceEnum_1.SourceEnum.OSM ? this.parkingRepository : this.parkingSecondaryRepository;
|
|
64
|
+
const transaction = await repository["sequelizeModel"].sequelize.transaction();
|
|
65
|
+
try {
|
|
66
|
+
const activeParkingIds = [];
|
|
67
|
+
const dataStream = await datasource.getAll(true);
|
|
68
|
+
await dataStream
|
|
69
|
+
.setDataProcessor(async (data) => {
|
|
70
|
+
const transformedData = transformation.transformArray(data);
|
|
71
|
+
await repository.saveWithoutAddress(transformedData, transaction);
|
|
72
|
+
activeParkingIds.push(...transformedData.map((parking) => parking.id));
|
|
73
|
+
const openingHours = data
|
|
74
|
+
.flatMap((parking) => openingHoursTransformation.transformElement(parking))
|
|
75
|
+
.filter((oh) => oh.periods_of_time !== null);
|
|
76
|
+
await this.openHoursRepository.mergeOpenHours(openingHours, [source], processingDate);
|
|
77
|
+
})
|
|
78
|
+
.proceed();
|
|
79
|
+
await repository.markInactiveParkings(activeParkingIds, source, transaction);
|
|
80
|
+
await transaction.commit();
|
|
65
81
|
}
|
|
66
|
-
|
|
67
|
-
await
|
|
82
|
+
catch (err) {
|
|
83
|
+
await transaction.rollback();
|
|
84
|
+
throw new golemio_errors_1.GeneralError(`Unable to save parking data for source: ${source}`, this.constructor.name, err, 500);
|
|
68
85
|
}
|
|
69
|
-
const openingHoursTransformation = new IptOictOpeningHoursTransformation_1.IptOictOpeningHoursTransformation(source);
|
|
70
|
-
const openingHours = data
|
|
71
|
-
.flatMap((parking) => openingHoursTransformation.transformElement(parking))
|
|
72
|
-
.filter((oh) => oh.periods_of_time !== null);
|
|
73
|
-
await this.openHoursRepository.mergeOpenHours(openingHours, [source], processingDate);
|
|
74
86
|
}
|
|
75
87
|
async updateParkingLocations(source, sourceUrl) {
|
|
76
|
-
const
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
|
|
88
|
+
const datasource = this.iptOictDataSource.getParkingLocationDataStream(sourceUrl);
|
|
89
|
+
const transaction = await this.parkingLocationRepository["sequelizeModel"].sequelize.transaction();
|
|
90
|
+
try {
|
|
91
|
+
const activeParkingIds = [];
|
|
92
|
+
const dataStream = await datasource.getAll(true);
|
|
93
|
+
await dataStream
|
|
94
|
+
.setDataProcessor(async (data) => {
|
|
95
|
+
const transformation = new IptOictParkingSpaceTransformation_1.IptOictParkingSpaceTransformation(source);
|
|
96
|
+
const transformedData = transformation.transformArray(data);
|
|
97
|
+
await this.parkingLocationRepository.bulkSave(transformedData, this.parkingLocationRepository.getParkingAttributesToUpdate(), false, false, transaction);
|
|
98
|
+
activeParkingIds.push(...transformedData.map((parking) => parking.id));
|
|
99
|
+
})
|
|
100
|
+
.proceed();
|
|
101
|
+
await this.parkingLocationRepository.markInactiveParkingsLocations(activeParkingIds, source, transaction);
|
|
102
|
+
await transaction.commit();
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
await transaction.rollback();
|
|
106
|
+
throw new golemio_errors_1.GeneralError(`Unable to save parking locations data for source: ${source}`, this.constructor.name, err, 500);
|
|
107
|
+
}
|
|
80
108
|
}
|
|
81
109
|
async getSourceConfig(source) {
|
|
82
110
|
const sources = await this.cachedParkingSourcesRepository.getParkingSpaceDataSourceConfig({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveIptOictParkingDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveIptOictParkingDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sEAA2D;AAC3D,gHAAqG;AAErG,mFAA8E;AAC9E,yEAAoE;AACpE,gFAA2E;AAC3E,8FAAyF;AACzF,8EAAyE;AACzE,gGAA2F;AAC3F,uHAAkH;AAClH,+GAA0G;AAC1G,qGAAgG;AAChG,4EAAmH;
|
|
1
|
+
{"version":3,"file":"SaveIptOictParkingDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveIptOictParkingDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sEAA2D;AAC3D,gHAAqG;AAErG,mFAA8E;AAC9E,yEAAoE;AACpE,gFAA2E;AAC3E,8FAAyF;AACzF,8EAAyE;AACzE,gGAA2F;AAC3F,uHAAkH;AAClH,+GAA0G;AAC1G,qGAAgG;AAChG,4EAAmH;AAGnH,8EAAqE;AACrE,6EAA+G;AAC/G,iEAAwE;AACxE,4CAAwD;AAGjD,IAAM,0BAA0B,wCAAhC,MAAM,0BAA2B,SAAQ,iCAAmC;IAK/E,YACoD,iBAA4C,EAC3C,iBAA6C,EAE9F,0BAA+D,EACN,yBAA6D,EACpE,mBAAgD,EAElG,8BAAsE;QAEtE,KAAK,CAAC,oCAAwB,CAAC,CAAC;QATwB,sBAAiB,GAAjB,iBAAiB,CAAmB;QACnC,sBAAiB,GAAjB,iBAAiB,CAAoB;QAEtF,+BAA0B,GAA1B,0BAA0B,CAA6B;QACE,8BAAyB,GAAzB,yBAAyB,CAA4B;QAC5D,wBAAmB,GAAnB,mBAAmB,CAAqB;QAE1F,mCAA8B,GAA9B,8BAA8B,CAAgC;QAZ1D,cAAS,GAAG,wBAAwB,CAAC;QACrC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;QACpC,WAAM,GAAG,uDAA+B,CAAC;IAazD,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,IAA2B;QAC5C,IAAI;YACA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1D,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC;YAC7E,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC;SACvF;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;gBACrC,MAAM,GAAG,CAAC;aACb;YAED,MAAM,IAAI,6BAAY,CAAC,qCAAqC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;SAC7F;IACL,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,SAAiB;QAC7D,MAAM,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;QAClC,MAAM,cAAc,GAAG,IAAI,2DAA4B,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAChF,MAAM,0BAA0B,GAAG,IAAI,qEAAiC,CAAC,MAAM,CAAC,CAAC;QACjF,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,MAAM,KAAK,uBAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC;QACxG,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,CAAC,SAAU,CAAC,WAAW,EAAE,CAAC;QAChF,IAAI;YACA,MAAM,gBAAgB,GAAa,EAAE,CAAC;YACtC,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,UAAU;iBACX,gBAAgB,CAAC,KAAK,EAAE,IAAuD,EAAE,EAAE;gBAChF,MAAM,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAE5D,MAAM,UAAU,CAAC,kBAAkB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;gBAElE,gBAAgB,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvE,MAAM,YAAY,GAAG,IAAI;qBACpB,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;qBAC1E,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC;gBACjD,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC;YAC1F,CAAC,CAAC;iBACD,OAAO,EAAE,CAAC;YAEf,MAAM,UAAU,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YAC7E,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;SAC9B;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,6BAAY,CAAC,2CAA2C,MAAM,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;SAChH;IACL,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,MAAc,EAAE,SAAiB;QAClE,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC;QAClF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,CAAC,CAAC,SAAU,CAAC,WAAW,EAAE,CAAC;QAEpG,IAAI;YACA,MAAM,gBAAgB,GAAa,EAAE,CAAC;YACtC,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,UAAU;iBACX,gBAAgB,CAAC,KAAK,EAAE,IAA6D,EAAE,EAAE;gBACtF,MAAM,cAAc,GAAG,IAAI,qEAAiC,CAAC,MAAM,CAAC,CAAC;gBACrE,MAAM,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC5D,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CACzC,eAAe,EACf,IAAI,CAAC,yBAAyB,CAAC,4BAA4B,EAAE,EAC7D,KAAK,EACL,KAAK,EACL,WAAW,CACd,CAAC;gBACF,gBAAgB,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3E,CAAC,CAAC;iBACD,OAAO,EAAE,CAAC;YAEf,MAAM,IAAI,CAAC,yBAAyB,CAAC,6BAA6B,CAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YAC1G,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;SAC9B;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,6BAAY,CAClB,qDAAqD,MAAM,EAAE,EAC7D,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,GAAG,EACH,GAAG,CACN,CAAC;SACL;IACL,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,MAAc;QACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,+BAA+B,CAAC;YACtF,sBAAsB,EAAE,KAAK;SAChC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACjB,MAAM,IAAI,6BAAY,CAAC,uCAAuC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAC1F;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,EAAE;YACT,MAAM,IAAI,gCAAe,CAAC,yBAAyB,MAAM,uBAAuB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC1G;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ,CAAA;qCAjHY,0BAA0B;IADtC,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,iBAAiB,CAAC,CAAA;IAC9C,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,kBAAkB,CAAC,CAAA;IAC/C,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,2BAA2B,CAAC,CAAA;IAExD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,0BAA0B,CAAC,CAAA;IACvD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,mBAAmB,CAAC,CAAA;IAChD,WAAA,IAAA,iBAAM,EAAC,2CAAoB,CAAC,8BAA8B,CAAC,CAAA;qCANe,qCAAiB;QAChB,uCAAkB;QAE1D,yDAA2B;QAC6B,uDAA0B;QACvC,yCAAmB;QAE1D,+DAA8B;GAbjE,0BAA0B,CAiHtC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@golemio/parkings",
|
|
3
|
-
"version": "1.22.5-dev.
|
|
3
|
+
"version": "1.22.5-dev.1974542808",
|
|
4
4
|
"description": "Golemio Parkings Module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -78,6 +78,7 @@
|
|
|
78
78
|
"dependencies": {
|
|
79
79
|
"@terraformer/wkt": "^2.2.0",
|
|
80
80
|
"@turf/turf": "^6.5.0",
|
|
81
|
+
"JSONStream": "^1.3.5",
|
|
81
82
|
"uuid-by-string": "^3.0.2"
|
|
82
83
|
}
|
|
83
84
|
}
|