fix: replace lodash with ramda and sms data validation schema

This commit is contained in:
José Oliveira 2022-01-13 19:23:06 +00:00
parent a64dac0b40
commit 23a892061c
2 changed files with 13 additions and 14 deletions

View file

@ -3,7 +3,6 @@ import Grid from '@material-ui/core/Grid'
import { makeStyles } from '@material-ui/core/styles' import { makeStyles } from '@material-ui/core/styles'
import { parse, format } from 'date-fns/fp' import { parse, format } from 'date-fns/fp'
import { parsePhoneNumber } from 'libphonenumber-js' import { parsePhoneNumber } from 'libphonenumber-js'
import _ from 'lodash/fp'
import * as R from 'ramda' import * as R from 'ramda'
import { useState, React } from 'react' import { useState, React } from 'react'
import * as Yup from 'yup' import * as Yup from 'yup'
@ -109,7 +108,7 @@ const CustomerData = ({
const isEven = elem => elem % 2 === 0 const isEven = elem => elem % 2 === 0
const getVisibleCards = _.filter(elem => elem.isAvailable) const getVisibleCards = R.filter(elem => elem.isAvailable)
const initialValues = { const initialValues = {
idCardData: { idCardData: {
@ -155,11 +154,11 @@ const CustomerData = ({
deleteEditedData: () => deleteEditedData({ idCardData: null }), deleteEditedData: () => deleteEditedData({ idCardData: null }),
save: values => save: values =>
editCustomer({ editCustomer({
idCardData: _.merge(idData, formatDates(values)) idCardData: R.merge(idData, formatDates(values))
}), }),
validationSchema: customerDataSchemas.idCardData, validationSchema: customerDataSchemas.idCardData,
initialValues: initialValues.idCardData, initialValues: initialValues.idCardData,
isAvailable: !_.isNil(idData) isAvailable: !R.isNil(idData)
}, },
{ {
fields: customerDataElements.smsData, fields: customerDataElements.smsData,
@ -174,15 +173,15 @@ const CustomerData = ({
editCustomer({ editCustomer({
phone: parsePhoneNumber(values.phoneNumber).number, phone: parsePhoneNumber(values.phoneNumber).number,
subscriberInfo: { subscriberInfo: {
result: _.merge(smsData, R.omit(['phoneNumber'])(values)) result: R.merge(smsData, R.omit(['phoneNumber'])(values))
} }
}) })
}, },
validationSchema: customerDataSchemas.smsData, validationSchema: customerDataSchemas.smsData,
retrieveAdditionalData: () => setRetrieve(true), retrieveAdditionalData: () => setRetrieve(true),
initialValues: initialValues.smsData, initialValues: initialValues.smsData,
isAvailable: !_.isNil(phone), isAvailable: !R.isNil(phone),
hasAdditionalData: !_.isNil(smsData) && !_.isEmpty(smsData) hasAdditionalData: !R.isNil(smsData) && !R.isEmpty(smsData)
}, },
{ {
title: 'Name', title: 'Name',
@ -200,7 +199,7 @@ const CustomerData = ({
updateCustomer({ sanctionsOverride: OVERRIDE_AUTHORIZED }), updateCustomer({ sanctionsOverride: OVERRIDE_AUTHORIZED }),
reject: () => updateCustomer({ sanctionsOverride: OVERRIDE_REJECTED }), reject: () => updateCustomer({ sanctionsOverride: OVERRIDE_REJECTED }),
children: <Info3>{sanctionsDisplay}</Info3>, children: <Info3>{sanctionsDisplay}</Info3>,
isAvailable: !_.isNil(sanctions) isAvailable: !R.isNil(sanctions)
}, },
{ {
fields: customerDataElements.frontCamera, fields: customerDataElements.frontCamera,
@ -227,7 +226,7 @@ const CustomerData = ({
hasImage: true, hasImage: true,
validationSchema: customerDataSchemas.frontCamera, validationSchema: customerDataSchemas.frontCamera,
initialValues: initialValues.frontCamera, initialValues: initialValues.frontCamera,
isAvailable: !_.isNil(customer.frontCameraPath) isAvailable: !R.isNil(customer.frontCameraPath)
}, },
{ {
fields: customerDataElements.idCardPhoto, fields: customerDataElements.idCardPhoto,
@ -252,7 +251,7 @@ const CustomerData = ({
hasImage: true, hasImage: true,
validationSchema: customerDataSchemas.idCardPhoto, validationSchema: customerDataSchemas.idCardPhoto,
initialValues: initialValues.idCardPhoto, initialValues: initialValues.idCardPhoto,
isAvailable: !_.isNil(customer.idCardPhotoPath) isAvailable: !R.isNil(customer.idCardPhotoPath)
}, },
{ {
fields: customerDataElements.usSsn, fields: customerDataElements.usSsn,
@ -265,7 +264,7 @@ const CustomerData = ({
deleteEditedData: () => deleteEditedData({ usSsn: null }), deleteEditedData: () => deleteEditedData({ usSsn: null }),
validationSchema: customerDataSchemas.usSsn, validationSchema: customerDataSchemas.usSsn,
initialValues: initialValues.usSsn, initialValues: initialValues.usSsn,
isAvailable: !_.isNil(customer.usSsn) isAvailable: !R.isNil(customer.usSsn)
} }
] ]
@ -356,7 +355,7 @@ const CustomerData = ({
component: TextInput, component: TextInput,
editable: true editable: true
}) })
Yup.object() customerDataSchemas.smsData = Yup.object()
.shape({ .shape({
[it]: Yup.string() [it]: Yup.string()
}) })
@ -443,7 +442,7 @@ const CustomerData = ({
</Grid> </Grid>
</Grid> </Grid>
)} )}
{!_.isEmpty(customFields) && ( {!R.isEmpty(customFields) && (
<div className={classes.wrapper}> <div className={classes.wrapper}>
<span className={classes.separator}>Custom data entry</span> <span className={classes.separator}>Custom data entry</span>
<Grid container> <Grid container>

View file

@ -279,7 +279,7 @@ const EditableCard = ({
Icon={EditIcon} Icon={EditIcon}
InverseIcon={EditReversedIcon} InverseIcon={EditReversedIcon}
onClick={() => setEditing(true)}> onClick={() => setEditing(true)}>
{`Edit`} Edit
</ActionButton> </ActionButton>
</div> </div>
)} )}