fleetmap-reports 2.0.42 → 2.0.44

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": "2.0.42",
3
+ "version": "2.0.44",
4
4
  "description": "",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -18,7 +18,7 @@
18
18
  "country-reverse-geocoding": "^0.2.2",
19
19
  "docx": "^7.3.0",
20
20
  "file-saver": "^2.0.5",
21
- "fleetmap-partners": "1.0.161",
21
+ "fleetmap-partners": "1.0.164",
22
22
  "json-as-xlsx": "2.5.6",
23
23
  "jspdf": "^2.5.1",
24
24
  "jspdf-autotable": "3.8.1",
@@ -8,7 +8,9 @@ require('jspdf-autotable')
8
8
  const { getStyle } = require('./reportStyle')
9
9
  const drivers = require('./util/driver')
10
10
  const here = require('./here')
11
- const { getUserPartner } = require('fleetmap-partners')
11
+ const {
12
+ getUserPartner
13
+ } = require('fleetmap-partners')
12
14
  const traccarHelper = require('./util/traccar')
13
15
  const { devicesToProcess } = require('./util/device')
14
16
  const { point } = require('@turf/helpers')
@@ -18,6 +20,7 @@ const booleanPointInPolygon = require('@turf/boolean-point-in-polygon')
18
20
  const automaticReports = require('./automaticReports')
19
21
  const { default: axios } = require('axios')
20
22
  const { getDriverName, getDriverData } = require('./util/driver')
23
+ const { getServerHost } = require('./util')
21
24
 
22
25
  const fileName = 'SpeedingReport'
23
26
  const eventTypes = ['deviceOverspeed']
@@ -123,7 +126,7 @@ async function createSpeedingReportByDriver (from, to, userData, traccarInstance
123
126
 
124
127
  async function getEvents (traccarInstance, from, to, devices, userData, deviceCount, totalDevices, sliceSize) {
125
128
  if (processServerSide()) {
126
- const url = `https://${process.env.SERVER_HOST}/reports/speeding-report/getEvents`
129
+ const url = `https://${getServerHost()}/reports/speeding-report/getEvents`
127
130
  return axios.post(url, { from, to, devices, userData, deviceCount, totalDevices, sliceSize }, { withCredentials: true }).then(d => d.data)
128
131
  } else {
129
132
  const geofencesFeatures = userData.geofences.filter(g => g.area.startsWith('POLYGON') &&
package/src/util/index.js CHANGED
@@ -1,7 +1,13 @@
1
1
  const { devicesToProcess } = require('./device')
2
2
  const { isClientSide } = require('./utils')
3
+ const { newDomains } = require('fleetmap-partners')
3
4
 
4
5
  exports.processServerSide = (userData) => {
5
6
  const devices = devicesToProcess(userData)
6
7
  return devices.length > 100 && isClientSide()
7
8
  }
9
+
10
+ exports.getServerHost = () =>
11
+ isClientSide() && newDomains.includes(window.location.hostname)
12
+ ? `${window.location.hostname}/pinmeapi`
13
+ : process.env.SERVER_HOST
@@ -81,7 +81,7 @@ async function getAllInOne (
81
81
  devicesPerRequest = 1,
82
82
  counter = undefined,
83
83
  ignorePercentage = false) {
84
- let url = `/reports/10240/allinone?from=${from.toISOString()}&to=${to.toISOString()}`
84
+ let url = `/reports/allinone?from=${from.toISOString()}&to=${to.toISOString()}`
85
85
  if (getRoutes) url += '&type=route'
86
86
  if (getTrips) url += '&type=trips'
87
87
  if (getStops) url += '&type=stops'
package/src/util/utils.js CHANGED
@@ -2,6 +2,7 @@ const turf = require('@turf/helpers')
2
2
  const { getUserPartner } = require('fleetmap-partners')
3
3
  const messages = require('../../lang')
4
4
  const distance = require('@turf/distance')
5
+ const { getServerHost } = require('./index')
5
6
 
6
7
  exports.getTranslations = (userData) => {
7
8
  const lang = this.getLanguage(userData)
@@ -234,7 +235,7 @@ async function executeServerSide (type, sliced, from, to, userData, totalItems,
234
235
  for (let i = 0; i < sliced.length; i += maxRequests) {
235
236
  const _sliced = sliced.slice(i, i + maxRequests)
236
237
  await Promise.all(_sliced.map(async items => {
237
- const url = `https://${process.env.SERVER_HOST}/reports/${type}`
238
+ const url = `https://${getServerHost()}/reports/${type}`
238
239
  try {
239
240
  const data = await axios.post(url, {
240
241
  from,
@@ -12,8 +12,7 @@ const traccarHelper = require('./util/traccar')
12
12
  const { headerFromUser, addTable } = require('./util/pdfDocument')
13
13
  const { getStyle } = require('./reportStyle')
14
14
  const {
15
- getUserPartner,
16
- newDomains
15
+ getUserPartner
17
16
  } = require('fleetmap-partners')
18
17
  const { devicesToProcess } = require('./util/device')
19
18
  const {
@@ -23,6 +22,7 @@ const {
23
22
  const { checkGeofenceIn } = require('./util/geofence')
24
23
  const { parallel } = require('./util/parallel')
25
24
  const { getDataByDay } = require('./util/trips')
25
+ const { getServerHost } = require('./util')
26
26
  const sliceSize = 100
27
27
  const deviceChunk = 5
28
28
  const fileName = 'ZoneReport'
@@ -35,12 +35,8 @@ async function createZoneReport (from, to, userData, traccar) {
35
35
  xpert: devices.filter(d => d.attributes.xpert).length > 0
36
36
  }
37
37
 
38
- const serverHost = isClientSide() && newDomains.includes(window.location.hostname)
39
- ? `${window.location.hostname}/pinmeapi`
40
- : process.env.SERVER_HOST
41
-
42
38
  if (isClientSide()) {
43
- const url = `https://${serverHost}/reports/zone-report/`
39
+ const url = `https://${getServerHost()}/reports/zone-report/`
44
40
  return traccar.axios.post(url, { from, to, userData }, { withCredentials: true })
45
41
  .then(d => d.data)
46
42
  }
@@ -714,9 +710,11 @@ function exportZoneReportToExcel (userData, reportData) {
714
710
  { label: translations.report.vehicle, value: 'name' },
715
711
  { label: translations.report.date, value: 'date' }
716
712
  ])
717
- reportData.devices[0].days[0].geofences.forEach(g =>
718
- headers.push({ label: g.geofenceName, value: '' + g.geofenceId })
719
- )
713
+ if (reportData.devices.length) {
714
+ reportData.devices[0].days[0].geofences.forEach(g =>
715
+ headers.push({ label: g.geofenceName, value: '' + g.geofenceId })
716
+ )
717
+ }
720
718
  headers.push({ label: translations.report.distanceOut || 'Kms Afuera', value: 'distanceOut', format: '0' })
721
719
  } else if (userData.tripsBetweenZones) {
722
720
  headers.push(...[