fleetmap-reports 2.0.195 → 2.0.197
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/package.json +3 -1
- package/src/util/traccar.js +17 -9
- package/src/zone-report.js +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fleetmap-reports",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.197",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -23,10 +23,12 @@
|
|
|
23
23
|
"jspdf": "^2.5.1",
|
|
24
24
|
"jspdf-autotable": "3.8.1",
|
|
25
25
|
"moment": "2.30.1",
|
|
26
|
+
"stream-json": "^1.9.1",
|
|
26
27
|
"traccar-api": "^1.0.5",
|
|
27
28
|
"wkt": "^0.1.1"
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|
|
31
|
+
"axios-debug-log": "^0.8.4",
|
|
30
32
|
"eslint": "^8.15.0",
|
|
31
33
|
"eslint-config-standard": "^17.0.0",
|
|
32
34
|
"eslint-plugin-import": "^2.26.0",
|
package/src/util/traccar.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
const automaticReports = require('../automaticReports')
|
|
2
2
|
const { convertFromUTC, isClientSide, convertFromLocal } = require('./utils')
|
|
3
|
+
const { parser } = require('stream-json')
|
|
4
|
+
const Assembler = require('stream-json/Assembler')
|
|
3
5
|
|
|
4
6
|
async function getRoute (traccar, from, to, devices) {
|
|
5
7
|
const devicesToSlice = devices.slice()
|
|
@@ -98,15 +100,21 @@ async function getAllInOne (
|
|
|
98
100
|
traccar.axios.get(u, {
|
|
99
101
|
jar: traccar.cookieJar,
|
|
100
102
|
withCredentials: true,
|
|
101
|
-
timeout: 900000
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
103
|
+
timeout: 900000,
|
|
104
|
+
responseType: 'stream'
|
|
105
|
+
}).then(r => {
|
|
106
|
+
const jsonParser = parser()
|
|
107
|
+
const assembler = new Assembler()
|
|
108
|
+
r.data.pipe(jsonParser)
|
|
109
|
+
jsonParser.on('data', chunk => {
|
|
110
|
+
assembler[chunk.name]?.(chunk.value)
|
|
108
111
|
})
|
|
109
|
-
|
|
112
|
+
return new Promise((resolve, reject) => {
|
|
113
|
+
jsonParser.on('end', () => resolve(assembler.current))
|
|
114
|
+
jsonParser.on('error', reject)
|
|
115
|
+
})
|
|
116
|
+
}).then(x => {
|
|
117
|
+
console.log('got', x)
|
|
110
118
|
console.log('LOADING_MESSAGE:' + _chunk[0].name)
|
|
111
119
|
if (counter) {
|
|
112
120
|
counter.count += devicesPerRequest
|
|
@@ -124,7 +132,7 @@ async function getAllInOne (
|
|
|
124
132
|
try {
|
|
125
133
|
result.push(...(await Promise.all(requests)))
|
|
126
134
|
} catch (e) {
|
|
127
|
-
console.
|
|
135
|
+
console.error('parallel', e.message, e.config)
|
|
128
136
|
}
|
|
129
137
|
console.log('took', new Date() - now, 'ms')
|
|
130
138
|
}
|
package/src/zone-report.js
CHANGED
|
@@ -23,7 +23,7 @@ const { checkGeofenceIn } = require('./util/geofence')
|
|
|
23
23
|
const { parallel } = require('./util/parallel')
|
|
24
24
|
const { getDataByDay } = require('./util/trips')
|
|
25
25
|
const axios = require('axios').default
|
|
26
|
-
const sliceSize =
|
|
26
|
+
const sliceSize = 4
|
|
27
27
|
const fileName = 'ZoneReport'
|
|
28
28
|
|
|
29
29
|
async function createZoneReport (from, to, userData, traccar) {
|