fix: edge case with suspensions shorter than 1 day

This commit is contained in:
Sérgio Salgado 2021-07-19 19:12:05 +01:00 committed by Josh Harvey
parent b234a129f8
commit 13b10f3749
5 changed files with 13 additions and 6 deletions

View file

@ -450,7 +450,7 @@ function batch () {
* @returns {array} Array of customers with it's transactions aggregations
*/
function getCustomersList () {
const sql = `select id, authorized_override, days_suspended, front_camera_path, front_camera_override,
const sql = `select id, authorized_override, days_suspended, is_suspended, front_camera_path, front_camera_override,
phone, sms_override, id_card_data, id_card_data_override, id_card_data_expiration,
id_card_photo_path, id_card_photo_override, us_ssn, us_ssn_override, sanctions, sanctions_at,
sanctions_override, total_txs, total_spent, created as last_active, fiat as last_tx_fiat,
@ -458,6 +458,7 @@ function getCustomersList () {
from (
select c.id, c.authorized_override,
greatest(0, date_part('day', c.suspended_until - now())) as days_suspended,
c.suspended_until > now() as is_suspended,
c.front_camera_path, c.front_camera_override,
c.phone, c.sms_override, c.id_card_data, c.id_card_data_override, c.id_card_data_expiration,
c.id_card_photo_path, c.id_card_photo_override, c.us_ssn, c.us_ssn_override, c.sanctions,
@ -488,7 +489,7 @@ function getCustomersList () {
* @returns {array} Array of customers with it's transactions aggregations
*/
function getCustomerById (id) {
const sql = `select id, authorized_override, days_suspended, front_camera_path, front_camera_override,
const sql = `select id, authorized_override, days_suspended, is_suspended, front_camera_path, front_camera_override,
phone, sms_override, id_card_data, id_card_data_override, id_card_data_expiration,
id_card_photo_path, id_card_photo_override, us_ssn, us_ssn_override, sanctions, sanctions_at,
sanctions_override, total_txs, total_spent, created as last_active, fiat as last_tx_fiat,
@ -496,6 +497,7 @@ function getCustomerById (id) {
from (
select c.id, c.authorized_override,
greatest(0, date_part('day', c.suspended_until - now())) as days_suspended,
c.suspended_until > now() as is_suspended,
c.front_camera_path, c.front_camera_override,
c.phone, c.sms_override, c.id_card_data, c.id_card_data_override, c.id_card_data_expiration,
c.id_card_photo_path, c.id_card_photo_override, c.us_ssn, c.us_ssn_override, c.sanctions,

View file

@ -84,6 +84,7 @@ const typeDefs = gql`
id: ID!
authorizedOverride: String
daysSuspended: Int
isSuspended: Boolean
frontCameraPath: String
frontCameraOverride: String
phone: String

View file

@ -56,6 +56,7 @@ const GET_CUSTOMER = gql`
lastTxFiatCode
lastTxClass
daysSuspended
isSuspended
transactions {
txClass
id
@ -136,7 +137,7 @@ const CustomerProfile = memo(() => {
const blocked =
R.path(['authorizedOverride'])(customerData) === OVERRIDE_REJECTED
const suspended = R.gt(R.path(['daysSuspended'])(customerData), 0)
const isSuspended = customerData.isSuspended
return (
<>
@ -173,7 +174,7 @@ const CustomerProfile = memo(() => {
<div>
<Label1 className={classes.actionLabel}>Actions</Label1>
<div className={classes.customerActions}>
{suspended && (
{isSuspended && (
<ActionButton
color="primary"
Icon={AuthorizeIcon}

View file

@ -23,6 +23,7 @@ const GET_CUSTOMERS = gql`
lastTxClass
authorizedOverride
daysSuspended
isSuspended
}
}
`

View file

@ -6,8 +6,10 @@ const CUSTOMER_BLOCKED = 'blocked'
const getAuthorizedStatus = it =>
it.authorizedOverride === CUSTOMER_BLOCKED
? { label: 'Blocked', type: 'error' }
: it.daysSuspended > 0
? { label: `${it.daysSuspended} day suspension`, type: 'warning' }
: it.isSuspended
? it.daysSuspended > 0
? { label: `${it.daysSuspended} day suspension`, type: 'warning' }
: { label: `< 1 day suspension`, type: 'warning' }
: { label: 'Authorized', type: 'success' }
const getFormattedPhone = (phone, country) => {