@golemio/flow 1.0.8-dev.568903441 → 1.0.8-dev.584979260

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/db/example/.config.json +3 -0
  2. package/db/example/00_truncate_tables.sql +10 -0
  3. package/db/example/01_wifiHistoricData.sql +49 -0
  4. package/db/example/02_countersData.sql +99 -0
  5. package/db/example/03_flowData.sql +343 -0
  6. package/db/example/99_runUpdateProcedure.sql +1 -0
  7. package/db/migrations/postgresql/.config.json +3 -0
  8. package/db/migrations/postgresql/20220616144407-flow.js +53 -0
  9. package/db/migrations/postgresql/20220711123652-analytic.js +53 -0
  10. package/db/migrations/postgresql/package.json +3 -0
  11. package/db/migrations/postgresql/sqls/20220616144407-flow-down.sql +15 -0
  12. package/db/migrations/postgresql/sqls/20220616144407-flow-up.sql +467 -0
  13. package/db/migrations/postgresql/sqls/20220711123652-analytic-down.sql +7 -0
  14. package/db/migrations/postgresql/sqls/20220711123652-analytic-up.sql +410 -0
  15. package/db/migrations/postgresql/sqls/package.json +3 -0
  16. package/dist/integration-engine/CountersWorker.d.ts +14 -0
  17. package/dist/integration-engine/CountersWorker.js +120 -0
  18. package/dist/integration-engine/CountersWorker.js.map +1 -0
  19. package/dist/integration-engine/FlowWorker.js +6 -2
  20. package/dist/integration-engine/FlowWorker.js.map +1 -1
  21. package/dist/integration-engine/queueDefinitions.js +27 -0
  22. package/dist/integration-engine/queueDefinitions.js.map +1 -1
  23. package/dist/integration-engine/transformations/EcoCounterMeasurementsTransformation.d.ts +6 -0
  24. package/dist/integration-engine/transformations/EcoCounterMeasurementsTransformation.js +42 -0
  25. package/dist/integration-engine/transformations/EcoCounterMeasurementsTransformation.js.map +1 -0
  26. package/dist/integration-engine/transformations/EcoCounterTransformation.d.ts +17 -0
  27. package/dist/integration-engine/transformations/EcoCounterTransformation.js +99 -0
  28. package/dist/integration-engine/transformations/EcoCounterTransformation.js.map +1 -0
  29. package/dist/output-gateway/models/PedestriansLocationsModel.js +4 -2
  30. package/dist/output-gateway/models/PedestriansLocationsModel.js.map +1 -1
  31. package/dist/output-gateway/models/PedestriansMeasurementsModel.js +4 -2
  32. package/dist/output-gateway/models/PedestriansMeasurementsModel.js.map +1 -1
  33. package/dist/schema-definitions/index.d.ts +185 -0
  34. package/dist/schema-definitions/index.js +197 -2
  35. package/dist/schema-definitions/index.js.map +1 -1
  36. package/docs/assets/flow_erd.png +0 -0
  37. package/docs/implementation_documentation_CZ.md +157 -0
  38. package/docs/implementation_documentation_Counters.md +166 -0
  39. package/package.json +9 -5
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Flow = void 0;
6
+ exports.Flow = exports.Counters = void 0;
7
7
  const sequelize_1 = __importDefault(require("@golemio/core/dist/shared/sequelize"));
8
8
  // Detections
