@golemio/waze-ccp 1.1.9 → 1.1.10-dev.1181628641
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/db/migrations/postgresql/20240215121335-cleanup-partitioning.js +53 -0
- package/db/migrations/postgresql/sqls/20230220093543-waze-alerts-down.sql +1 -1
- package/db/migrations/postgresql/sqls/20240215121335-cleanup-partitioning-down.sql +192 -0
- package/db/migrations/postgresql/sqls/20240215121335-cleanup-partitioning-up.sql +5 -0
- package/dist/integration-engine/WazeCCPWorker.d.ts +0 -3
- package/dist/integration-engine/WazeCCPWorker.js +1 -16
- package/dist/integration-engine/WazeCCPWorker.js.map +1 -1
- package/dist/integration-engine/index.d.ts +0 -1
- package/dist/integration-engine/index.js +0 -1
- package/dist/integration-engine/index.js.map +1 -1
- package/dist/integration-engine/interfaces/WazeAlertsInterface.d.ts +23 -2
- package/dist/integration-engine/queueDefinitions.js +0 -10
- package/dist/integration-engine/queueDefinitions.js.map +1 -1
- package/dist/schema-definitions/index.js +0 -5
- package/dist/schema-definitions/index.js.map +1 -1
- package/dist/schema-definitions/interfaces/IAlertDto.d.ts +24 -2
- package/package.json +1 -1
- package/dist/integration-engine/WazeCCPAlertsAlternativeTransformation.d.ts +0 -10
- package/dist/integration-engine/WazeCCPAlertsAlternativeTransformation.js +0 -67
- package/dist/integration-engine/WazeCCPAlertsAlternativeTransformation.js.map +0 -1
- package/dist/integration-engine/interfaces/WazeAlertsAlternativeInterface.d.ts +0 -24
- package/dist/integration-engine/interfaces/WazeAlertsAlternativeInterface.js +0 -3
- package/dist/integration-engine/interfaces/WazeAlertsAlternativeInterface.js.map +0 -1
- package/dist/integration-engine/repositories/WazeAlertsAlternativeRepository.d.ts +0 -7
- package/dist/integration-engine/repositories/WazeAlertsAlternativeRepository.js +0 -57
- package/dist/integration-engine/repositories/WazeAlertsAlternativeRepository.js.map +0 -1
- package/dist/schema-definitions/interfaces/IAlertAlternativeDto.d.ts +0 -25
- package/dist/schema-definitions/interfaces/IAlertAlternativeDto.js +0 -3
- package/dist/schema-definitions/interfaces/IAlertAlternativeDto.js.map +0 -1
- package/dist/schema-definitions/models/AlertAlternativeDto.d.ts +0 -30
- package/dist/schema-definitions/models/AlertAlternativeDto.js +0 -65
- package/dist/schema-definitions/models/AlertAlternativeDto.js.map +0 -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', '20240215121335-cleanup-partitioning-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', '20240215121335-cleanup-partitioning-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
|
+
};
|
|
@@ -12,7 +12,7 @@ ALTER TABLE wazeccp_alerts_old_y2023 RENAME TO wazeccp_alerts_y2023;
|
|
|
12
12
|
ALTER TABLE wazeccp_alerts_old_y2024 RENAME TO wazeccp_alerts_y2024;
|
|
13
13
|
ALTER TABLE wazeccp_alerts_old_y2025 RENAME TO wazeccp_alerts_y2025;
|
|
14
14
|
ALTER TABLE wazeccp_alerts_old_y2026 RENAME TO wazeccp_alerts_y2026;
|
|
15
|
-
ALTER TABLE
|
|
15
|
+
ALTER TABLE wazeccp_alerts_old_y2027max RENAME TO wazeccp_alerts_y2027mxx;
|
|
16
16
|
|
|
17
17
|
ALTER INDEX wazeccp_alerts_old_pkey RENAME TO wazeccp_alerts_pkey;
|
|
18
18
|
ALTER INDEX wazeccp_alerts_old_idx1 RENAME TO wazeccp_alerts_idx1;
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
-- wazeccp_alerts_old
|
|
2
|
+
CREATE TABLE wazeccp_alerts_old (
|
|
3
|
+
id varchar(40) NOT NULL,
|
|
4
|
+
uuid text NOT NULL,
|
|
5
|
+
pub_millis int8 NOT NULL,
|
|
6
|
+
pub_utc_date timestamp NOT NULL,
|
|
7
|
+
road_type int4 NULL,
|
|
8
|
+
"location" jsonb NULL,
|
|
9
|
+
street text NULL,
|
|
10
|
+
city text NULL,
|
|
11
|
+
country text NULL,
|
|
12
|
+
magvar int4 NULL,
|
|
13
|
+
reliability int4 NULL,
|
|
14
|
+
report_description text NULL,
|
|
15
|
+
report_rating int4 NULL,
|
|
16
|
+
confidence int4 NULL,
|
|
17
|
+
"type" text NULL,
|
|
18
|
+
subtype text NULL,
|
|
19
|
+
report_by_municipality_user bool NULL,
|
|
20
|
+
thumbs_up int4 NULL,
|
|
21
|
+
jam_uuid text NULL,
|
|
22
|
+
create_batch_id int8 NULL,
|
|
23
|
+
created_at timestamptz NULL,
|
|
24
|
+
created_by varchar(150) NULL,
|
|
25
|
+
update_batch_id int8 NULL,
|
|
26
|
+
updated_at timestamptz NULL,
|
|
27
|
+
updated_by varchar(150) NULL,
|
|
28
|
+
downloaded_at int8 NULL,
|
|
29
|
+
CONSTRAINT wazeccp_alerts_old_pkey PRIMARY KEY (id, pub_utc_date)
|
|
30
|
+
)
|
|
31
|
+
PARTITION BY RANGE (pub_utc_date);
|
|
32
|
+
CREATE INDEX wazeccp_alerts_old_idx1 ON ONLY wazeccp_alerts_old USING btree (subtype, pub_utc_date);
|
|
33
|
+
CREATE INDEX wazeccp_alerts_old_uuid ON ONLY wazeccp_alerts_old USING btree (uuid);
|
|
34
|
+
|
|
35
|
+
CALL meta.create_yearly_partitions('wazeccp_alerts_old', '2019-01-01'::date, '2027-01-01'::date);
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
-- wazeccp_alerts_backup
|
|
39
|
+
CREATE TABLE wazeccp_alerts_backup (
|
|
40
|
+
"uuid" text NOT NULL,
|
|
41
|
+
pub_millis int8 NOT NULL,
|
|
42
|
+
pub_utc_date timestamp NOT NULL,
|
|
43
|
+
road_type int4 NULL,
|
|
44
|
+
"location" jsonb NULL,
|
|
45
|
+
street text NULL,
|
|
46
|
+
city text NULL,
|
|
47
|
+
country text NULL,
|
|
48
|
+
magvar int4 NULL,
|
|
49
|
+
reliability int4 NULL,
|
|
50
|
+
report_description text NULL,
|
|
51
|
+
report_rating int4 NULL,
|
|
52
|
+
confidence int4 NULL,
|
|
53
|
+
"type" text NULL,
|
|
54
|
+
subtype text NULL,
|
|
55
|
+
report_by_municipality_user bool NULL,
|
|
56
|
+
thumbs_up int4 NULL,
|
|
57
|
+
jam_uuid text NULL,
|
|
58
|
+
create_batch_id int8 NULL,
|
|
59
|
+
created_at timestamptz NULL,
|
|
60
|
+
created_by varchar(150) NULL,
|
|
61
|
+
update_batch_id int8 NULL,
|
|
62
|
+
updated_at timestamptz NULL,
|
|
63
|
+
updated_by varchar(150) NULL,
|
|
64
|
+
valid_from int8 NOT NULL,
|
|
65
|
+
downloaded_at int8 NOT NULL,
|
|
66
|
+
CONSTRAINT wazeccp_alerts_backup_pkey PRIMARY KEY (uuid, pub_utc_date, valid_from)
|
|
67
|
+
)
|
|
68
|
+
PARTITION BY RANGE (pub_utc_date);
|
|
69
|
+
CREATE INDEX wazeccp_alerts_backup_downloaded_at_idx ON ONLY wazeccp_alerts_backup USING btree (downloaded_at);
|
|
70
|
+
CREATE INDEX wazeccp_alerts_backup_idx ON ONLY wazeccp_alerts_backup USING btree (subtype, pub_utc_date);
|
|
71
|
+
|
|
72
|
+
CALL meta.create_yearly_partitions('wazeccp_alerts_backup', '2019-01-01'::date, '2027-01-01'::date);
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
-- wazeccp_alerts_alternative
|
|
76
|
+
CREATE TABLE wazeccp_alerts_alternative (
|
|
77
|
+
"uuid" text NOT NULL,
|
|
78
|
+
pub_millis int8 NOT NULL,
|
|
79
|
+
pub_utc_date timestamp NOT NULL,
|
|
80
|
+
road_type int4 NULL,
|
|
81
|
+
"location" jsonb NULL,
|
|
82
|
+
street text NULL,
|
|
83
|
+
city text NULL,
|
|
84
|
+
country text NULL,
|
|
85
|
+
magvar int4 NULL,
|
|
86
|
+
reliability int4 NULL,
|
|
87
|
+
report_description text NULL,
|
|
88
|
+
report_rating int4 NULL,
|
|
89
|
+
confidence int4 NULL,
|
|
90
|
+
"type" text NULL,
|
|
91
|
+
subtype text NULL,
|
|
92
|
+
report_by_municipality_user bool NULL,
|
|
93
|
+
thumbs_up int4 NULL,
|
|
94
|
+
jam_uuid text NULL,
|
|
95
|
+
valid_from timestamptz NOT NULL,
|
|
96
|
+
downloaded_at timestamptz NOT NULL,
|
|
97
|
+
create_batch_id int8 NULL,
|
|
98
|
+
created_at timestamptz NULL,
|
|
99
|
+
created_by varchar(150) NULL,
|
|
100
|
+
update_batch_id int8 NULL,
|
|
101
|
+
updated_at timestamptz NULL,
|
|
102
|
+
updated_by varchar(150) NULL,
|
|
103
|
+
CONSTRAINT wazeccp_alerts_alternative_pkey PRIMARY KEY (uuid, pub_utc_date, valid_from)
|
|
104
|
+
)
|
|
105
|
+
PARTITION BY RANGE (pub_utc_date);
|
|
106
|
+
CREATE INDEX wazeccp_alerts_alternative_downloaded_at_idx ON ONLY wazeccp_alerts_alternative USING btree (downloaded_at);
|
|
107
|
+
CREATE INDEX wazeccp_alerts_alternative_idx ON ONLY wazeccp_alerts_alternative USING btree (subtype, pub_utc_date);
|
|
108
|
+
|
|
109
|
+
CALL meta.create_yearly_partitions('wazeccp_alerts_alternative', '2019-01-01'::date, '2027-01-01'::date);
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
-- wazeccp_irregularities_backup
|
|
113
|
+
CREATE TABLE wazeccp_irregularities_backup (
|
|
114
|
+
id varchar(40) NOT NULL,
|
|
115
|
+
"uuid" text NOT NULL,
|
|
116
|
+
detection_date_millis int8 NOT NULL,
|
|
117
|
+
detection_date text NULL,
|
|
118
|
+
detection_utc_date timestamp NULL,
|
|
119
|
+
update_date_millis int8 NOT NULL,
|
|
120
|
+
update_date text NULL,
|
|
121
|
+
update_utc_date timestamp NULL,
|
|
122
|
+
street text NULL,
|
|
123
|
+
city text NULL,
|
|
124
|
+
country text NULL,
|
|
125
|
+
is_highway bool NULL,
|
|
126
|
+
speed float4 NULL,
|
|
127
|
+
regular_speed float4 NULL,
|
|
128
|
+
delay_seconds int4 NULL,
|
|
129
|
+
seconds int4 NULL,
|
|
130
|
+
length int4 NULL,
|
|
131
|
+
trend int4 NULL,
|
|
132
|
+
"type" text NULL,
|
|
133
|
+
severity float4 NULL,
|
|
134
|
+
jam_level int4 NULL,
|
|
135
|
+
drivers_count int4 NULL,
|
|
136
|
+
alerts_count int4 NULL,
|
|
137
|
+
n_thumbs_up int4 NULL,
|
|
138
|
+
n_comments int4 NULL,
|
|
139
|
+
n_images int4 NULL,
|
|
140
|
+
line jsonb NULL,
|
|
141
|
+
cause_type text NULL,
|
|
142
|
+
start_node text NULL,
|
|
143
|
+
end_node text NULL,
|
|
144
|
+
create_batch_id int8 NULL,
|
|
145
|
+
created_at timestamptz NULL,
|
|
146
|
+
created_by varchar(150) NULL,
|
|
147
|
+
update_batch_id int8 NULL,
|
|
148
|
+
updated_at timestamptz NULL,
|
|
149
|
+
updated_by varchar(150) NULL,
|
|
150
|
+
downloaded_at int8 NULL,
|
|
151
|
+
CONSTRAINT wazeccp_irregularities_backup_pkey PRIMARY KEY (id)
|
|
152
|
+
);
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
-- wazeccp_jams_backup
|
|
156
|
+
CREATE TABLE wazeccp_jams_backup (
|
|
157
|
+
id varchar(40) NOT NULL,
|
|
158
|
+
"uuid" text NOT NULL,
|
|
159
|
+
pub_millis int8 NOT NULL,
|
|
160
|
+
pub_utc_date timestamp NOT NULL,
|
|
161
|
+
start_node text NULL,
|
|
162
|
+
end_node text NULL,
|
|
163
|
+
road_type int4 NULL,
|
|
164
|
+
street text NULL,
|
|
165
|
+
city text NULL,
|
|
166
|
+
country text NULL,
|
|
167
|
+
delay int4 NULL,
|
|
168
|
+
speed float4 NULL,
|
|
169
|
+
speed_kmh float4 NULL,
|
|
170
|
+
length int4 NULL,
|
|
171
|
+
turn_type text NULL,
|
|
172
|
+
"level" int4 NULL,
|
|
173
|
+
blocking_alert_id text NULL,
|
|
174
|
+
line jsonb NULL,
|
|
175
|
+
"type" text NULL,
|
|
176
|
+
turn_line jsonb NULL,
|
|
177
|
+
create_batch_id int8 NULL,
|
|
178
|
+
created_at timestamptz NULL,
|
|
179
|
+
created_by varchar(150) NULL,
|
|
180
|
+
update_batch_id int8 NULL,
|
|
181
|
+
updated_at timestamptz NULL,
|
|
182
|
+
updated_by varchar(150) NULL,
|
|
183
|
+
downloaded_at int8 NULL,
|
|
184
|
+
CONSTRAINT wazeccp_jams_backup_pkey PRIMARY KEY (id, pub_utc_date)
|
|
185
|
+
)
|
|
186
|
+
PARTITION BY RANGE (pub_utc_date);
|
|
187
|
+
CREATE INDEX wazeccp_jams_backup_blocking_alert_id ON ONLY wazeccp_jams_backup USING btree (blocking_alert_id);
|
|
188
|
+
CREATE INDEX wazeccp_jams_backup_created_at ON ONLY wazeccp_jams_backup USING btree (created_at);
|
|
189
|
+
CREATE INDEX wazeccp_jams_backup_downloaded_at ON ONLY wazeccp_jams_backup USING btree (downloaded_at);
|
|
190
|
+
CREATE INDEX wazeccp_jams_backup_pub_utc_date ON ONLY wazeccp_jams_backup USING btree (pub_utc_date);
|
|
191
|
+
|
|
192
|
+
CALL meta.create_yearly_partitions('wazeccp_jams_backup', '2019-01-01'::date, '2027-01-01'::date);
|
|
@@ -4,15 +4,12 @@ export declare class WazeCCPWorker extends BaseWorker {
|
|
|
4
4
|
private dataSourceIrregularities;
|
|
5
5
|
private dataSourceJams;
|
|
6
6
|
private modelAlerts;
|
|
7
|
-
private modelAlertsAlternative;
|
|
8
7
|
private modelIrregularities;
|
|
9
8
|
private modelJams;
|
|
10
|
-
private transformationAlertsAlternative;
|
|
11
9
|
private transformationIrregularities;
|
|
12
10
|
private transformationJams;
|
|
13
11
|
private queuePrefix;
|
|
14
12
|
constructor();
|
|
15
|
-
refreshAlertsAlternativeInDB: (msg: any) => Promise<void>;
|
|
16
13
|
refreshAlertsInDB: (msg: any) => Promise<void>;
|
|
17
14
|
refreshIrregularitiesInDB: (msg: any) => Promise<void>;
|
|
18
15
|
refreshJamsInDB: (msg: any) => Promise<void>;
|
|
@@ -10,7 +10,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.WazeCCPWorker = void 0;
|
|
13
|
-
const WazeAlertsAlternativeRepository_1 = require("./repositories/WazeAlertsAlternativeRepository");
|
|
14
13
|
const WazeAlertsRepository_1 = require("./repositories/WazeAlertsRepository");
|
|
15
14
|
const index_1 = require("../schema-definitions/index");
|
|
16
15
|
const IrregularityDto_1 = require("../schema-definitions/models/IrregularityDto");
|
|
@@ -24,13 +23,6 @@ const _1 = require("./");
|
|
|
24
23
|
class WazeCCPWorker extends workers_1.BaseWorker {
|
|
25
24
|
constructor() {
|
|
26
25
|
super();
|
|
27
|
-
this.refreshAlertsAlternativeInDB = (msg) => __awaiter(this, void 0, void 0, function* () {
|
|
28
|
-
const data = yield this.dataSourceAlerts.getAll();
|
|
29
|
-
// enrich data by downloadedAt unix timestamp
|
|
30
|
-
const dataWithDownloadAt = Object.assign(Object.assign({}, data), { downloadedAt: new Date() });
|
|
31
|
-
const transformedData = yield this.transformationAlertsAlternative.transform(dataWithDownloadAt);
|
|
32
|
-
yield this.modelAlertsAlternative.saveAlerts(transformedData);
|
|
33
|
-
});
|
|
34
26
|
this.refreshAlertsInDB = (msg) => __awaiter(this, void 0, void 0, function* () {
|
|
35
27
|
const data = yield this.dataSourceAlerts.getAll();
|
|
36
28
|
const now = new Date();
|
|
@@ -53,12 +45,7 @@ class WazeCCPWorker extends workers_1.BaseWorker {
|
|
|
53
45
|
yield this.modelJams.saveBySqlFunction(transformedData, ["id", "pub_utc_date"]);
|
|
54
46
|
});
|
|
55
47
|
this.refreshAllDataInDB = (msg) => __awaiter(this, void 0, void 0, function* () {
|
|
56
|
-
const queueNames = [
|
|
57
|
-
"refreshAlertsInDB",
|
|
58
|
-
"refreshAlertsAlternativeInDB",
|
|
59
|
-
"refreshIrregularitiesInDB",
|
|
60
|
-
"refreshJamsInDB",
|
|
61
|
-
];
|
|
48
|
+
const queueNames = ["refreshAlertsInDB", "refreshIrregularitiesInDB", "refreshJamsInDB"];
|
|
62
49
|
yield Promise.all(queueNames.map((queueName) => {
|
|
63
50
|
return this.sendMessageToExchange("workers." + this.queuePrefix + "." + queueName, "Just do it!");
|
|
64
51
|
}));
|
|
@@ -78,11 +65,9 @@ class WazeCCPWorker extends workers_1.BaseWorker {
|
|
|
78
65
|
method: "GET",
|
|
79
66
|
url: config_1.config.datasources.WazeCCP + "&types=traffic",
|
|
80
67
|
}), new datasources_1.JSONDataTypeStrategy({ resultsPath: "" }), new golemio_validator_1.JSONSchemaValidator(index_1.WazeCCP.jams.name + "DataSource", index_1.WazeCCP.jams.datasourceJsonSchema));
|
|
81
|
-
this.transformationAlertsAlternative = new _1.WazeCCPAlertsAlternativeTransformation();
|
|
82
68
|
this.transformationIrregularities = new _1.WazeCCPIrregularitiesTransformation();
|
|
83
69
|
this.transformationJams = new _1.WazeCCPJamsTransformation();
|
|
84
70
|
this.modelAlerts = new WazeAlertsRepository_1.WazeAlertsRepository();
|
|
85
|
-
this.modelAlertsAlternative = new WazeAlertsAlternativeRepository_1.WazeAlertsAlternativeRepository();
|
|
86
71
|
this.modelIrregularities = new models_1.PostgresModel(index_1.WazeCCP.irregularities.name + "Model", {
|
|
87
72
|
outputSequelizeAttributes: IrregularityDto_1.IrregularitiesDto.attributeModel,
|
|
88
73
|
pgTableName: index_1.WazeCCP.irregularities.pgTableName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WazeCCPWorker.js","sourceRoot":"","sources":["../../src/integration-engine/WazeCCPWorker.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"WazeCCPWorker.js","sourceRoot":"","sources":["../../src/integration-engine/WazeCCPWorker.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
/* ie/index.ts */
|
|
18
18
|
__exportStar(require("./WazeCCPAlertsTransformation"), exports);
|
|
19
|
-
__exportStar(require("./WazeCCPAlertsAlternativeTransformation"), exports);
|
|
20
19
|
__exportStar(require("./WazeCCPIrregularitiesTransformation"), exports);
|
|
21
20
|
__exportStar(require("./WazeCCPJamsTransformation"), exports);
|
|
22
21
|
__exportStar(require("./WazeCCPUtils"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iBAAiB;AACjB,gEAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration-engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iBAAiB;AACjB,gEAA8C;AAC9C,wEAAsD;AACtD,8DAA4C;AAC5C,iDAA+B;AAC/B,kDAAgC;AAChC,qDAAmC"}
|
|
@@ -1,4 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
export interface IWazeAlerts extends IWazeAlertsAlternative {
|
|
1
|
+
export interface IWazeAlerts {
|
|
3
2
|
id: string;
|
|
3
|
+
city: string | null;
|
|
4
|
+
confidence: number | null;
|
|
5
|
+
country: string | null;
|
|
6
|
+
downloaded_at: Date;
|
|
7
|
+
jam_uuid: string | null;
|
|
8
|
+
location: {
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
};
|
|
12
|
+
magvar: number | null;
|
|
13
|
+
pub_millis: string;
|
|
14
|
+
pub_utc_date: Date;
|
|
15
|
+
reliability: number | null;
|
|
16
|
+
report_by_municipality_user: boolean;
|
|
17
|
+
report_description: string | null;
|
|
18
|
+
report_rating: number | null;
|
|
19
|
+
road_type: number | null;
|
|
20
|
+
street: string | null;
|
|
21
|
+
subtype: string | null;
|
|
22
|
+
thumbs_up: number | null;
|
|
23
|
+
type: string | null;
|
|
24
|
+
uuid: string;
|
|
4
25
|
}
|
|
@@ -29,16 +29,6 @@ const queueDefinitions = [
|
|
|
29
29
|
worker: WazeCCPWorker_1.WazeCCPWorker,
|
|
30
30
|
workerMethod: "refreshAlertsInDB",
|
|
31
31
|
},
|
|
32
|
-
{
|
|
33
|
-
name: "refreshAlertsAlternativeInDB",
|
|
34
|
-
options: {
|
|
35
|
-
deadLetterExchange: config_1.config.RABBIT_EXCHANGE_NAME,
|
|
36
|
-
deadLetterRoutingKey: "dead",
|
|
37
|
-
messageTtl: 90 * 1000, // 90 seconds
|
|
38
|
-
},
|
|
39
|
-
worker: WazeCCPWorker_1.WazeCCPWorker,
|
|
40
|
-
workerMethod: "refreshAlertsAlternativeInDB",
|
|
41
|
-
},
|
|
42
32
|
{
|
|
43
33
|
name: "refreshIrregularitiesInDB",
|
|
44
34
|
options: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queueDefinitions.js","sourceRoot":"","sources":["../../src/integration-engine/queueDefinitions.ts"],"names":[],"mappings":";;;AAAA,yEAAsE;AAEtE,uDAAqC;AACrC,mDAAkD;AAElD,MAAM,gBAAgB,GAAuB;IACzC;QACI,IAAI,EAAE,eAAO,CAAC,IAAI;QAClB,WAAW,EAAE,eAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,eAAO,CAAC,IAAI,CAAC,WAAW,EAAE;QAC3E,MAAM,EAAE;YACJ;gBACI,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;iBAC1C;gBACD,MAAM,EAAE,6BAAa;gBACrB,YAAY,EAAE,oBAAoB;aACrC;YACD;gBACI,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,IAAI,EAAE,aAAa;iBACvC;gBACD,MAAM,EAAE,6BAAa;gBACrB,YAAY,EAAE,mBAAmB;aACpC;YACD;gBACI,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"queueDefinitions.js","sourceRoot":"","sources":["../../src/integration-engine/queueDefinitions.ts"],"names":[],"mappings":";;;AAAA,yEAAsE;AAEtE,uDAAqC;AACrC,mDAAkD;AAElD,MAAM,gBAAgB,GAAuB;IACzC;QACI,IAAI,EAAE,eAAO,CAAC,IAAI;QAClB,WAAW,EAAE,eAAM,CAAC,oBAAoB,GAAG,GAAG,GAAG,eAAO,CAAC,IAAI,CAAC,WAAW,EAAE;QAC3E,MAAM,EAAE;YACJ;gBACI,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;iBAC1C;gBACD,MAAM,EAAE,6BAAa;gBACrB,YAAY,EAAE,oBAAoB;aACrC;YACD;gBACI,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,EAAE,GAAG,IAAI,EAAE,aAAa;iBACvC;gBACD,MAAM,EAAE,6BAAa;gBACrB,YAAY,EAAE,mBAAmB;aACpC;YACD;gBACI,IAAI,EAAE,2BAA2B;gBACjC,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;iBAC1C;gBACD,MAAM,EAAE,6BAAa;gBACrB,YAAY,EAAE,2BAA2B;aAC5C;YACD;gBACI,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE;oBACL,kBAAkB,EAAE,eAAM,CAAC,oBAAoB;oBAC/C,oBAAoB,EAAE,MAAM;oBAC5B,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;iBAC1C;gBACD,MAAM,EAAE,6BAAa;gBACrB,YAAY,EAAE,iBAAiB;aAClC;SACJ;KACJ;CACJ,CAAC;AAEO,4CAAgB"}
|
|
@@ -12,11 +12,6 @@ const forExport = {
|
|
|
12
12
|
name: "WazeCCPAlerts",
|
|
13
13
|
pgTableName: "wazeccp_alerts",
|
|
14
14
|
},
|
|
15
|
-
alertsAlternative: {
|
|
16
|
-
datasourceJsonSchema: InputAlertsJsonSchema_1.InputAlertsJsonSchema,
|
|
17
|
-
name: "WazeCCPAlertsAlternative",
|
|
18
|
-
pgTableName: "wazeccp_alerts_alternative",
|
|
19
|
-
},
|
|
20
15
|
irregularities: {
|
|
21
16
|
datasourceJsonSchema: InputIrregularitiesJsonSchema_1.InputIrregularitiesJsonSchema,
|
|
22
17
|
name: "WazeCCPIrregularities",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema-definitions/index.ts"],"names":[],"mappings":";;;AAAA,+EAA+E;AAC/E,2EAA2E;AAC3E,+FAA+F;AAE/F,MAAM,SAAS,GAAQ;IACnB,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE;QACJ,oBAAoB,EAAE,6CAAqB;QAC3C,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,gBAAgB;KAChC;IACD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema-definitions/index.ts"],"names":[],"mappings":";;;AAAA,+EAA+E;AAC/E,2EAA2E;AAC3E,+FAA+F;AAE/F,MAAM,SAAS,GAAQ;IACnB,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE;QACJ,oBAAoB,EAAE,6CAAqB;QAC3C,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,gBAAgB;KAChC;IACD,cAAc,EAAE;QACZ,oBAAoB,EAAE,6DAA6B;QACnD,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,wBAAwB;KACxC;IACD,IAAI,EAAE;QACF,oBAAoB,EAAE,yCAAmB;QACzC,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,cAAc;KAC9B;CACJ,CAAC;AAEoB,4BAAO"}
|
|
@@ -1,5 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
export interface IAlertDto extends IAlertAlternativeDto {
|
|
1
|
+
export interface IAlertDto {
|
|
3
2
|
id: string;
|
|
3
|
+
city: string | null;
|
|
4
|
+
confidence: number | null;
|
|
5
|
+
country: string | null;
|
|
6
|
+
downloaded_at: Date;
|
|
7
|
+
jam_uuid: string | null;
|
|
8
|
+
location: {
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
};
|
|
12
|
+
magvar: number | null;
|
|
13
|
+
pub_millis: string;
|
|
14
|
+
pub_utc_date: Date;
|
|
15
|
+
reliability: number | null;
|
|
16
|
+
report_by_municipality_user: boolean;
|
|
17
|
+
report_description: string | null;
|
|
18
|
+
report_rating: number | null;
|
|
19
|
+
road_type: number | null;
|
|
20
|
+
street: string | null;
|
|
21
|
+
subtype: string | null;
|
|
22
|
+
thumbs_up: number | null;
|
|
23
|
+
type: string | null;
|
|
24
|
+
uuid: string;
|
|
25
|
+
valid_from: Date;
|
|
4
26
|
duplicate_count: number;
|
|
5
27
|
}
|
package/package.json
CHANGED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { BaseTransformation, ITransformation } from "@golemio/core/dist/integration-engine/transformations";
|
|
2
|
-
import { IWazeAlertsAlternative } from "./interfaces/WazeAlertsAlternativeInterface";
|
|
3
|
-
export declare class WazeCCPAlertsAlternativeTransformation extends BaseTransformation implements ITransformation {
|
|
4
|
-
name: string;
|
|
5
|
-
/**
|
|
6
|
-
* Transform the whole collection or one single element
|
|
7
|
-
*/
|
|
8
|
-
transform: (data: any | any[]) => Promise<IWazeAlertsAlternative[]>;
|
|
9
|
-
protected transformElement: (alert: any) => IWazeAlertsAlternative;
|
|
10
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.WazeCCPAlertsAlternativeTransformation = void 0;
|
|
13
|
-
const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
|
|
14
|
-
const transformations_1 = require("@golemio/core/dist/integration-engine/transformations");
|
|
15
|
-
const index_1 = require("../schema-definitions/index");
|
|
16
|
-
class WazeCCPAlertsAlternativeTransformation extends transformations_1.BaseTransformation {
|
|
17
|
-
constructor() {
|
|
18
|
-
super(...arguments);
|
|
19
|
-
this.name = index_1.WazeCCP.alertsAlternative.name + "Transformation";
|
|
20
|
-
/**
|
|
21
|
-
* Transform the whole collection or one single element
|
|
22
|
-
*/
|
|
23
|
-
this.transform = (data) => __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
const downloadedAt = data.downloadedAt;
|
|
25
|
-
if (!data.alerts) {
|
|
26
|
-
helpers_1.log.warn(`${this.name}: Data source returned empty data.`);
|
|
27
|
-
return [];
|
|
28
|
-
}
|
|
29
|
-
const results = [];
|
|
30
|
-
data.alerts.forEach((element) => {
|
|
31
|
-
const res = this.transformElement(Object.assign(Object.assign({}, element), { downloadedAt }));
|
|
32
|
-
if (res) {
|
|
33
|
-
results.push(res);
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
return results;
|
|
37
|
-
});
|
|
38
|
-
this.transformElement = (alert) => {
|
|
39
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
40
|
-
const downloadedAt = alert.downloadedAt;
|
|
41
|
-
delete alert.downloadedAt;
|
|
42
|
-
return {
|
|
43
|
-
city: (_a = alert.city) !== null && _a !== void 0 ? _a : null,
|
|
44
|
-
confidence: (_b = alert.confidence) !== null && _b !== void 0 ? _b : null,
|
|
45
|
-
country: (_c = alert.country) !== null && _c !== void 0 ? _c : null,
|
|
46
|
-
downloaded_at: downloadedAt,
|
|
47
|
-
jam_uuid: (_d = alert.jamUuid) !== null && _d !== void 0 ? _d : null,
|
|
48
|
-
location: alert.location,
|
|
49
|
-
magvar: (_e = alert.magvar) !== null && _e !== void 0 ? _e : null,
|
|
50
|
-
pub_millis: (_f = alert.pubMillis) === null || _f === void 0 ? void 0 : _f.toString(),
|
|
51
|
-
pub_utc_date: new Date(+alert.pubMillis),
|
|
52
|
-
reliability: (_g = alert.reliability) !== null && _g !== void 0 ? _g : null,
|
|
53
|
-
report_by_municipality_user: alert.reportByMunicipalityUser === "true",
|
|
54
|
-
report_description: (_h = alert.reportDescription) !== null && _h !== void 0 ? _h : null,
|
|
55
|
-
report_rating: (_j = alert.reportRating) !== null && _j !== void 0 ? _j : null,
|
|
56
|
-
road_type: (_k = alert.roadType) !== null && _k !== void 0 ? _k : null,
|
|
57
|
-
street: (_l = alert.street) !== null && _l !== void 0 ? _l : null,
|
|
58
|
-
subtype: (_m = alert.subtype) !== null && _m !== void 0 ? _m : null,
|
|
59
|
-
thumbs_up: (_o = alert.nThumbsUp) !== null && _o !== void 0 ? _o : null,
|
|
60
|
-
type: (_p = alert.type) !== null && _p !== void 0 ? _p : null,
|
|
61
|
-
uuid: alert.uuid,
|
|
62
|
-
};
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
exports.WazeCCPAlertsAlternativeTransformation = WazeCCPAlertsAlternativeTransformation;
|
|
67
|
-
//# sourceMappingURL=WazeCCPAlertsAlternativeTransformation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WazeCCPAlertsAlternativeTransformation.js","sourceRoot":"","sources":["../../src/integration-engine/WazeCCPAlertsAlternativeTransformation.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2EAAoE;AACpE,2FAA4G;AAC5G,uDAAqC;AAGrC,MAAa,sCAAuC,SAAQ,oCAAkB;IAA9E;;QACW,SAAI,GAAG,eAAO,CAAC,iBAAiB,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAEhE;;WAEG;QACI,cAAS,GAAG,CAAO,IAAiB,EAAqC,EAAE;YAC9E,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAEvC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACd,aAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,oCAAoC,CAAC,CAAC;gBAC3D,OAAO,EAAE,CAAC;aACb;YAED,MAAM,OAAO,GAAU,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE;gBACjC,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,iCAC1B,OAAO,KACV,YAAY,IACd,CAAC;gBACH,IAAI,GAAG,EAAE;oBACL,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACrB;YACL,CAAC,CAAC,CAAC;YACH,OAAO,OAAO,CAAC;QACnB,CAAC,CAAA,CAAC;QAEQ,qBAAgB,GAAG,CAAC,KAAU,EAA0B,EAAE;;YAChE,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;YACxC,OAAO,KAAK,CAAC,YAAY,CAAC;YAE1B,OAAO;gBACH,IAAI,EAAE,MAAA,KAAK,CAAC,IAAI,mCAAI,IAAI;gBACxB,UAAU,EAAE,MAAA,KAAK,CAAC,UAAU,mCAAI,IAAI;gBACpC,OAAO,EAAE,MAAA,KAAK,CAAC,OAAO,mCAAI,IAAI;gBAC9B,aAAa,EAAE,YAAY;gBAC3B,QAAQ,EAAE,MAAA,KAAK,CAAC,OAAO,mCAAI,IAAI;gBAC/B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM,EAAE,MAAA,KAAK,CAAC,MAAM,mCAAI,IAAI;gBAC5B,UAAU,EAAE,MAAA,KAAK,CAAC,SAAS,0CAAE,QAAQ,EAAE;gBACvC,YAAY,EAAE,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;gBACxC,WAAW,EAAE,MAAA,KAAK,CAAC,WAAW,mCAAI,IAAI;gBACtC,2BAA2B,EAAE,KAAK,CAAC,wBAAwB,KAAK,MAAM;gBACtE,kBAAkB,EAAE,MAAA,KAAK,CAAC,iBAAiB,mCAAI,IAAI;gBACnD,aAAa,EAAE,MAAA,KAAK,CAAC,YAAY,mCAAI,IAAI;gBACzC,SAAS,EAAE,MAAA,KAAK,CAAC,QAAQ,mCAAI,IAAI;gBACjC,MAAM,EAAE,MAAA,KAAK,CAAC,MAAM,mCAAI,IAAI;gBAC5B,OAAO,EAAE,MAAA,KAAK,CAAC,OAAO,mCAAI,IAAI;gBAC9B,SAAS,EAAE,MAAA,KAAK,CAAC,SAAS,mCAAI,IAAI;gBAClC,IAAI,EAAE,MAAA,KAAK,CAAC,IAAI,mCAAI,IAAI;gBACxB,IAAI,EAAE,KAAK,CAAC,IAAI;aACnB,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA;AArDD,wFAqDC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export interface IWazeAlertsAlternative {
|
|
2
|
-
city: string | null;
|
|
3
|
-
confidence: number | null;
|
|
4
|
-
country: string | null;
|
|
5
|
-
downloaded_at: Date;
|
|
6
|
-
jam_uuid: string | null;
|
|
7
|
-
location: {
|
|
8
|
-
x: number;
|
|
9
|
-
y: number;
|
|
10
|
-
};
|
|
11
|
-
magvar: number | null;
|
|
12
|
-
pub_millis: string;
|
|
13
|
-
pub_utc_date: Date;
|
|
14
|
-
reliability: number | null;
|
|
15
|
-
report_by_municipality_user: boolean;
|
|
16
|
-
report_description: string | null;
|
|
17
|
-
report_rating: number | null;
|
|
18
|
-
road_type: number | null;
|
|
19
|
-
street: string | null;
|
|
20
|
-
subtype: string | null;
|
|
21
|
-
thumbs_up: number | null;
|
|
22
|
-
type: string | null;
|
|
23
|
-
uuid: string;
|
|
24
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WazeAlertsAlternativeInterface.js","sourceRoot":"","sources":["../../../src/integration-engine/interfaces/WazeAlertsAlternativeInterface.ts"],"names":[],"mappings":""}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { IWazeAlertsAlternative } from "../interfaces/WazeAlertsAlternativeInterface";
|
|
2
|
-
import { IModel, PostgresModel } from "@golemio/core/dist/integration-engine/models";
|
|
3
|
-
export declare class WazeAlertsAlternativeRepository extends PostgresModel implements IModel {
|
|
4
|
-
constructor();
|
|
5
|
-
saveAlerts: (data: IWazeAlertsAlternative[]) => Promise<void>;
|
|
6
|
-
private saveAlert;
|
|
7
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.WazeAlertsAlternativeRepository = void 0;
|
|
13
|
-
const _sch_1 = require("../../schema-definitions");
|
|
14
|
-
const AlertAlternativeDto_1 = require("../../schema-definitions/models/AlertAlternativeDto");
|
|
15
|
-
const models_1 = require("@golemio/core/dist/integration-engine/models");
|
|
16
|
-
const golemio_validator_1 = require("@golemio/core/dist/shared/golemio-validator");
|
|
17
|
-
class WazeAlertsAlternativeRepository extends models_1.PostgresModel {
|
|
18
|
-
constructor() {
|
|
19
|
-
super(_sch_1.WazeCCP.alertsAlternative.name + "Repository", {
|
|
20
|
-
outputSequelizeAttributes: AlertAlternativeDto_1.AlertAlternativeDto.attributeModel,
|
|
21
|
-
pgTableName: _sch_1.WazeCCP.alertsAlternative.pgTableName,
|
|
22
|
-
pgSchema: _sch_1.WazeCCP.pgSchema,
|
|
23
|
-
savingType: "insertOrUpdate",
|
|
24
|
-
}, new golemio_validator_1.JSONSchemaValidator(_sch_1.WazeCCP.alertsAlternative.name + "Validator", AlertAlternativeDto_1.AlertAlternativeDto.jsonSchema));
|
|
25
|
-
this.saveAlerts = (data) => __awaiter(this, void 0, void 0, function* () {
|
|
26
|
-
for (const item of data) {
|
|
27
|
-
yield this.saveAlert(item);
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
this.saveAlert = (data) => __awaiter(this, void 0, void 0, function* () {
|
|
31
|
-
if (yield this.validate([data])) {
|
|
32
|
-
const record = yield this.sequelizeModel.findOne({
|
|
33
|
-
where: {
|
|
34
|
-
uuid: data.uuid,
|
|
35
|
-
pub_millis: data.pub_millis,
|
|
36
|
-
road_type: data.road_type,
|
|
37
|
-
type: data.type,
|
|
38
|
-
subtype: data.subtype,
|
|
39
|
-
city: data.city,
|
|
40
|
-
country: data.country,
|
|
41
|
-
report_by_municipality_user: data.report_by_municipality_user,
|
|
42
|
-
jam_uuid: data.jam_uuid,
|
|
43
|
-
"location.x": data.location.x,
|
|
44
|
-
"location.y": data.location.y,
|
|
45
|
-
},
|
|
46
|
-
order: [["downloaded_at", "DESC"]],
|
|
47
|
-
});
|
|
48
|
-
if (record) {
|
|
49
|
-
return this.update({ downloaded_at: data.downloaded_at, updated_at: data.downloaded_at }, { where: { uuid: data.uuid, pub_utc_date: data.pub_utc_date, valid_from: record.valid_from } });
|
|
50
|
-
}
|
|
51
|
-
return this.sequelizeModel.create(Object.assign(Object.assign({}, data), { valid_from: data.downloaded_at }));
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
exports.WazeAlertsAlternativeRepository = WazeAlertsAlternativeRepository;
|
|
57
|
-
//# sourceMappingURL=WazeAlertsAlternativeRepository.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WazeAlertsAlternativeRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/repositories/WazeAlertsAlternativeRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,mDAA+B;AAC/B,6FAAsE;AACtE,yEAAqF;AACrF,mFAAkF;AAElF,MAAa,+BAAgC,SAAQ,sBAAa;IAC9D;QACI,KAAK,CACD,cAAO,CAAC,iBAAiB,CAAC,IAAI,GAAG,YAAY,EAC7C;YACI,yBAAyB,EAAE,yCAAmB,CAAC,cAAc;YAC7D,WAAW,EAAE,cAAO,CAAC,iBAAiB,CAAC,WAAW;YAClD,QAAQ,EAAE,cAAO,CAAC,QAAQ;YAC1B,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,cAAO,CAAC,iBAAiB,CAAC,IAAI,GAAG,WAAW,EAAE,yCAAmB,CAAC,UAAU,CAAC,CACxG,CAAC;QAGC,eAAU,GAAG,CAAO,IAA8B,EAAE,EAAE;YACzD,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;gBACrB,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aAC9B;QACL,CAAC,CAAA,CAAC;QAEM,cAAS,GAAG,CAAO,IAA4B,EAAE,EAAE;YACvD,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;gBAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBAC7C,KAAK,EAAE;wBACH,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;wBAC7D,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAC7B,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;qBAChC;oBACD,KAAK,EAAE,CAAC,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;iBACrC,CAAC,CAAC;gBACH,IAAI,MAAM,EAAE;oBACR,OAAO,IAAI,CAAC,MAAM,CACd,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE,EACrE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,CACjG,CAAC;iBACL;gBAED,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,iCAAM,IAAI,KAAE,UAAU,EAAE,IAAI,CAAC,aAAa,IAAG,CAAC;aAClF;QACL,CAAC,CAAA,CAAC;IAnCF,CAAC;CAoCJ;AAhDD,0EAgDC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export interface IAlertAlternativeDto {
|
|
2
|
-
city: string | null;
|
|
3
|
-
confidence: number | null;
|
|
4
|
-
country: string | null;
|
|
5
|
-
downloaded_at: Date;
|
|
6
|
-
jam_uuid: string | null;
|
|
7
|
-
location: {
|
|
8
|
-
x: number;
|
|
9
|
-
y: number;
|
|
10
|
-
};
|
|
11
|
-
magvar: number | null;
|
|
12
|
-
pub_millis: string;
|
|
13
|
-
pub_utc_date: Date;
|
|
14
|
-
reliability: number | null;
|
|
15
|
-
report_by_municipality_user: boolean;
|
|
16
|
-
report_description: string | null;
|
|
17
|
-
report_rating: number | null;
|
|
18
|
-
road_type: number | null;
|
|
19
|
-
street: string | null;
|
|
20
|
-
subtype: string | null;
|
|
21
|
-
thumbs_up: number | null;
|
|
22
|
-
type: string | null;
|
|
23
|
-
uuid: string;
|
|
24
|
-
valid_from: Date;
|
|
25
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IAlertAlternativeDto.js","sourceRoot":"","sources":["../../../src/schema-definitions/interfaces/IAlertAlternativeDto.ts"],"names":[],"mappings":""}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { IAlertAlternativeDto } from "../interfaces/IAlertAlternativeDto";
|
|
2
|
-
import { Model, ModelAttributes } from "@golemio/core/dist/shared/sequelize";
|
|
3
|
-
import { JSONSchemaType } from "@golemio/core/dist/shared/ajv";
|
|
4
|
-
export declare class AlertAlternativeDto extends Model<IAlertAlternativeDto> implements IAlertAlternativeDto {
|
|
5
|
-
city: string | null;
|
|
6
|
-
confidence: number | null;
|
|
7
|
-
country: string | null;
|
|
8
|
-
downloaded_at: Date;
|
|
9
|
-
jam_uuid: string | null;
|
|
10
|
-
location: {
|
|
11
|
-
x: number;
|
|
12
|
-
y: number;
|
|
13
|
-
};
|
|
14
|
-
magvar: number | null;
|
|
15
|
-
pub_millis: string;
|
|
16
|
-
pub_utc_date: Date;
|
|
17
|
-
reliability: number | null;
|
|
18
|
-
report_by_municipality_user: boolean;
|
|
19
|
-
report_description: string | null;
|
|
20
|
-
report_rating: number | null;
|
|
21
|
-
road_type: number | null;
|
|
22
|
-
street: string | null;
|
|
23
|
-
subtype: string | null;
|
|
24
|
-
thumbs_up: number | null;
|
|
25
|
-
type: string | null;
|
|
26
|
-
uuid: string;
|
|
27
|
-
valid_from: Date;
|
|
28
|
-
static attributeModel: ModelAttributes<AlertAlternativeDto>;
|
|
29
|
-
static jsonSchema: JSONSchemaType<IAlertAlternativeDto[]>;
|
|
30
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AlertAlternativeDto = void 0;
|
|
4
|
-
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
|
|
5
|
-
class AlertAlternativeDto extends sequelize_1.Model {
|
|
6
|
-
}
|
|
7
|
-
exports.AlertAlternativeDto = AlertAlternativeDto;
|
|
8
|
-
AlertAlternativeDto.attributeModel = {
|
|
9
|
-
city: sequelize_1.DataTypes.TEXT,
|
|
10
|
-
confidence: sequelize_1.DataTypes.INTEGER,
|
|
11
|
-
country: sequelize_1.DataTypes.TEXT,
|
|
12
|
-
downloaded_at: { type: sequelize_1.DataTypes.DATE, allowNull: false },
|
|
13
|
-
jam_uuid: sequelize_1.DataTypes.TEXT,
|
|
14
|
-
location: sequelize_1.DataTypes.JSONB,
|
|
15
|
-
magvar: sequelize_1.DataTypes.INTEGER,
|
|
16
|
-
pub_millis: { type: sequelize_1.DataTypes.BIGINT, allowNull: false },
|
|
17
|
-
pub_utc_date: { type: sequelize_1.DataTypes.DATE, allowNull: false, primaryKey: true },
|
|
18
|
-
reliability: sequelize_1.DataTypes.INTEGER,
|
|
19
|
-
report_by_municipality_user: sequelize_1.DataTypes.BOOLEAN,
|
|
20
|
-
report_description: sequelize_1.DataTypes.TEXT,
|
|
21
|
-
report_rating: sequelize_1.DataTypes.INTEGER,
|
|
22
|
-
road_type: sequelize_1.DataTypes.INTEGER,
|
|
23
|
-
street: sequelize_1.DataTypes.TEXT,
|
|
24
|
-
subtype: sequelize_1.DataTypes.TEXT,
|
|
25
|
-
thumbs_up: sequelize_1.DataTypes.INTEGER,
|
|
26
|
-
type: sequelize_1.DataTypes.TEXT,
|
|
27
|
-
uuid: { type: sequelize_1.DataTypes.TEXT, allowNull: false, primaryKey: true },
|
|
28
|
-
valid_from: { type: sequelize_1.DataTypes.DATE, allowNull: false, primaryKey: true },
|
|
29
|
-
};
|
|
30
|
-
AlertAlternativeDto.jsonSchema = {
|
|
31
|
-
$schema: "http://json-schema.org/draft-04/schema#",
|
|
32
|
-
title: "AlertsDtoSchema",
|
|
33
|
-
type: "array",
|
|
34
|
-
items: {
|
|
35
|
-
type: "object",
|
|
36
|
-
properties: {
|
|
37
|
-
city: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
38
|
-
confidence: { oneOf: [{ type: "integer" }, { type: "null", nullable: true }] },
|
|
39
|
-
country: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
40
|
-
downloaded_at: { type: "object", required: ["toISOString"] },
|
|
41
|
-
jam_uuid: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
42
|
-
location: {
|
|
43
|
-
type: "object",
|
|
44
|
-
properties: { x: { type: "number" }, y: { type: "number" } },
|
|
45
|
-
required: ["x", "y"],
|
|
46
|
-
},
|
|
47
|
-
magvar: { oneOf: [{ type: "number" }, { type: "null", nullable: true }] },
|
|
48
|
-
pub_millis: { type: "string" },
|
|
49
|
-
pub_utc_date: { type: "object", required: ["toISOString"] },
|
|
50
|
-
reliability: { oneOf: [{ type: "integer" }, { type: "null", nullable: true }] },
|
|
51
|
-
report_by_municipality_user: { type: "boolean" },
|
|
52
|
-
report_description: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
53
|
-
report_rating: { oneOf: [{ type: "integer" }, { type: "null", nullable: true }] },
|
|
54
|
-
road_type: { oneOf: [{ type: "integer" }, { type: "null", nullable: true }] },
|
|
55
|
-
street: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
56
|
-
subtype: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
57
|
-
thumbs_up: { oneOf: [{ type: "integer" }, { type: "null", nullable: true }] },
|
|
58
|
-
type: { oneOf: [{ type: "string" }, { type: "null", nullable: true }] },
|
|
59
|
-
uuid: { type: "string" },
|
|
60
|
-
valid_from: { type: "object", required: ["toISOString"] },
|
|
61
|
-
},
|
|
62
|
-
required: ["pub_millis", "pub_utc_date", "uuid"],
|
|
63
|
-
},
|
|
64
|
-
};
|
|
65
|
-
//# sourceMappingURL=AlertAlternativeDto.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AlertAlternativeDto.js","sourceRoot":"","sources":["../../../src/schema-definitions/models/AlertAlternativeDto.ts"],"names":[],"mappings":"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"}
|