fix: allow for decimal values on customer suspension time

This commit is contained in:
Sérgio Salgado 2022-06-20 22:28:03 +01:00
parent 9b4ee6ceab
commit 6c4b225e73
2 changed files with 8 additions and 6 deletions

View file

@ -64,7 +64,7 @@ type Trigger {
requirement: String!
triggerType: String!
suspensionDays: Int
suspensionDays: Float
threshold: Int
thresholdDays: Int
}

View file

@ -1,11 +1,12 @@
const express = require('express')
const router = express.Router()
const semver = require('semver')
const sms = require('../sms')
const _ = require('lodash/fp')
const BN = require('../bn')
const { zonedTimeToUtc, utcToZonedTime } = require('date-fns-tz/fp')
const { add, intervalToDuration } = require('date-fns/fp')
const sms = require('../sms')
const BN = require('../bn')
const compliance = require('../compliance')
const complianceTriggers = require('../compliance-triggers')
const configManager = require('../new-config-manager')
@ -18,6 +19,7 @@ const { getTx } = require('../new-admin/services/transactions.js')
const machineLoader = require('../machine-loader')
const { loadLatestConfig } = require('../new-settings-loader')
const customInfoRequestQueries = require('../new-admin/services/customInfoRequests')
const T = require('../time')
function updateCustomerCustomInfoRequest (customerId, patch, req, res) {
if (_.isNil(patch.data)) {
@ -112,9 +114,9 @@ function triggerSuspend (req, res, next) {
const days = triggerId === 'no-ff-camera' ? 1 : getSuspendDays(triggers)
const date = new Date()
date.setDate(date.getDate() + days)
customers.update(id, { suspendedUntil: date })
const suspensionDuration = intervalToDuration({ start: 0, end: T.day * days })
customers.update(id, { suspendedUntil: add(suspensionDuration, new Date()) })
.then(customer => {
notifier.complianceNotify(customer, req.deviceId, 'SUSPENDED', days)
return respond(req, res, { customer })