This commit is contained in:
@@ -62,40 +62,33 @@ const UpdateCustomer: FC = () => {
|
|||||||
profilePic: ''
|
profilePic: ''
|
||||||
},
|
},
|
||||||
validationSchema: Yup.object({
|
validationSchema: Yup.object({
|
||||||
phone: Yup.string().required(t('errors.required')),
|
email: Yup.string().test(
|
||||||
firstName: Yup.string().required(t('errors.required')),
|
'email',
|
||||||
lastName: Yup.string().required(t('errors.required')),
|
t('errors.email'),
|
||||||
email: Yup.string().email(t('errors.email')).required(t('errors.required')),
|
(value) => !value || Yup.string().email().isValidSync(value)
|
||||||
birthDate: Yup.string().required(t('errors.required')),
|
),
|
||||||
nationalCode: Yup.string().required(t('errors.required')),
|
|
||||||
economicCode: Yup.string().required(t('errors.required')),
|
|
||||||
registrationName: Yup.string().required(t('errors.required')),
|
|
||||||
registrationCode: Yup.string().required(t('errors.required')),
|
|
||||||
nationalIdentity: Yup.string().required(t('errors.required')),
|
|
||||||
postalCode: Yup.string().required(t('errors.required')),
|
|
||||||
address: Yup.string().required(t('errors.required')),
|
|
||||||
cityId: Yup.string().required(t('errors.required')),
|
|
||||||
}),
|
}),
|
||||||
onSubmit: async (values) => {
|
onSubmit: async (values) => {
|
||||||
values.cityId = +values.cityId
|
const payload: Partial<CreateCustomerType> = Object.fromEntries(
|
||||||
if (values.password === '') values.password = undefined
|
Object.entries(values).filter(([, value]) => value !== '' && value !== undefined && value !== null)
|
||||||
|
) as Partial<CreateCustomerType>
|
||||||
|
|
||||||
|
if (payload.cityId !== undefined) payload.cityId = +payload.cityId
|
||||||
|
|
||||||
if (file) {
|
if (file) {
|
||||||
const formData = new FormData()
|
const formData = new FormData()
|
||||||
formData.append('file', file)
|
formData.append('file', file)
|
||||||
await singleUpload.mutateAsync(formData, {
|
await singleUpload.mutateAsync(formData, {
|
||||||
onSuccess: (data) => {
|
onSuccess: (data) => {
|
||||||
values.profilePic = data?.data?.url
|
payload.profilePic = data?.data?.url
|
||||||
},
|
},
|
||||||
onError: (error: ErrorType) => {
|
onError: (error: ErrorType) => {
|
||||||
toast(error.response?.data?.error?.message[0], 'error')
|
toast(error.response?.data?.error?.message[0], 'error')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
handleUpdateCustomer(values)
|
|
||||||
} else {
|
|
||||||
values.profilePic = undefined
|
|
||||||
handleUpdateCustomer(values)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
handleUpdateCustomer(payload as CreateCustomerType)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user