9
9
  const outputMeasurementsSDMA = {
@@ -154,6 +154,7 @@ const outputPedestriansLocationsSDMA = {
154
154
  measurement_end: sequelize_1.default.DATE,
155
155
  };
156
156
  const forExport = {
157
+ pgSchema: "flow",
157
158
  cubes: {
158
159
  name: "FlowCubes",
159
160
  outputSequelizeAttributes: outputCubesSDMA,
@@ -176,7 +177,7 @@ const forExport = {
176
177
  },
177
178
  pedestriansMeasurementsApi: {
178
179
  name: "PedestriansMeasurementsApi",
179
- pgTableName: "mv_pedestrians_detections_api",
180
+ pgTableName: "pedestrians_detections_api",
180
181
  outputSequelizeAttributes: outputPedestriansMeasurementsSDMA,
181
182
  },
182
183
  pedestriansLocationsApi: {
@@ -186,4 +187,198 @@ const forExport = {
186
187
  },
187
188
  };
188
189
  exports.Flow = forExport;
190
+ const datasourceEcoCounterJsonSchema = {
191
+ type: "array",
192
+ items: {
193
+ type: "object",
194
+ properties: {
195
+ channels: {
196
+ type: "array",
197
+ items: {
198
+ type: "object",
199
+ properties: {
200
+ channels: { type: ["array", "null"] },
201
+ counter: { type: "string" },
202
+ domain: { type: "string" },
203
+ id: { type: "number" },
204
+ installationDate: { type: "string" },
205
+ interval: { type: "number" },
206
+ latitude: { type: "number" },
207
+ longitude: { type: "number" },
208
+ name: { type: "string" },
209
+ photos: { type: ["array", "null"] },
210
+ sens: { type: "number" },
211
+ timezone: { type: "string" },
212
+ userType: { type: "number" },
213
+ },
214
+ required: [
215
+ "counter",
216
+ "domain",
217
+ "id",
218
+ "installationDate",
219
+ "interval",
220
+ "latitude",
221
+ "longitude",
222
+ "name",
223
+ "sens",
224
+ "timezone",
225
+ "userType",
226
+ ],
227
+ },
228
+ },
229
+ id: { type: "number" },
230
+ interval: { type: "number" },
231
+ latitude: { type: "number" },
232
+ longitude: { type: "number" },
233
+ name: { type: "string" },
234
+ },
235
+ required: ["id", "interval", "latitude", "longitude", "name"],
236
+ },
237
+ };
238
+ const datasourceEcoCounterMeasurementsJsonSchema = {
239
+ type: "array",
240
+ items: {
241
+ type: "object",
242
+ properties: {
243
+ counts: { type: ["number", "null"] },
244
+ date: { type: "string" },
245
+ status: { type: ["number", "null"] },
246
+ },
247
+ required: ["date"],
248
+ },
249
+ };
250
+ // Locations
251
+ const outputLocationsSDMA = {
252
+ id: {
253
+ primaryKey: true,
254
+ type: sequelize_1.default.STRING,
255
+ },
256
+ lat: sequelize_1.default.DECIMAL,
257
+ lng: sequelize_1.default.DECIMAL,
258
+ name: sequelize_1.default.STRING,
259
+ route: sequelize_1.default.STRING,
260
+ vendor: sequelize_1.default.STRING,
261
+ vendor_id: sequelize_1.default.STRING,
262
+ // Audit database fields
263
+ create_batch_id: { type: sequelize_1.default.BIGINT },
264
+ created_at: { type: sequelize_1.default.DATE },
265
+ created_by: { type: sequelize_1.default.STRING(150) },
266
+ update_batch_id: { type: sequelize_1.default.BIGINT },
267
+ updated_at: { type: sequelize_1.default.DATE },
268
+ updated_by: { type: sequelize_1.default.STRING(150) }, // Author or name of Worker of update
269
+ };
270
+ // only for Validator
271
+ const outputLocationsJsonSchema = {
272
+ type: "array",
273
+ items: {
274
+ type: "object",
275
+ properties: {
276
+ id: { type: "string" },
277
+ lat: { type: "number" },
278
+ lng: { type: "number" },
279
+ name: { type: "string" },
280
+ route: { type: ["string", "null"] },
281
+ vendor_id: { type: ["string", "number"] },
282
+ },
283
+ required: ["id", "lat", "lng", "vendor_id"],
284
+ },
285
+ };
286
+ // Directions
287
+ const outputDirectionsSDMA = {
288
+ id: {
289
+ primaryKey: true,
290
+ type: sequelize_1.default.STRING,
291
+ },
292
+ locations_id: sequelize_1.default.STRING,
293
+ name: sequelize_1.default.STRING,
294
+ vendor_id: sequelize_1.default.STRING,
295
+ // Audit database fields
296
+ create_batch_id: { type: sequelize_1.default.BIGINT },
297
+ created_at: { type: sequelize_1.default.DATE },
298
+ created_by: { type: sequelize_1.default.STRING(150) },
299
+ update_batch_id: { type: sequelize_1.default.BIGINT },
300
+ updated_at: { type: sequelize_1.default.DATE },
301
+ updated_by: { type: sequelize_1.default.STRING(150) }, // Author or name of Worker of update
302
+ };
303
+ // only for Validator
304
+ const outputDirectionsJsonSchema = {
305
+ type: "array",
306
+ items: {
307
+ type: "object",
308
+ properties: {
309
+ id: { type: "string" },
310
+ locations_id: { type: "string" },
311
+ name: { type: "string" },
312
+ vendor_id: { type: ["string", "number"] },
313
+ },
314
+ required: ["id", "locations_id", "vendor_id"],
315
+ },
316
+ };
317
+ // Detections
318
+ const outputDetectionsSDMA = {
319
+ category: { type: sequelize_1.default.STRING(100) },
320
+ directions_id: {
321
+ primaryKey: true,
322
+ type: sequelize_1.default.STRING,
323
+ },
324
+ locations_id: {
325
+ primaryKey: true,
326
+ type: sequelize_1.default.STRING,
327
+ },
328
+ measured_from: {
329
+ primaryKey: true,
330
+ type: sequelize_1.default.BIGINT,
331
+ },
332
+ measured_to: sequelize_1.default.BIGINT,
333
+ value: sequelize_1.default.INTEGER,
334
+ // Audit database fields
335
+ create_batch_id: { type: sequelize_1.default.BIGINT },
336
+ created_at: { type: sequelize_1.default.DATE },
337
+ created_by: { type: sequelize_1.default.STRING(150) },
338
+ update_batch_id: { type: sequelize_1.default.BIGINT },
339
+ updated_at: { type: sequelize_1.default.DATE },
340
+ updated_by: { type: sequelize_1.default.STRING(150) }, // Author or name of Worker of update
341
+ };
342
+ // only for Validator
343
+ const outputDetectionsJsonSchema = {
344
+ type: "array",
345
+ items: {
346
+ type: "object",
347
+ properties: {
348
+ directions_id: { type: "string" },
349
+ locations_id: { type: "string" },
350
+ measured_from: { type: "number" },
351
+ measured_to: { type: "number" },
352
+ value: { type: ["number", "null"] },
353
+ },
354
+ required: ["directions_id", "locations_id", "measured_from", "measured_to"],
355
+ },
356
+ };
357
+ const forExportCounters = {
358
+ pgSchema: "flow",
359
+ detections: {
360
+ name: "CountersDetections",
361
+ outputJsonSchemaObject: outputDetectionsJsonSchema,
362
+ outputSequelizeAttributes: outputDetectionsSDMA,
363
+ pgTableName: "counters_detections",
364
+ },
365
+ directions: {
366
+ name: "CountersDirections",
367
+ outputJsonSchemaObject: outputDirectionsJsonSchema,
368
+ outputSequelizeAttributes: outputDirectionsSDMA,
369
+ pgTableName: "counters_directions",
370
+ },
371
+ locations: {
372
+ name: "CountersLocations",
373
+ outputJsonSchemaObject: outputLocationsJsonSchema,
374
+ outputSequelizeAttributes: outputLocationsSDMA,
375
+ pgTableName: "counters_locations",
376
+ },
377
+ ecoCounter: {
378
+ datasourceJsonSchema: datasourceEcoCounterJsonSchema,
379
+ measurementsDatasourceJsonSchema: datasourceEcoCounterMeasurementsJsonSchema,
380
+ name: "EcoCounterCounters",
381
+ },
382
+ };
383
+ exports.Counters = forExportCounters;
189
384
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema-definitions/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema-definitions/index.ts"],"names":[],"mappings":"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"}
Binary file
@@ -0,0 +1,157 @@
1
+ # Implementační dokumentace modulu *flow*
2
+
3
+ ## Záměr
4
+
5
+ Stručný popis, k čemu modul slouží.
6
+
7
+ Počítání pěších (a případně dalších detekovaných objektů, jako jsou vozidla, kola, motocykly) nad streamy kamer z MKS prostřenictvím videoanalytické aplikace FLOW od RCE Systems
8
+
9
+ ## Vstupní data
10
+
11
+ ### Data aktivně stahujeme
12
+
13
+ Popis dat, jak je pomocí cronu a integration-engine stahujeme. Pokud jsou data stahována z více zdrojů, každý zdroj je popsán zvlášť.
14
+
15
+ #### *FlowAPI*
16
+
17
+ - zdroj dat
18
+ - url https://10.200.4.4:8080/api/cubes
19
+ - bearer auth
20
+ - header Accept-Version: 1.3
21
+ - formát dat
22
+ - protokol HTTP get
23
+ - datový typ json stream
24
+ - frekvence stahování
25
+ - cron definice 0 6,26,46 * * * *
26
+ - název rabbitmq fronty
27
+ - popis / název fronty, která vyvolá proces integrace, ve které je zdroj dat obsažen
28
+ - dataplatform.flowmeasurements.refreshCubes
29
+
30
+
31
+
32
+ ## Zpracování dat / transformace
33
+
34
+ Popis transformace a případného obohacení dat. Zaměřeno hlavně na workery a jejich metody.
35
+
36
+ ### *FlowWorker*
37
+
38
+ Stručný popis workeru.
39
+
40
+ #### *refreshCubes*
41
+
42
+ - vstupní rabbitmq fronta
43
+ - název dataplatform.flowmeasurements.refreshCubes
44
+ - zpráva vyvolana cronem je prázdná, ale také může obsahovat json s from a to v ISO 8601 formátu. Také lze jak vstup použít nějkolik dvojic from a to v poli.
45
+ - (volitelně) závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
46
+ - název dataplatform.flowmeasurements.getAnalytics
47
+ - ve zprávě se posílá každá cube zvlášť případně obohacena o pole intervalů from a to
48
+ - datové zdroje
49
+ - cubes z FlowAPI
50
+ - data modely
51
+ - výčet datových modelů, kam se data ukládájí
52
+ - flowCubesModel - uklada definice cube do flow_cubes
53
+
54
+ #### *getAnalytics*
55
+
56
+ - vstupní rabbitmq fronta
57
+ - název dataplatform.flowmeasurements.getAnalytics
58
+ - zpráva obsahuje cube a pole intervalů from to
59
+ - (volitelně) závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
60
+ - název dataplatform.flowmeasurements.getSinks
61
+ - ve zprávě se posílá celá cube zpříchozí zpravy, stažená analytic.data a intervaly from a to
62
+ - datové zdroje
63
+ - GET FlowAPI/:cube.id/analytics
64
+ - GET FlowAPI/:cube.id/analytics/:analytic.id
65
+ - data modely
66
+ - v této fázi se do databáze nic neukládá
67
+
68
+ #### *getSinks*
69
+
70
+ - vstupní rabbitmq fronta
71
+ - název dataplatform.flowmeasurements.getSinks
72
+ - zpráva obsahuje cube, analytic a pole intervalů from to ziskané v přechozích částech
73
+ - (volitelně) závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
74
+ - název
75
+ dataplatform.flowmeasurements.getSinksHistoryPayloads
76
+ - příchozí zpráva se obohacuje o sinks a value type sinku
77
+ - datové zdroje
78
+ - GET FlowAPI/:cube.id/analytics/:analytic.id/sinks
79
+ - data modely
80
+ - výčet datových modelů, kam se data ukládájí
81
+ - flowSinksModel - aktualizuje číselník Sinks (?senzorů?)
82
+
83
+ #### *getSinksHistoryPayloads*
84
+
85
+ - vstupní rabbitmq fronta
86
+ - název dataplatform.flowmeasurements.getSinksHistoryPayloads
87
+ - zpráva obsahuje cube, analytic, sinks, sink type a pole intervalů from to ziskané v přechozích částech
88
+ - (volitelně) závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
89
+ - název
90
+ dataplatform.flowmeasurements.getSinksHistory
91
+ - zpráva obsahuje analytic, cube, sink type a payload (payload je vytvořen za pomocí hodnot z časových intervalů, analytic sequence number a indetifikatoru)
92
+ - datové zdroje
93
+ - nic se nestahuje
94
+ - data modely
95
+ - nic se neukládá
96
+ - účel
97
+ - zpráva se rozdrobí na atomické zprávy pro jednotlivé sinky a time framy
98
+
99
+ #### *getSinksHistory*
100
+
101
+ - vstupní rabbitmq fronta
102
+ - název dataplatform.flowmeasurements.getSinksHistory
103
+ - zpráva obsahuje cube, analytic, payload, sink type
104
+ - datové zdroje
105
+ - POST FlowAPI/:cube.id/analytics/:analytic.id/sinks/history
106
+ body ~ payload
107
+ - data modely
108
+ - flowMeasurementModel
109
+ - pro typ sinku distribution
110
+ - datová tabulka s měřením průchodu/ průjezdu entit (chodec, kolo ...)
111
+ - jméno tabulky flow_measurements
112
+ - flowODMeasurementModel
113
+ - pro typ sinku od_matrix
114
+ - datová tabulka s měřením průchodu/ průjezdu entit včetně směru pohybu (sloupce origin destination)
115
+ - jméno tabulky flow_od_measurements
116
+ ## Uložení dat
117
+
118
+ Popis ukládání dat.
119
+
120
+ ### Obecné
121
+
122
+ - typ databáze
123
+ - PSQL
124
+ - databázové schéma
125
+ - popis tabulek nebo odkaz na obrázek s databázovým schématem
126
+ - ![flow er diagram](assets/flow_erd.png)
127
+ - retence dat
128
+ - data jsou zachována
129
+
130
+ ## Output API
131
+
132
+ Popis output-api.
133
+
134
+ ### Obecné
135
+
136
+ - OpenAPI v3 dokumentace
137
+ - [odkaz na dokumentaci](./openapi.yaml)
138
+ - veřejné / neveřejné endpointy
139
+ - api je neveřejné
140
+
141
+ #### */locations*
142
+
143
+ - zdrojové view v_pedestrians_locations_api
144
+ - používá tabulku pedestrians_locations_api
145
+ - obohaceno o data z view v_pedestrians_directions_api
146
+ - používá tabulku pedestrians_directions_api
147
+
148
+ #### */measurements*
149
+
150
+ - zdrojové tabulka pedestrians_detections_api
151
+ - plněna procedurou update_detections_data a získává data z:
152
+ - pedestrians_wifi
153
+ - counters_detections
154
+ - pedestrians_directions_api
155
+ - flow_measurements ~ pouze categorie pedestrian
156
+
157
+
@@ -0,0 +1,166 @@
1
+ # Implementační dokumentace modulu *Counters*
2
+
3
+ ## Záměr
4
+
5
+ Modul slouží ke sčítání chodců.
6
+
7
+ ## Vstupní data
8
+
9
+
10
+ ### Data aktivně stahujeme
11
+
12
+ Popis dat, jak je pomocí cronu a integration-engine stahujeme. Pokud jsou data stahována z více zdrojů, každý zdroj je popsán zvlášť.
13
+
14
+ #### *dataSourceEcoCounter*
15
+
16
+ - zdroj dat
17
+ - url https://apieco.eco-counter-tools.com/api/1.0/site
18
+ - formát dat
19
+ - protokol HTTP GET, Bearer token
20
+ - datový typ json
21
+ - odkaz na validační schéma již deprecated mongoose validačních schéma v 1.0.3 verzi bicycle counters
22
+ - příklad vstupních dat
23
+ - (volitelně) vstupní parametry, hlavičky, atd.
24
+ ```json
25
+ [
26
+ {
27
+ "id": 100047647,
28
+ "name": "Praha - Podolí",
29
+ "domain": "PRAHA ",
30
+ "latitude": 50.05949686563836,
31
+ "longitude": 14.419192187464143,
32
+ "userType": 7,
33
+ "timezone": "(UTC+01:00) Europe/Prague;DST",
34
+ "interval": 15,
35
+ "sens": 0,
36
+ "installationDate": "2018-09-14T00:00:00+0200",
37
+ "photos": ["15380385573882.jpg", "15380385575921.jpg", "15380385604483.jpg", "15380385611850.jpg"],
38
+ "counter": "COM18090165",
39
+ "channels": [
40
+ {
41
+ "id": 101047647,
42
+ "name": "Praha Pěší do centra",
43
+ "domain": "PRAHA ",
44
+ "latitude": 50.05949686563836,
45
+ "longitude": 14.419192187464143,
46
+ "userType": 1,
47
+ "timezone": "(UTC+01:00) Europe/Prague;DST",
48
+ "interval": 15,
49
+ "sens": 1,
50
+ "installationDate": "2018-09-14T00:00:00+0200",
51
+ "photos": null,
52
+ "counter": "COM18090165",
53
+ "channels": null
54
+ },
55
+ {
56
+ "id": 102047647,
57
+ "name": "Praha Pěší z centra",
58
+ "domain": "PRAHA ",
59
+ "latitude": 50.05949686563836,
60
+ "longitude": 14.419192187464143,
61
+ "userType": 1,
62
+ "timezone": "(UTC+01:00) Europe/Prague;DST",
63
+ "interval": 15,
64
+ "sens": 2,
65
+ "installationDate": "2018-09-14T00:00:00+0200",
66
+ "photos": null,
67
+ "counter": "COM18090165",
68
+ "channels": null
69
+ }
70
+ ]
71
+ }
72
+ ]
73
+ ```
74
+
75
+ - frekvence stahování
76
+ - cron definice 0 15 6 * * *
77
+ - název rabbitmq fronty dataplatform.counters.refreshEcoCounterDataInDB
78
+ - obsahuje prázdnou zprávu, aktualizuje číselníky a pošle zprávu do queue pro update měření
79
+
80
+ #### *dataSourceEcoCounterMeasurements*
81
+
82
+ - zdroj dat
83
+ - url https://apieco.eco-counter-tools.com/api/1.0/data/site/:id?begin=:from&end=:to&step=:step&complete=:complete
84
+ - formát dat
85
+ - protokol HTTP GET, Bearer token
86
+ - datový typ json
87
+ - odkaz na validační schéma již deprecated mongoose validačních schéma v 1.0.3 verzi bicycle counters
88
+ - příklad vstupních dat
89
+ - (volitelně) vstupní parametry, hlavičky, atd.
90
+ ```json
91
+ [
92
+ {
93
+ "date": "2020-01-16T02:30:00+0000",
94
+ "counts": 0,
95
+ "status": 0
96
+ },
97
+ {
98
+ "date": "2020-01-16T02:45:00+0000",
99
+ "counts": 0,
100
+ "status": 0
101
+ }
102
+ ]
103
+ ```
104
+
105
+ - název rabbitmq fronty dataplatform.counters.updateEcoCounter
106
+ - obsahuje json zprávu s parametry, popsáno níže
107
+
108
+ ## Zpracování dat / transformace
109
+
110
+ Popis transformace a případného obohacení dat. Zaměřeno hlavně na workery a jejich metody.
111
+
112
+ ### *Counters Worker*
113
+
114
+ Stručný popis workeru.
115
+
116
+ #### *refreshEcoCounterDataInDB*
117
+
118
+ - vstupní rabbitmq fronta
119
+ - název dataplatform.counters.refreshEcoCounterDataInDB
120
+ - (volitelně) závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
121
+ - název dataplatform.counters.updateEcoCounter
122
+ - datové zdroje
123
+ - výčet datových zdrojů dataSourceEcoCounter
124
+ - transformace
125
+ - odkaz na [transformaci dat](./../src/integration-engine/EcoCounterTransformation.ts)
126
+ - data modely
127
+ - výčet datových modelů, kam se data ukládájí
128
+ - countersLocationsModel - číselník lokací v db tabulce counters_locations
129
+ - countersDirectionsModel - číselník seznorů v db tabulce counters_directions
130
+
131
+ #### *refreshEcoCounterDataInDB*
132
+
133
+ - vstupní rabbitmq fronta
134
+ - název dataplatform.counters.updateEcoCounter
135
+ - json zpráva s propertky
136
+ - category - vždy pedestrian
137
+ - directions - channel id s prefixem "ecoCounter-"
138
+ - id - channel id
139
+ - locations_id - id lokace s prefixem "ecoCounter-"
140
+ - datové zdroje
141
+ - výčet datových zdrojů dataSourceEcoCounter
142
+ - transformace
143
+ - odkaz na [transformaci dat](./../src/integration-engine/EcoCounterTransformation.ts)
144
+ - data modely
145
+ - výčet datových modelů, kam se data ukládájí
146
+ - countersDetectionsModel - záznamy o pohybech osob v 15 minutových intervalech, ukládá se do db tabulky counters_detections
147
+
148
+ ## Uložení dat
149
+
150
+ Popis ukládání dat.
151
+
152
+ ### Obecné
153
+
154
+ - typ databáze
155
+ - PSQL,
156
+ - databázové schéma
157
+ - public
158
+ - retence dat
159
+ - data jsou zachována
160
+ - ERD
161
+ - ![counters er diagram](assets/counters_erd.png)
162
+
163
+
164
+ ## Output API
165
+
166
+ Modul nemá output API.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/flow",
3
- "version": "1.0.8-dev.568903441",
3
+ "version": "1.0.8-dev.584979260",
4
4
  "description": "Golemio Flow Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -8,12 +8,12 @@
8
8
  "build": "rimraf ./dist && ttsc -p ./tsconfig.build.json",
9
9
  "build-minimal": "run-s 'build --sourceMap false --declaration false'",
10
10
  "build-watch": "run-s 'build --watch --preserveWatchOutput'",
11
- "pretest": "golemio-import-test-data",
12
- "test": "cross-env NODE_ENV=test TS_NODE_COMPILER='ttypescript' mocha --exit --check-leaks --timeout 120000 -r ts-node/register 'test/**/*.test.ts'",
11
+ "pretest": "golemio import-db-data --postgres",
12
+ "test": "cross-env NODE_ENV=test TS_NODE_COMPILER='ttypescript' mocha --exit --check-leaks --timeout 120000 -r ts-node/register -r dotenv/config 'test/**/*.test.ts'",
13
13
  "test-debug": "run-s 'test --inspect-brk=9230'",
14
14
  "code-coverage": "nyc run-s 'test -r source-map-support/register'",
15
15
  "generate-docs": "typedoc --out docs/typedoc src",
16
- "lint": "eslint '{src,test}/**/*.ts'"
16
+ "lint": "eslint \"{src,test}/**/*.ts\""
17
17
  },
18
18
  "keywords": [
19
19
  "golemio"
@@ -27,9 +27,10 @@
27
27
  "devDependencies": {
28
28
  "@commitlint/cli": "^11.0.0",
29
29
  "@commitlint/config-conventional": "^11.0.0",
30
+ "@golemio/cli": "1.2.1",
30
31
  "@golemio/core": "1.2.13",
32
+ "@golemio/db-common": "1.0.1",
31
33
  "@golemio/eslint-config": "^1.0.2",
32
- "@golemio/schema-definitions": "2.0.25",
33
34
  "@ovos-media/ts-transform-paths": "^1.7.18-1",
34
35
  "@types/chai": "4.2.3",
35
36
  "@types/chai-as-promised": "7.1.2",
@@ -56,5 +57,8 @@
56
57
  },
57
58
  "dependencies": {
58
59
  "JSONStream": "^1.0.4"
60
+ },
61
+ "peerDependencies": {
62
+ "@golemio/core": "^1.0.0"
59
63
  }
60
64
  }