diff --git a/lib/admin/server.js b/lib/admin/server.js index f31cf4fd..cc5d5415 100644 --- a/lib/admin/server.js +++ b/lib/admin/server.js @@ -1,3 +1,4 @@ +const { intervalToDuration, secondsToMilliseconds, formatDuration } = require('date-fns/fp') const _ = require('lodash/fp') const ticker = require('../ticker') @@ -5,7 +6,6 @@ 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 diff --git a/lib/customers.js b/lib/customers.js index 478f6f7c..28808f2e 100644 --- a/lib/customers.js +++ b/lib/customers.js @@ -6,6 +6,7 @@ const makeDir = require('make-dir') const path = require('path') const fs = require('fs') const util = require('util') +const { sub, differenceInHours } = require('date-fns/fp') const db = require('./db') const BN = require('./bn') @@ -23,7 +24,6 @@ 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'] @@ -216,13 +216,13 @@ function getDailyVolumeMinusCurrentTxQueries (id, txId) { function getHoursTillLimitClear (cashInDate, cashOutDate) { let startDate = new Date() - startDate = sub(startDate, { days: 1 }) + startDate = sub({ days: 1 }, startDate) const cashInMoment = new Date(cashInDate || startDate) const cashOutMoment = new Date(cashOutDate || startDate) - const cashInDuration = differenceInHours(startDate, cashInMoment) - const cashOutDuration = differenceInHours(startDate, cashOutMoment) + const cashInDuration = differenceInHours(cashInMoment, startDate) + const cashOutDuration = differenceInHours(cashOutMoment, startDate) return _.ceil(_.max([cashInDuration, cashOutDuration, 0])) } diff --git a/lib/logs.js b/lib/logs.js index 6b6ea61f..3b8421bf 100644 --- a/lib/logs.js +++ b/lib/logs.js @@ -1,6 +1,6 @@ const _ = require('lodash/fp') -const { format } = require('date-fns') -const { zonedTimeToUtc, utcToZonedTime } = require('date-fns-tz') +const { format } = require('date-fns/fp') +const { utcToZonedTime } = require('date-fns-tz/fp') const db = require('./db') const pgp = require('pg-promise')() @@ -118,8 +118,8 @@ function logDateFormat (timezone, logs, fields) { field => { 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')}` + const date = utcToZonedTime(timezone, log[field]) + return `${format('yyyy-MM-dd', date)}T${format('HH:mm:ss.SSS', date)}` }, fields ) diff --git a/lib/routes/customerRoutes.js b/lib/routes/customerRoutes.js index 272da2d8..2ea098e3 100644 --- a/lib/routes/customerRoutes.js +++ b/lib/routes/customerRoutes.js @@ -4,6 +4,7 @@ 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 compliance = require('../compliance') const complianceTriggers = require('../compliance-triggers') @@ -18,8 +19,6 @@ const { getCustomerById } = require('../customers') const machineLoader = require('../machine-loader') const { loadLatestConfig } = require('../new-settings-loader') -const { zonedTimeToUtc, utcToZonedTime } = require('date-fns-tz') - function updateCustomer (req, res, next) { const id = req.params.id const machineVersion = req.query.version @@ -136,7 +135,7 @@ function buildSms (data, receiptOptions) { const cashInCommission = new BN(1).plus(new BN(formattedTx.commissionPercentage)) const rate = new BN(formattedTx.rawTickerPrice).multipliedBy(cashInCommission).decimalPlaces(2) - const date = utcToZonedTime(zonedTimeToUtc(new Date(), process.env.TZ), timezone) + const date = utcToZonedTime(timezone, zonedTimeToUtc(process.env.TZ, new Date())) const dateString = `${date.toISOString().replace('T', ' ').slice(0, 19)}` const data = { diff --git a/new-lamassu-admin/src/components/LogsDownloaderPopper.js b/new-lamassu-admin/src/components/LogsDownloaderPopper.js index 7ff6a16c..9c02760a 100644 --- a/new-lamassu-admin/src/components/LogsDownloaderPopper.js +++ b/new-lamassu-admin/src/components/LogsDownloaderPopper.js @@ -1,7 +1,7 @@ import { useLazyQuery } from '@apollo/react-hooks' import { makeStyles, ClickAwayListener } from '@material-ui/core' import classnames from 'classnames' -import { format, isSameDay } from 'date-fns' +import { format, isSameDay } from 'date-fns/fp' import FileSaver from 'file-saver' import * as R from 'ramda' import React, { useState, useCallback } from 'react' @@ -65,13 +65,13 @@ const DateContainer = ({ date, children, ...props }) => { {date && ( <>
-
{format(date, 'd')}
+
{format('d', date)}
{`${format( - date, - 'MMM' - )} ${format(date, 'yyyy')}`} - {format(date, 'EEEE')} + 'MMM', + date + )} ${format('yyyy', date)}`} + {format('EEEE', date)}
@@ -188,7 +188,7 @@ const LogsDownloaderPopover = ({ if (!range || !range.from) return if (range.from && !range.until) range.until = new Date() - if (isSameDay(range.from, range.until)) range.until = new Date() + if (isSameDay(range.until, range.from)) range.until = new Date() if (selectedRadio === RANGE) { fetchLogs({ diff --git a/new-lamassu-admin/src/components/date-range-picker/Calendar.js b/new-lamassu-admin/src/components/date-range-picker/Calendar.js index 7e0661cb..c6151d73 100644 --- a/new-lamassu-admin/src/components/date-range-picker/Calendar.js +++ b/new-lamassu-admin/src/components/date-range-picker/Calendar.js @@ -12,7 +12,7 @@ import { startOfMonth, startOfWeek, sub -} from 'date-fns' +} from 'date-fns/fp' import * as R from 'ramda' import React, { useState } from 'react' @@ -90,29 +90,29 @@ const Calendar = ({ minDate, maxDate, handleSelect, ...props }) => { const classes = useStyles() const weekdays = Array.from(Array(7)).map((_, i) => - format(add(startOfWeek(new Date()), { days: i }), 'EEEEE') + format('EEEEE', add({ days: i }, startOfWeek(new Date()))) ) const monthLength = month => getDaysInMonth(month) const monthdays = month => { - const lastMonth = sub(month, { months: 1 }) + const lastMonth = sub({ months: 1 }, month) const lastMonthRange = R.range(0, getDay(startOfMonth(month))).reverse() const lastMonthDays = R.map(i => - sub(lastDayOfMonth(lastMonth), { days: i }) + sub({ days: i }, lastDayOfMonth(lastMonth)) )(lastMonthRange) const thisMonthRange = R.range(0, monthLength(month)) - const thisMonthDays = R.map(i => add(startOfMonth(month), { days: i }))( + const thisMonthDays = R.map(i => add({ days: i }, startOfMonth(month)))( thisMonthRange ) - const nextMonth = add(month, { months: 1 }) + const nextMonth = add({ months: 1 }, month) const nextMonthRange = R.range( 0, 42 - lastMonthDays.length - thisMonthDays.length ) - const nextMonthDays = R.map(i => add(startOfMonth(nextMonth), { days: i }))( + const nextMonthDays = R.map(i => add({ days: i }, startOfMonth(nextMonth)))( nextMonthRange ) @@ -122,24 +122,24 @@ const Calendar = ({ minDate, maxDate, handleSelect, ...props }) => { const getRow = (month, row) => monthdays(month).slice(row * 7 - 7, row * 7) const handleNavPrev = currentMonth => { - const prevMonth = sub(currentMonth, { months: 1 }) + const prevMonth = sub({ months: 1 }, currentMonth) if (!minDate) setCurrentDisplayedMonth(prevMonth) else { setCurrentDisplayedMonth( - isSameMonth(prevMonth, minDate) || - differenceInMonths(prevMonth, minDate) > 0 + isSameMonth(minDate, prevMonth) || + differenceInMonths(minDate, prevMonth) > 0 ? prevMonth : currentDisplayedMonth ) } } const handleNavNext = currentMonth => { - const nextMonth = add(currentMonth, { months: 1 }) + const nextMonth = add({ months: 1 }, currentMonth) if (!maxDate) setCurrentDisplayedMonth(nextMonth) else { setCurrentDisplayedMonth( - isSameMonth(nextMonth, maxDate) || - differenceInMonths(maxDate, nextMonth) > 0 + isSameMonth(maxDate, nextMonth) || + differenceInMonths(nextMonth, maxDate) > 0 ? nextMonth : currentDisplayedMonth ) @@ -155,9 +155,9 @@ const Calendar = ({ minDate, maxDate, handleSelect, ...props }) => { - {`${format(currentDisplayedMonth, 'MMMM')} ${format( - currentDisplayedMonth, - 'yyyy' + {`${format('MMMM', currentDisplayedMonth)} ${format( + 'yyyy', + currentDisplayedMonth )}`}