@golemio/waze-ccp 1.2.8 → 1.2.9-dev.2484306206
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/index.d.ts +2 -5
- package/dist/integration-engine/index.js +4 -5
- package/dist/integration-engine/index.js.map +1 -1
- package/dist/integration-engine/{WazeCCPAlertsTransformation.d.ts → transformations/WazeCCPAlertsTransformation.d.ts} +2 -2
- package/dist/integration-engine/{WazeCCPAlertsTransformation.js → transformations/WazeCCPAlertsTransformation.js} +3 -3
- package/dist/integration-engine/transformations/WazeCCPAlertsTransformation.js.map +1 -0
- package/dist/integration-engine/transformations/WazeCCPIrregularitiesTransformation.d.ts +12 -0
- package/dist/integration-engine/{WazeCCPIrregularitiesTransformation.js → transformations/WazeCCPIrregularitiesTransformation.js} +10 -38
- package/dist/integration-engine/transformations/WazeCCPIrregularitiesTransformation.js.map +1 -0
- package/dist/integration-engine/transformations/WazeCCPJamsTransformation.d.ts +12 -0
- package/dist/integration-engine/transformations/WazeCCPJamsTransformation.js +41 -0
- package/dist/integration-engine/transformations/WazeCCPJamsTransformation.js.map +1 -0
- package/dist/integration-engine/transformations/index.d.ts +3 -0
- package/dist/integration-engine/transformations/index.js +20 -0
- package/dist/integration-engine/transformations/index.js.map +1 -0
- package/dist/integration-engine/workers/WazeCCPWorker.d.ts +5 -0
- package/dist/integration-engine/workers/WazeCCPWorker.js +21 -0
- package/dist/integration-engine/workers/WazeCCPWorker.js.map +1 -0
- package/dist/integration-engine/workers/index.d.ts +2 -0
- package/dist/integration-engine/workers/index.js +6 -0
- package/dist/integration-engine/workers/index.js.map +1 -0
- package/dist/integration-engine/workers/tasks/RefreshAlertsInDBTask.d.ts +9 -0
- package/dist/integration-engine/workers/tasks/RefreshAlertsInDBTask.js +37 -0
- package/dist/integration-engine/workers/tasks/RefreshAlertsInDBTask.js.map +1 -0
- package/dist/integration-engine/workers/tasks/RefreshAllDataInDBTask.d.ts +6 -0
- package/dist/integration-engine/workers/tasks/RefreshAllDataInDBTask.js +22 -0
- package/dist/integration-engine/workers/tasks/RefreshAllDataInDBTask.js.map +1 -0
- package/dist/integration-engine/workers/tasks/RefreshIrregularitiesInDBTask.d.ts +10 -0
- package/dist/integration-engine/workers/tasks/RefreshIrregularitiesInDBTask.js +46 -0
- package/dist/integration-engine/workers/tasks/RefreshIrregularitiesInDBTask.js.map +1 -0
- package/dist/integration-engine/workers/tasks/RefreshJamsInDBTask.d.ts +10 -0
- package/dist/integration-engine/workers/tasks/RefreshJamsInDBTask.js +46 -0
- package/dist/integration-engine/workers/tasks/RefreshJamsInDBTask.js.map +1 -0
- package/dist/integration-engine/workers/tasks/index.d.ts +4 -0
- package/dist/integration-engine/workers/tasks/index.js +21 -0
- package/dist/integration-engine/workers/tasks/index.js.map +1 -0
- package/dist/schema-definitions/datasources/InputIrregularitiesJsonSchema.d.ts +3 -116
- package/dist/schema-definitions/datasources/InputIrregularitiesJsonSchema.js +2 -0
- package/dist/schema-definitions/datasources/InputIrregularitiesJsonSchema.js.map +1 -1
- package/dist/schema-definitions/datasources/InputJamsJsonSchema.d.ts +3 -92
- package/dist/schema-definitions/datasources/InputJamsJsonSchema.js +7 -0
- package/dist/schema-definitions/datasources/InputJamsJsonSchema.js.map +1 -1
- package/dist/schema-definitions/datasources/interfaces/IInputIrregularities.d.ts +39 -0
- package/dist/schema-definitions/datasources/interfaces/IInputIrregularities.js +3 -0
- package/dist/schema-definitions/datasources/interfaces/IInputIrregularities.js.map +1 -0
- package/dist/schema-definitions/datasources/interfaces/IInputJams.d.ts +34 -0
- package/dist/schema-definitions/datasources/interfaces/IInputJams.js +3 -0
- package/dist/schema-definitions/datasources/interfaces/IInputJams.js.map +1 -0
- package/docs/asyncapi.yaml +1 -1
- package/docs/implementation_documentation.md +45 -1
- package/package.json +1 -1
- package/dist/integration-engine/WazeCCPAlertsTransformation.js.map +0 -1
- package/dist/integration-engine/WazeCCPIrregularitiesTransformation.d.ts +0 -10
- package/dist/integration-engine/WazeCCPIrregularitiesTransformation.js.map +0 -1
- package/dist/integration-engine/WazeCCPJamsTransformation.d.ts +0 -10
- package/dist/integration-engine/WazeCCPJamsTransformation.js +0 -69
- package/dist/integration-engine/WazeCCPJamsTransformation.js.map +0 -1
- package/dist/integration-engine/WazeCCPWorker.d.ts +0 -17
- package/dist/integration-engine/WazeCCPWorker.js +0 -84
- package/dist/integration-engine/WazeCCPWorker.js.map +0 -1
- package/dist/integration-engine/queueDefinitions.d.ts +0 -3
- package/dist/integration-engine/queueDefinitions.js +0 -56
- package/dist/integration-engine/queueDefinitions.js.map +0 -1
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
export * from "./WazeCCPAlertsTransformation";
|
|
2
|
-
export * from "./WazeCCPIrregularitiesTransformation";
|
|
3
|
-
export * from "./WazeCCPJamsTransformation";
|
|
4
1
|
export * from "./WazeCCPUtils";
|
|
5
|
-
export * from "./
|
|
6
|
-
export
|
|
2
|
+
export * from "./transformations";
|
|
3
|
+
export { workers } from "./workers";
|
|
@@ -14,11 +14,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.workers = void 0;
|
|
17
18
|
/* ie/index.ts */
|
|
18
|
-
__exportStar(require("./WazeCCPAlertsTransformation"), exports);
|
|
19
|
-
__exportStar(require("./WazeCCPIrregularitiesTransformation"), exports);
|
|
20
|
-
__exportStar(require("./WazeCCPJamsTransformation"), exports);
|
|
21
19
|
__exportStar(require("./WazeCCPUtils"), exports);
|
|
22
|
-
__exportStar(require("./
|
|
23
|
-
|
|
20
|
+
__exportStar(require("./transformations"), exports);
|
|
21
|
+
var workers_1 = require("./workers");
|
|
22
|
+
Object.defineProperty(exports, "workers", { enumerable: true, get: function () { return workers_1.workers; } });
|
|
24
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iBAAiB;AACjB,iDAA+B;AAC/B,oDAAkC;AAClC,qCAAoC;AAA3B,kGAAA,OAAO,OAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
|
|
2
|
-
import { IWazeAlerts } from "
|
|
3
|
-
import { IInputAlertsInfo } from "
|
|
2
|
+
import { IWazeAlerts } from "../interfaces/WazeAlertsInterface";
|
|
3
|
+
import { IInputAlertsInfo } from "../../schema-definitions/datasources/interfaces/IInputAlerts";
|
|
4
4
|
export declare class WazeCCPAlertsTransformation extends AbstractTransformation<IInputAlertsInfo, IWazeAlerts> {
|
|
5
5
|
name: string;
|
|
6
6
|
private readonly downloadedAt;
|
|
@@ -5,12 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.WazeCCPAlertsTransformation = void 0;
|
|
7
7
|
const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
|
|
8
|
-
const
|
|
9
|
-
const AlertsIdHelper_1 = __importDefault(require("
|
|
8
|
+
const _sch_1 = require("../../schema-definitions");
|
|
9
|
+
const AlertsIdHelper_1 = __importDefault(require("../helpers/AlertsIdHelper"));
|
|
10
10
|
class WazeCCPAlertsTransformation extends AbstractTransformation_1.AbstractTransformation {
|
|
11
11
|
constructor(timestamp) {
|
|
12
12
|
super();
|
|
13
|
-
this.name =
|
|
13
|
+
this.name = _sch_1.WazeCCP.alerts.name + "Transformation";
|
|
14
14
|
this.transformInternal = (alert) => {
|
|
15
15
|
return {
|
|
16
16
|
city: alert.city ?? null,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WazeCCPAlertsTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/WazeCCPAlertsTransformation.ts"],"names":[],"mappings":";;;;;;AAAA,6GAA0G;AAC1G,mDAA+B;AAG/B,+EAAwD;AAExD,MAAa,2BAA4B,SAAQ,+CAAqD;IAIlG,YAAY,SAAe;QACvB,KAAK,EAAE,CAAC;QAJL,SAAI,GAAG,cAAO,CAAC,MAAM,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAQ3C,sBAAiB,GAAG,CAAC,KAAuB,EAAe,EAAE;YACnE,OAAO;gBACH,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;gBACxB,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;gBACpC,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;gBAC9B,aAAa,EAAE,IAAI,CAAC,YAAY;gBAChC,EAAE,EAAE,wBAAc,CAAC,YAAY,CAAC,KAAK,CAAC;gBACtC,QAAQ,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;gBAC/B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;gBAC5B,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE;gBACvC,YAAY,EAAE,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;gBACxC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;gBACtC,2BAA2B,EAAE,KAAK,CAAC,wBAAwB,KAAK,MAAM;gBACtE,kBAAkB,EAAE,KAAK,CAAC,iBAAiB,IAAI,IAAI;gBACnD,aAAa,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI;gBACzC,SAAS,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;gBACjC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;gBAC5B,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;gBAC9B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;gBAClC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;gBACxB,IAAI,EAAE,KAAK,CAAC,IAAI;aACnB,CAAC;QACN,CAAC,CAAC;QA1BE,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;IAClC,CAAC;CA0BJ;AAjCD,kEAiCC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
|
|
2
|
+
import { IIrregularityDto } from "../../schema-definitions/interfaces/IIrregularityDto";
|
|
3
|
+
import { IInputIrregularityInfo } from "../../schema-definitions/datasources/interfaces/IInputIrregularities";
|
|
4
|
+
type EnrichedInputIrregularityInfoType = {
|
|
5
|
+
downloadedAt: Date;
|
|
6
|
+
rootStart: number;
|
|
7
|
+
} & IInputIrregularityInfo;
|
|
8
|
+
export declare class WazeCCPIrregularitiesTransformation extends AbstractTransformation<EnrichedInputIrregularityInfoType, IIrregularityDto> {
|
|
9
|
+
name: any;
|
|
10
|
+
protected transformInternal: (irregularity: EnrichedInputIrregularityInfoType) => IIrregularityDto;
|
|
11
|
+
}
|
|
12
|
+
export {};
|
|
@@ -1,43 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WazeCCPIrregularitiesTransformation = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
class WazeCCPIrregularitiesTransformation extends transformations_1.BaseTransformation {
|
|
4
|
+
const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
|
|
5
|
+
const _sch_1 = require("../../schema-definitions");
|
|
6
|
+
const WazeCCPUtils_1 = require("../WazeCCPUtils");
|
|
7
|
+
class WazeCCPIrregularitiesTransformation extends AbstractTransformation_1.AbstractTransformation {
|
|
9
8
|
constructor() {
|
|
10
|
-
super();
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const downloadedAt = data.downloadedAt;
|
|
17
|
-
if (!data.irregularities) {
|
|
18
|
-
helpers_1.log.warn(`${this.name}: Data source returned empty data.`);
|
|
19
|
-
return [];
|
|
20
|
-
}
|
|
21
|
-
const results = [];
|
|
22
|
-
data.irregularities.forEach((element) => {
|
|
23
|
-
const res = this.transformElement({
|
|
24
|
-
...element,
|
|
25
|
-
downloadedAt,
|
|
26
|
-
rootStart,
|
|
27
|
-
});
|
|
28
|
-
if (res) {
|
|
29
|
-
results.push(res);
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
return results;
|
|
33
|
-
};
|
|
34
|
-
this.transformElement = (irregularity) => {
|
|
35
|
-
const rootStart = irregularity.rootStart;
|
|
36
|
-
delete irregularity.rootStart;
|
|
37
|
-
const downloadedAt = irregularity.downloadedAt;
|
|
38
|
-
delete irregularity.downloadedAt;
|
|
39
|
-
const irregularityHash = (0, WazeCCPUtils_1.generateAJIUniqueIdentifierHash)(irregularity, rootStart);
|
|
40
|
-
const res = {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.name = _sch_1.WazeCCP.irregularities.name;
|
|
11
|
+
this.transformInternal = (irregularity) => {
|
|
12
|
+
const { downloadedAt, rootStart, ...irregularityData } = irregularity;
|
|
13
|
+
const irregularityHash = (0, WazeCCPUtils_1.generateAJIUniqueIdentifierHash)(irregularityData, rootStart);
|
|
14
|
+
return {
|
|
41
15
|
alerts_count: irregularity.alertsCount,
|
|
42
16
|
cause_type: irregularity.causeType,
|
|
43
17
|
city: irregularity.city,
|
|
@@ -70,9 +44,7 @@ class WazeCCPIrregularitiesTransformation extends transformations_1.BaseTransfor
|
|
|
70
44
|
update_utc_date: new Date(+irregularity.updateDateMillis),
|
|
71
45
|
uuid: irregularity.id,
|
|
72
46
|
};
|
|
73
|
-
return res;
|
|
74
47
|
};
|
|
75
|
-
this.name = index_1.WazeCCP.irregularities.name;
|
|
76
48
|
}
|
|
77
49
|
}
|
|
78
50
|
exports.WazeCCPIrregularitiesTransformation = WazeCCPIrregularitiesTransformation;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WazeCCPIrregularitiesTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/WazeCCPIrregularitiesTransformation.ts"],"names":[],"mappings":";;;AAAA,6GAA0G;AAC1G,mDAA+B;AAE/B,kDAAkE;AAKlE,MAAa,mCAAoC,SAAQ,+CAGxD;IAHD;;QAIW,SAAI,GAAG,cAAO,CAAC,cAAc,CAAC,IAAI,CAAC;QAEhC,sBAAiB,GAAG,CAAC,YAA+C,EAAoB,EAAE;YAChG,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,gBAAgB,EAAE,GAAG,YAAY,CAAC;YACtE,MAAM,gBAAgB,GAAG,IAAA,8CAA+B,EAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;YAEtF,OAAO;gBACH,YAAY,EAAE,YAAY,CAAC,WAAW;gBACtC,UAAU,EAAE,YAAY,CAAC,SAAS;gBAClC,IAAI,EAAE,YAAY,CAAC,IAAI;gBACvB,OAAO,EAAE,YAAY,CAAC,OAAO;gBAC7B,aAAa,EAAE,YAAY,CAAC,YAAY;gBACxC,cAAc,EAAE,YAAY,CAAC,aAAa;gBAC1C,qBAAqB,EAAE,YAAY,CAAC,mBAAmB;gBACvD,kBAAkB,EAAE,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,mBAAmB,CAAC;gBAC/D,aAAa,EAAE,YAAY;gBAC3B,aAAa,EAAE,YAAY,CAAC,YAAY;gBACxC,QAAQ,EAAE,YAAY,CAAC,OAAO;gBAC9B,EAAE,EAAE,gBAAgB;gBACpB,UAAU,EAAE,YAAY,CAAC,OAAO;gBAChC,SAAS,EAAE,YAAY,CAAC,QAAQ;gBAChC,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,IAAI,EAAE,YAAY,CAAC,IAAI;gBACvB,UAAU,EAAE,YAAY,CAAC,SAAS;gBAClC,QAAQ,EAAE,YAAY,CAAC,OAAO;gBAC9B,WAAW,EAAE,YAAY,CAAC,SAAS;gBACnC,aAAa,EAAE,YAAY,CAAC,YAAY;gBACxC,OAAO,EAAE,YAAY,CAAC,OAAO;gBAC7B,QAAQ,EAAE,YAAY,CAAC,QAAQ;gBAC/B,KAAK,EAAE,YAAY,CAAC,KAAK;gBACzB,UAAU,EAAE,YAAY,CAAC,SAAS;gBAClC,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,KAAK,EAAE,YAAY,CAAC,KAAK;gBACzB,IAAI,EAAE,YAAY,CAAC,IAAI;gBACvB,WAAW,EAAE,YAAY,CAAC,UAAU;gBACpC,kBAAkB,EAAE,YAAY,CAAC,gBAAgB;gBACjD,eAAe,EAAE,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC;gBACzD,IAAI,EAAE,YAAY,CAAC,EAAE;aACxB,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA;AA5CD,kFA4CC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AbstractTransformation } from "@golemio/core/dist/helpers/transformation/AbstractTransformation";
|
|
2
|
+
import { IJamDto } from "../../schema-definitions/interfaces/IJamDto";
|
|
3
|
+
import { IInputJamInfo } from "../../schema-definitions/datasources/interfaces/IInputJams";
|
|
4
|
+
type EnrichedInputJamInfoType = {
|
|
5
|
+
downloadedAt: Date;
|
|
6
|
+
rootStart: number;
|
|
7
|
+
} & IInputJamInfo;
|
|
8
|
+
export declare class WazeCCPJamsTransformation extends AbstractTransformation<EnrichedInputJamInfoType, IJamDto> {
|
|
9
|
+
name: any;
|
|
10
|
+
protected transformInternal: (jam: EnrichedInputJamInfoType) => IJamDto;
|
|
11
|
+
}
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WazeCCPJamsTransformation = void 0;
|
|
4
|
+
const AbstractTransformation_1 = require("@golemio/core/dist/helpers/transformation/AbstractTransformation");
|
|
5
|
+
const _sch_1 = require("../../schema-definitions");
|
|
6
|
+
const WazeCCPUtils_1 = require("../WazeCCPUtils");
|
|
7
|
+
class WazeCCPJamsTransformation extends AbstractTransformation_1.AbstractTransformation {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.name = _sch_1.WazeCCP.jams.name;
|
|
11
|
+
this.transformInternal = (jam) => {
|
|
12
|
+
const { downloadedAt, rootStart, ...jamData } = jam;
|
|
13
|
+
const jamHash = (0, WazeCCPUtils_1.generateAJIUniqueIdentifierHash)(jamData, rootStart);
|
|
14
|
+
return {
|
|
15
|
+
blocking_alert_id: jam.blockingAlertUuid,
|
|
16
|
+
city: jam.city || null,
|
|
17
|
+
country: jam.country,
|
|
18
|
+
delay: jam.delay,
|
|
19
|
+
downloaded_at: downloadedAt,
|
|
20
|
+
end_node: jam.endNode || null,
|
|
21
|
+
id: jamHash,
|
|
22
|
+
length: jam.length,
|
|
23
|
+
level: jam.level,
|
|
24
|
+
line: jam.line || null,
|
|
25
|
+
pub_millis: jam.pubMillis,
|
|
26
|
+
pub_utc_date: new Date(+jam.pubMillis),
|
|
27
|
+
road_type: jam.roadType,
|
|
28
|
+
speed: jam.speed,
|
|
29
|
+
speed_kmh: jam.speedKMH,
|
|
30
|
+
start_node: jam.startNode || null,
|
|
31
|
+
street: jam.street || null,
|
|
32
|
+
turn_line: jam.turnLine || null,
|
|
33
|
+
turn_type: jam.turnType || null,
|
|
34
|
+
type: jam.type,
|
|
35
|
+
uuid: jam.uuid,
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.WazeCCPJamsTransformation = WazeCCPJamsTransformation;
|
|
41
|
+
//# sourceMappingURL=WazeCCPJamsTransformation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WazeCCPJamsTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/WazeCCPJamsTransformation.ts"],"names":[],"mappings":";;;AAAA,6GAA0G;AAC1G,mDAA+B;AAE/B,kDAAkE;AAKlE,MAAa,yBAA0B,SAAQ,+CAAyD;IAAxG;;QACW,SAAI,GAAG,cAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAEtB,sBAAiB,GAAG,CAAC,GAA6B,EAAW,EAAE;YACrE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,GAAG,GAAG,CAAC;YACpD,MAAM,OAAO,GAAG,IAAA,8CAA+B,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAEpE,OAAO;gBACH,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;gBACxC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI;gBACtB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,aAAa,EAAE,YAAY;gBAC3B,QAAQ,EAAE,GAAG,CAAC,OAAO,IAAI,IAAI;gBAC7B,EAAE,EAAE,OAAO;gBACX,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI;gBACtB,UAAU,EAAE,GAAG,CAAC,SAAS;gBACzB,YAAY,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;gBACtC,SAAS,EAAE,GAAG,CAAC,QAAQ;gBACvB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,SAAS,EAAE,GAAG,CAAC,QAAQ;gBACvB,UAAU,EAAE,GAAG,CAAC,SAAS,IAAI,IAAI;gBACjC,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,IAAI;gBAC1B,SAAS,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI;gBAC/B,SAAS,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI;gBAC/B,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,GAAG,CAAC,IAAI;aACjB,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA;AA/BD,8DA+BC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./WazeCCPAlertsTransformation"), exports);
|
|
18
|
+
__exportStar(require("./WazeCCPIrregularitiesTransformation"), exports);
|
|
19
|
+
__exportStar(require("./WazeCCPJamsTransformation"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C;AAC9C,wEAAsD;AACtD,8DAA4C"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WazeCCPWorker = void 0;
|
|
4
|
+
const workers_1 = require("@golemio/core/dist/integration-engine/workers");
|
|
5
|
+
const index_1 = require("../../schema-definitions/index");
|
|
6
|
+
const RefreshAlertsInDBTask_1 = require("./tasks/RefreshAlertsInDBTask");
|
|
7
|
+
const RefreshAllDataInDBTask_1 = require("./tasks/RefreshAllDataInDBTask");
|
|
8
|
+
const RefreshIrregularitiesInDBTask_1 = require("./tasks/RefreshIrregularitiesInDBTask");
|
|
9
|
+
const RefreshJamsInDBTask_1 = require("./tasks/RefreshJamsInDBTask");
|
|
10
|
+
class WazeCCPWorker extends workers_1.AbstractWorker {
|
|
11
|
+
constructor() {
|
|
12
|
+
super();
|
|
13
|
+
this.name = index_1.WazeCCP.name.toLowerCase();
|
|
14
|
+
this.registerTask(new RefreshAlertsInDBTask_1.RefreshAlertsInDBTask(this.getQueuePrefix()));
|
|
15
|
+
this.registerTask(new RefreshIrregularitiesInDBTask_1.RefreshIrregularitiesInDBTask(this.getQueuePrefix()));
|
|
16
|
+
this.registerTask(new RefreshJamsInDBTask_1.RefreshJamsInDBTask(this.getQueuePrefix()));
|
|
17
|
+
this.registerTask(new RefreshAllDataInDBTask_1.RefreshAllDataInDBTask(this.getQueuePrefix()));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.WazeCCPWorker = WazeCCPWorker;
|
|
21
|
+
//# sourceMappingURL=WazeCCPWorker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WazeCCPWorker.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/WazeCCPWorker.ts"],"names":[],"mappings":";;;AAAA,2EAA+E;AAC/E,0DAAqC;AACrC,yEAAsE;AACtE,2EAAwE;AACxE,yFAAsF;AACtF,qEAAkE;AAElE,MAAa,aAAc,SAAQ,wBAAc;IAG7C;QACI,KAAK,EAAE,CAAC;QAHO,SAAI,GAAG,eAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAIjD,IAAI,CAAC,YAAY,CAAC,IAAI,6CAAqB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,CAAC,IAAI,6DAA6B,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,YAAY,CAAC,IAAI,yCAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,YAAY,CAAC,IAAI,+CAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;CACJ;AAVD,sCAUC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integration-engine/workers/index.ts"],"names":[],"mappings":";;;AAAA,mDAAgD;AAEnC,QAAA,OAAO,GAAG,CAAC,6BAAa,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine";
|
|
2
|
+
export declare class RefreshAlertsInDBTask extends AbstractEmptyTask {
|
|
3
|
+
readonly queueName = "refreshAlertsInDB";
|
|
4
|
+
readonly queueTtl: number;
|
|
5
|
+
private readonly dataSource;
|
|
6
|
+
private readonly model;
|
|
7
|
+
constructor(queuePrefix: string);
|
|
8
|
+
protected execute(): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RefreshAlertsInDBTask = void 0;
|
|
4
|
+
const WazeAlertsRepository_1 = require("../../repositories/WazeAlertsRepository");
|
|
5
|
+
const index_1 = require("../../../schema-definitions/index");
|
|
6
|
+
const config_1 = require("@golemio/core/dist/integration-engine/config");
|
|
7
|
+
const datasources_1 = require("@golemio/core/dist/integration-engine/datasources");
|
|
8
|
+
const HTTPFetchProtocolStrategy_1 = require("@golemio/core/dist/integration-engine/datasources/protocol-strategy/HTTPFetchProtocolStrategy");
|
|
9
|
+
const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
|
|
10
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
11
|
+
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
12
|
+
const WazeCCPAlertsTransformation_1 = require("../../transformations/WazeCCPAlertsTransformation");
|
|
13
|
+
class RefreshAlertsInDBTask extends integration_engine_1.AbstractEmptyTask {
|
|
14
|
+
constructor(queuePrefix) {
|
|
15
|
+
super(queuePrefix);
|
|
16
|
+
this.queueName = "refreshAlertsInDB";
|
|
17
|
+
this.queueTtl = 90 * 1000; // 90 seconds
|
|
18
|
+
this.dataSource = new datasources_1.DataSource(index_1.WazeCCP.alerts.name + "DataSource", new HTTPFetchProtocolStrategy_1.HTTPFetchProtocolStrategy({
|
|
19
|
+
headers: {},
|
|
20
|
+
method: "GET",
|
|
21
|
+
url: config_1.config.datasources.WazeCCP + "&types=alerts",
|
|
22
|
+
}), new datasources_1.JSONDataTypeStrategy({ resultsPath: "" }), new golemio_validator_1.JSONSchemaValidator(index_1.WazeCCP.alerts.name + "DataSource", index_1.WazeCCP.alerts.datasourceJsonSchema));
|
|
23
|
+
this.model = new WazeAlertsRepository_1.WazeAlertsRepository();
|
|
24
|
+
}
|
|
25
|
+
async execute() {
|
|
26
|
+
const data = await this.dataSource.getAll();
|
|
27
|
+
if (!data.alerts) {
|
|
28
|
+
helpers_1.log.warn(`${index_1.WazeCCP.alerts.name}: Data source returned empty data.`);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const transformation = new WazeCCPAlertsTransformation_1.WazeCCPAlertsTransformation(new Date());
|
|
32
|
+
const transformedData = transformation.transformArray(data.alerts);
|
|
33
|
+
await this.model.saveAlerts(transformedData);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.RefreshAlertsInDBTask = RefreshAlertsInDBTask;
|
|
37
|
+
//# sourceMappingURL=RefreshAlertsInDBTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RefreshAlertsInDBTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/RefreshAlertsInDBTask.ts"],"names":[],"mappings":";;;AAAA,kFAA6E;AAC7E,6DAAqC;AACrC,yEAAsE;AACtE,mFAAqG;AACrG,6IAA0I;AAC1I,2EAAoE;AACpE,8EAA0E;AAC1E,mFAAkF;AAClF,mGAAgG;AAEhG,MAAa,qBAAsB,SAAQ,sCAAiB;IAOxD,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QAPP,cAAS,GAAG,mBAAmB,CAAC;QAChC,aAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;QAQ/C,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAU,CAC5B,eAAO,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,EAClC,IAAI,qDAAyB,CAAC;YAC1B,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,eAAM,CAAC,WAAW,CAAC,OAAO,GAAG,eAAe;SACpD,CAAC,EACF,IAAI,kCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAI,uCAAmB,CAAC,eAAO,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,EAAE,eAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,CACnG,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,IAAI,2CAAoB,EAAE,CAAC;IAC5C,CAAC;IAES,KAAK,CAAC,OAAO;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAE5C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACd,aAAG,CAAC,IAAI,CAAC,GAAG,eAAO,CAAC,MAAM,CAAC,IAAI,oCAAoC,CAAC,CAAC;YACrE,OAAO;SACV;QAED,MAAM,cAAc,GAAG,IAAI,yDAA2B,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACnE,MAAM,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnE,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC;CACJ;AAnCD,sDAmCC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RefreshAllDataInDBTask = void 0;
|
|
4
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
5
|
+
const connectors_1 = require("@golemio/core/dist/integration-engine/connectors");
|
|
6
|
+
class RefreshAllDataInDBTask extends integration_engine_1.AbstractEmptyTask {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.queueName = "refreshAllDataInDB";
|
|
10
|
+
this.queueTtl = 4 * 60 * 1000; // 4 minutes
|
|
11
|
+
}
|
|
12
|
+
async execute() {
|
|
13
|
+
const queueNames = ["refreshAlertsInDB", "refreshIrregularitiesInDB", "refreshJamsInDB"];
|
|
14
|
+
const sendMessagePromises = [];
|
|
15
|
+
for (const queueName of queueNames) {
|
|
16
|
+
sendMessagePromises.push(connectors_1.AMQPConnector.sendMessage(`workers.${this.queuePrefix}.${queueName}`, "Just do it!"));
|
|
17
|
+
}
|
|
18
|
+
await Promise.all(sendMessagePromises);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.RefreshAllDataInDBTask = RefreshAllDataInDBTask;
|
|
22
|
+
//# sourceMappingURL=RefreshAllDataInDBTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RefreshAllDataInDBTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/RefreshAllDataInDBTask.ts"],"names":[],"mappings":";;;AAAA,8EAA0E;AAC1E,iFAAiF;AAEjF,MAAa,sBAAuB,SAAQ,sCAAiB;IAA7D;;QACoB,cAAS,GAAG,oBAAoB,CAAC;QACjC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;IAY1D,CAAC;IAVa,KAAK,CAAC,OAAO;QACnB,MAAM,UAAU,GAAG,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,iBAAiB,CAAC,CAAC;QACzF,MAAM,mBAAmB,GAA4B,EAAE,CAAC;QAExD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAChC,mBAAmB,CAAC,IAAI,CAAC,0BAAa,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,WAAW,IAAI,SAAS,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;SAClH;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC3C,CAAC;CACJ;AAdD,wDAcC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine";
|
|
2
|
+
export declare class RefreshIrregularitiesInDBTask extends AbstractEmptyTask {
|
|
3
|
+
readonly queueName = "refreshIrregularitiesInDB";
|
|
4
|
+
readonly queueTtl: number;
|
|
5
|
+
private readonly dataSource;
|
|
6
|
+
private readonly transformation;
|
|
7
|
+
private readonly model;
|
|
8
|
+
constructor(queuePrefix: string);
|
|
9
|
+
protected execute(): Promise<void>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RefreshIrregularitiesInDBTask = void 0;
|
|
4
|
+
const index_1 = require("../../../schema-definitions/index");
|
|
5
|
+
const IrregularityDto_1 = require("../../../schema-definitions/models/IrregularityDto");
|
|
6
|
+
const config_1 = require("@golemio/core/dist/integration-engine/config");
|
|
7
|
+
const datasources_1 = require("@golemio/core/dist/integration-engine/datasources");
|
|
8
|
+
const HTTPFetchProtocolStrategy_1 = require("@golemio/core/dist/integration-engine/datasources/protocol-strategy/HTTPFetchProtocolStrategy");
|
|
9
|
+
const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
|
|
10
|
+
const models_1 = require("@golemio/core/dist/integration-engine/models");
|
|
11
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
12
|
+
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
13
|
+
const WazeCCPIrregularitiesTransformation_1 = require("../../transformations/WazeCCPIrregularitiesTransformation");
|
|
14
|
+
class RefreshIrregularitiesInDBTask extends integration_engine_1.AbstractEmptyTask {
|
|
15
|
+
constructor(queuePrefix) {
|
|
16
|
+
super(queuePrefix);
|
|
17
|
+
this.queueName = "refreshIrregularitiesInDB";
|
|
18
|
+
this.queueTtl = 4 * 60 * 1000; // 4 minutes
|
|
19
|
+
this.dataSource = new datasources_1.DataSource(index_1.WazeCCP.irregularities.name + "DataSource", new HTTPFetchProtocolStrategy_1.HTTPFetchProtocolStrategy({
|
|
20
|
+
headers: {},
|
|
21
|
+
method: "GET",
|
|
22
|
+
url: config_1.config.datasources.WazeCCP + "&types=irregularities",
|
|
23
|
+
}), new datasources_1.JSONDataTypeStrategy({ resultsPath: "" }), new golemio_validator_1.JSONSchemaValidator(index_1.WazeCCP.irregularities.name + "DataSource", index_1.WazeCCP.irregularities.datasourceJsonSchema));
|
|
24
|
+
this.transformation = new WazeCCPIrregularitiesTransformation_1.WazeCCPIrregularitiesTransformation();
|
|
25
|
+
this.model = new models_1.PostgresModel(index_1.WazeCCP.irregularities.name + "Model", {
|
|
26
|
+
outputSequelizeAttributes: IrregularityDto_1.IrregularitiesDto.attributeModel,
|
|
27
|
+
pgTableName: index_1.WazeCCP.irregularities.pgTableName,
|
|
28
|
+
pgSchema: index_1.WazeCCP.pgSchema,
|
|
29
|
+
savingType: "insertOrUpdate",
|
|
30
|
+
}, new golemio_validator_1.JSONSchemaValidator(index_1.WazeCCP.irregularities.name + "ModelValidator", IrregularityDto_1.IrregularitiesDto.jsonSchema));
|
|
31
|
+
}
|
|
32
|
+
async execute() {
|
|
33
|
+
const data = await this.dataSource.getAll();
|
|
34
|
+
if (!data.irregularities) {
|
|
35
|
+
helpers_1.log.warn(`${index_1.WazeCCP.irregularities.name}: Data source returned empty data.`);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const downloadedAt = new Date();
|
|
39
|
+
const rootStart = data.startTimeMillis;
|
|
40
|
+
const enriched = data.irregularities.map((el) => ({ ...el, downloadedAt, rootStart }));
|
|
41
|
+
const transformedData = this.transformation.transformArray(enriched);
|
|
42
|
+
await this.model.saveBySqlFunction(transformedData, ["id"]);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.RefreshIrregularitiesInDBTask = RefreshIrregularitiesInDBTask;
|
|
46
|
+
//# sourceMappingURL=RefreshIrregularitiesInDBTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RefreshIrregularitiesInDBTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/RefreshIrregularitiesInDBTask.ts"],"names":[],"mappings":";;;AAAA,6DAAqC;AACrC,wFAAgE;AAChE,yEAAsE;AACtE,mFAAqG;AACrG,6IAA0I;AAC1I,2EAAoE;AACpE,yEAA6E;AAC7E,8EAA0E;AAC1E,mFAAkF;AAClF,mHAAgH;AAGhH,MAAa,6BAA8B,SAAQ,sCAAiB;IAQhE,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QARP,cAAS,GAAG,2BAA2B,CAAC;QACxC,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QASlD,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAU,CAC5B,eAAO,CAAC,cAAc,CAAC,IAAI,GAAG,YAAY,EAC1C,IAAI,qDAAyB,CAAC;YAC1B,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,eAAM,CAAC,WAAW,CAAC,OAAO,GAAG,uBAAuB;SAC5D,CAAC,EACF,IAAI,kCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAI,uCAAmB,CAAC,eAAO,CAAC,cAAc,CAAC,IAAI,GAAG,YAAY,EAAE,eAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CACnH,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,IAAI,yEAAmC,EAAE,CAAC;QAChE,IAAI,CAAC,KAAK,GAAG,IAAI,sBAAa,CAC1B,eAAO,CAAC,cAAc,CAAC,IAAI,GAAG,OAAO,EACrC;YACI,yBAAyB,EAAE,mCAAiB,CAAC,cAAc;YAC3D,WAAW,EAAE,eAAO,CAAC,cAAc,CAAC,WAAW;YAC/C,QAAQ,EAAE,eAAO,CAAC,QAAQ;YAC1B,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,eAAO,CAAC,cAAc,CAAC,IAAI,GAAG,gBAAgB,EAAE,mCAAiB,CAAC,UAAU,CAAC,CACxG,CAAC;IACN,CAAC;IAES,KAAK,CAAC,OAAO;QACnB,MAAM,IAAI,GAAyB,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAElE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,aAAG,CAAC,IAAI,CAAC,GAAG,eAAO,CAAC,cAAc,CAAC,IAAI,oCAAoC,CAAC,CAAC;YAC7E,OAAO;SACV;QAED,MAAM,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAA0B,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAC/G,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;CACJ;AAhDD,sEAgDC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AbstractEmptyTask } from "@golemio/core/dist/integration-engine";
|
|
2
|
+
export declare class RefreshJamsInDBTask extends AbstractEmptyTask {
|
|
3
|
+
readonly queueName = "refreshJamsInDB";
|
|
4
|
+
readonly queueTtl: number;
|
|
5
|
+
private readonly dataSource;
|
|
6
|
+
private readonly transformation;
|
|
7
|
+
private readonly model;
|
|
8
|
+
constructor(queuePrefix: string);
|
|
9
|
+
protected execute(): Promise<void>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RefreshJamsInDBTask = void 0;
|
|
4
|
+
const index_1 = require("../../../schema-definitions/index");
|
|
5
|
+
const JamDto_1 = require("../../../schema-definitions/models/JamDto");
|
|
6
|
+
const config_1 = require("@golemio/core/dist/integration-engine/config");
|
|
7
|
+
const datasources_1 = require("@golemio/core/dist/integration-engine/datasources");
|
|
8
|
+
const HTTPFetchProtocolStrategy_1 = require("@golemio/core/dist/integration-engine/datasources/protocol-strategy/HTTPFetchProtocolStrategy");
|
|
9
|
+
const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
|
|
10
|
+
const models_1 = require("@golemio/core/dist/integration-engine/models");
|
|
11
|
+
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
12
|
+
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
13
|
+
const WazeCCPJamsTransformation_1 = require("../../transformations/WazeCCPJamsTransformation");
|
|
14
|
+
class RefreshJamsInDBTask extends integration_engine_1.AbstractEmptyTask {
|
|
15
|
+
constructor(queuePrefix) {
|
|
16
|
+
super(queuePrefix);
|
|
17
|
+
this.queueName = "refreshJamsInDB";
|
|
18
|
+
this.queueTtl = 4 * 60 * 1000; // 4 minutes
|
|
19
|
+
this.dataSource = new datasources_1.DataSource(index_1.WazeCCP.jams.name + "DataSource", new HTTPFetchProtocolStrategy_1.HTTPFetchProtocolStrategy({
|
|
20
|
+
headers: {},
|
|
21
|
+
method: "GET",
|
|
22
|
+
url: config_1.config.datasources.WazeCCP + "&types=traffic",
|
|
23
|
+
}), new datasources_1.JSONDataTypeStrategy({ resultsPath: "" }), new golemio_validator_1.JSONSchemaValidator(index_1.WazeCCP.jams.name + "DataSource", index_1.WazeCCP.jams.datasourceJsonSchema));
|
|
24
|
+
this.transformation = new WazeCCPJamsTransformation_1.WazeCCPJamsTransformation();
|
|
25
|
+
this.model = new models_1.PostgresModel(index_1.WazeCCP.jams.name + "Model", {
|
|
26
|
+
outputSequelizeAttributes: JamDto_1.JamDto.attributeModel,
|
|
27
|
+
pgTableName: index_1.WazeCCP.jams.pgTableName,
|
|
28
|
+
pgSchema: index_1.WazeCCP.pgSchema,
|
|
29
|
+
savingType: "insertOrUpdate",
|
|
30
|
+
}, new golemio_validator_1.JSONSchemaValidator(index_1.WazeCCP.jams.name + "ModelValidator", JamDto_1.JamDto.jsonSchema));
|
|
31
|
+
}
|
|
32
|
+
async execute() {
|
|
33
|
+
const data = await this.dataSource.getAll();
|
|
34
|
+
if (!data.jams) {
|
|
35
|
+
helpers_1.log.warn(`${index_1.WazeCCP.jams.name}: Data source returned empty data.`);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const downloadedAt = new Date();
|
|
39
|
+
const rootStart = data.startTimeMillis;
|
|
40
|
+
const enriched = data.jams.map((el) => ({ ...el, downloadedAt, rootStart }));
|
|
41
|
+
const transformedData = this.transformation.transformArray(enriched);
|
|
42
|
+
await this.model.saveBySqlFunction(transformedData, ["id", "pub_utc_date"]);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.RefreshJamsInDBTask = RefreshJamsInDBTask;
|
|
46
|
+
//# sourceMappingURL=RefreshJamsInDBTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RefreshJamsInDBTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/RefreshJamsInDBTask.ts"],"names":[],"mappings":";;;AAAA,6DAAqC;AACrC,sEAA4C;AAC5C,yEAAsE;AACtE,mFAAqG;AACrG,6IAA0I;AAC1I,2EAAoE;AACpE,yEAA6E;AAC7E,8EAA0E;AAC1E,mFAAkF;AAClF,+FAA4F;AAG5F,MAAa,mBAAoB,SAAQ,sCAAiB;IAQtD,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QARP,cAAS,GAAG,iBAAiB,CAAC;QAC9B,aAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;QASlD,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAU,CAC5B,eAAO,CAAC,IAAI,CAAC,IAAI,GAAG,YAAY,EAChC,IAAI,qDAAyB,CAAC;YAC1B,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,eAAM,CAAC,WAAW,CAAC,OAAO,GAAG,gBAAgB;SACrD,CAAC,EACF,IAAI,kCAAoB,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAC7C,IAAI,uCAAmB,CAAC,eAAO,CAAC,IAAI,CAAC,IAAI,GAAG,YAAY,EAAE,eAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAC/F,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,IAAI,qDAAyB,EAAE,CAAC;QACtD,IAAI,CAAC,KAAK,GAAG,IAAI,sBAAa,CAC1B,eAAO,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,EAC3B;YACI,yBAAyB,EAAE,eAAM,CAAC,cAAc;YAChD,WAAW,EAAE,eAAO,CAAC,IAAI,CAAC,WAAW;YACrC,QAAQ,EAAE,eAAO,CAAC,QAAQ;YAC1B,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,eAAO,CAAC,IAAI,CAAC,IAAI,GAAG,gBAAgB,EAAE,eAAM,CAAC,UAAU,CAAC,CACnF,CAAC;IACN,CAAC;IAES,KAAK,CAAC,OAAO;QACnB,MAAM,IAAI,GAAe,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAExD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACZ,aAAG,CAAC,IAAI,CAAC,GAAG,eAAO,CAAC,IAAI,CAAC,IAAI,oCAAoC,CAAC,CAAC;YACnE,OAAO;SACV;QAED,MAAM,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAiB,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAC5F,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IAChF,CAAC;CACJ;AAhDD,kDAgDC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./RefreshAlertsInDBTask"), exports);
|
|
18
|
+
__exportStar(require("./RefreshAllDataInDBTask"), exports);
|
|
19
|
+
__exportStar(require("./RefreshIrregularitiesInDBTask"), exports);
|
|
20
|
+
__exportStar(require("./RefreshJamsInDBTask"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,2DAAyC;AACzC,kEAAgD;AAChD,wDAAsC"}
|