fleetmap-reports 1.0.331 → 1.0.335

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fleetmap-reports",
3
- "version": "1.0.331",
3
+ "version": "1.0.335",
4
4
  "description": "",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
package/src/index.js CHANGED
@@ -8,7 +8,7 @@ function Reports(config, axios) {
8
8
  groups: new GroupsApi(config, null, axios),
9
9
  drivers: new DriversApi(config, null, axios),
10
10
  geofences: new GeofencesApi(config, null, axios),
11
- axios: axios || require('axios').create(config.baseOptions)
11
+ axios: axios || require('axios').create({...config.baseOptions, baseURL: config.basePath})
12
12
  }
13
13
  this.getUserData = async () => {
14
14
  return {
package/src/index.test.js CHANGED
@@ -21,20 +21,16 @@ describe('speedingReport', function() {
21
21
  })
22
22
  it('test allinone', async() => {
23
23
  console.log('Start')
24
-
25
24
  const reports = await getReports()
26
-
27
- const r = await require("./util/traccar").getAllInOne(reports.traccar,
28
- new Date(2022, 1, 2),
29
- new Date(2022, 1, 3),
30
- [{"id":22327}],
25
+ const userData = await reports.getUserData()
26
+ const r = await require('./util/traccar').getAllInOne(reports.traccar,
27
+ new Date(2022, 1, 1),
28
+ new Date(2022, 1, 4),
29
+ userData.devices,
31
30
  false,
32
31
  true,
33
32
  true,
34
33
  false)
35
-
36
- console.log(r)
37
-
38
- console.log('End')
34
+ console.log('getAllInOne',r)
39
35
  })
40
36
  })
@@ -1,5 +1,4 @@
1
1
  const {SessionApi} = require("traccar-api");
2
- const axios = require('axios')
3
2
  const axiosCookieJarSupport = require('axios-cookiejar-support').default;
4
3
  const tough = require('tough-cookie');
5
4
  const Index = require('../index');
@@ -11,6 +10,7 @@ const traccarConfig = {
11
10
  jar: cookieJar
12
11
  }
13
12
  }
13
+ const axios = require('axios').create({...traccarConfig.baseOptions, baseURL: traccarConfig.basePath})
14
14
 
15
15
  axiosCookieJarSupport(axios)
16
16
 
@@ -125,7 +125,7 @@ function processDevices(from, to, devices, data, userData) {
125
125
  && (userData.allWeek || !userData.weekDays || isInsideTimetable(t, userData) || isPartialInsideTimetable(t, userData, route)))
126
126
  const stops = data.stops.filter(s => s.deviceId === d.id)
127
127
 
128
- console.log(trips)
128
+ console.log('LOADING_MESSAGE:' + d.name)
129
129
 
130
130
  addNearestPOIs(trips, userData)
131
131
 
@@ -67,7 +67,6 @@ async function getSummary(traccar, from, to, devices){
67
67
  }
68
68
 
69
69
  async function getAllInOne(traccar, from, to, devices, getRoutes, getTrips, getStops, getSummary){
70
-
71
70
  let url = `/reports/allinone?&from=${from.toISOString()}&to=${to.toISOString()}`
72
71
  if(getRoutes) url += `&type=route`
73
72
  if(getTrips) url += `&type=trips`
@@ -75,35 +74,19 @@ async function getAllInOne(traccar, from, to, devices, getRoutes, getTrips, getS
75
74
  if(getSummary) url += `&type=summary`
76
75
 
77
76
  const devicesToSlice = devices.slice()
78
- const arrayOfArrays = automaticReports.sliceArray(devicesToSlice)
79
- let requests = []
80
-
81
- for (const a of arrayOfArrays) {
82
- let sliceUrl = url
83
- for(const d of a){
84
- sliceUrl += `&deviceId=${d.id}`
85
- }
86
- const promise = traccar.axios.get(sliceUrl)
87
- requests = requests.concat(promise)
88
- }
89
-
90
- const resultList = await Promise.all(requests)
91
-
92
- const result = {
93
- route : [],
94
- trips : [],
95
- stops : [],
96
- summary : []
97
- }
98
-
99
- for(const r of resultList){
100
- if(getRoutes) result.route = result.route.concat(r.data.route)
101
- if(getTrips) result.trips = result.trips.concat(r.data.trips)
102
- if(getStops) result.stops = result.stops.concat(r.data.stops)
103
- if(getSummary) result.summary = result.summary.concat(r.data.summary)
77
+ const sliced = automaticReports.sliceArray(devicesToSlice)
78
+ const requests = sliced.map(a =>
79
+ traccar.axios.get(url + '&' + a.map(d => `deviceId=${d.id}`).join('&')).then(r => r.data).then(x => {
80
+ console.log('LOADING_MESSAGE:' + a.map(d => d.name).join(', '))
81
+ return x
82
+ }))
83
+ const result = await Promise.all(requests)
84
+ return {
85
+ route: result.map(r => r.route),
86
+ trips: result.map(r => r.trips),
87
+ stops: result.map(r => r.stops),
88
+ summary: result.map(r => r.summary),
104
89
  }
105
-
106
- return result
107
90
  }
108
91
 
109
92
  exports.getRoute = getRoute