feat: remove all instances of moment usage

This commit is contained in:
Sérgio Salgado 2021-11-23 16:09:15 +00:00
parent 7d6fb17158
commit 973040f409
29 changed files with 252 additions and 193 deletions

View file

@ -1,11 +1,11 @@
const _ = require('lodash/fp')
const moment = require('moment')
const ticker = require('../ticker')
const settingsLoader = require('./settings-loader')
const db = require('../db')
const machineLoader = require('../machine-loader')
const { intervalToDuration, secondsToMilliseconds, formatDuration } = require('date-fns')
const CONSIDERED_UP_SECS = 30
@ -37,8 +37,8 @@ function machinesLastPing () {
if (downRows.length === 1) {
const row = downRows[0]
const age = moment.duration(row.age, 'seconds')
return `${row.name} down for ${age.humanize()}`
const age = intervalToDuration({ start: 0, end: secondsToMilliseconds(row.age) })
return `${row.name} down for ${formatDuration(age)}`
}
return 'Multiple machines down'
@ -54,9 +54,9 @@ function status () {
return Promise.all([checkWasConfigured(), db.oneOrNone(sql, ['ping']), machinesLastPing()])
.then(([wasConfigured, statusRow, machineStatus]) => {
const age = statusRow && moment.duration(statusRow.age, 'seconds')
const age = statusRow && intervalToDuration({ start: 0, end: secondsToMilliseconds(statusRow.age) })
const up = statusRow ? statusRow.age < CONSIDERED_UP_SECS : false
const lastPing = statusRow && age.humanize()
const lastPing = statusRow && formatDuration(age)
return settingsLoader.loadLatest()
.catch(() => null)

View file

@ -6,7 +6,6 @@ const makeDir = require('make-dir')
const path = require('path')
const fs = require('fs')
const util = require('util')
const moment = require('moment')
const db = require('./db')
const BN = require('./bn')
@ -24,6 +23,7 @@ const operatorDataDir = _.get('operatorDataDir', options)
const sms = require('./sms')
const settingsLoader = require('./new-settings-loader')
const logger = require('./logger')
const { sub, differenceInHours } = require('date-fns')
const TX_PASSTHROUGH_ERROR_CODES = ['operatorCancel']
@ -215,14 +215,14 @@ function getDailyVolumeMinusCurrentTxQueries (id, txId) {
}
function getHoursTillLimitClear (cashInDate, cashOutDate) {
let startDate = moment()
startDate = startDate.subtract(1, 'days')
let startDate = new Date()
startDate = sub(startDate, { days: 1 })
const cashInMoment = moment(cashInDate || startDate)
const cashOutMoment = moment(cashOutDate || startDate)
const cashInMoment = new Date(cashInDate || startDate)
const cashOutMoment = new Date(cashOutDate || startDate)
const cashInDuration = moment.duration(cashInMoment.diff(startDate)).asHours()
const cashOutDuration = moment.duration(cashOutMoment.diff(startDate)).asHours()
const cashInDuration = differenceInHours(startDate, cashInMoment)
const cashOutDuration = differenceInHours(startDate, cashOutMoment)
return _.ceil(_.max([cashInDuration, cashOutDuration, 0]))
}

View file

@ -113,15 +113,17 @@ function simpleGetMachineLogs (deviceId, from = new Date(0).toISOString(), until
}
function logDateFormat (timezone, logs, fields) {
return _.map(log => {
const values = _.map(
field =>
format(utcToZonedTime(zonedTimeToUtc(log[field], process.env.TZ), timezone), 'yyyy-MM-ddTHH:mm:ss.SSS'),
{
if (_.isNil(log[field])) return null
const date = utcToZonedTime(log[field], timezone)
return `${format(date, 'yyyy-MM-dd')}T${format(date, 'HH:mm:ss.SSS')}`
},
fields
)
const fieldsToOverride = _.zipObject(fields, values)
return {
...log,
...fieldsToOverride