customer update optional fields
deploy to danak / build_and_deploy (push) Has been cancelled

This commit is contained in:
hamid zarghami
2026-07-22 10:11:34 +03:30
parent 81353fc281
commit a2d2234a28
+14 -21
View File
@@ -62,40 +62,33 @@ const UpdateCustomer: FC = () => {
profilePic: ''
},
validationSchema: Yup.object({
phone: Yup.string().required(t('errors.required')),
firstName: Yup.string().required(t('errors.required')),
lastName: Yup.string().required(t('errors.required')),
email: Yup.string().email(t('errors.email')).required(t('errors.required')),
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')),
email: Yup.string().test(
'email',
t('errors.email'),
(value) => !value || Yup.string().email().isValidSync(value)
),
}),
onSubmit: async (values) => {
values.cityId = +values.cityId
if (values.password === '') values.password = undefined
const payload: Partial<CreateCustomerType> = Object.fromEntries(
Object.entries(values).filter(([, value]) => value !== '' && value !== undefined && value !== null)
) as Partial<CreateCustomerType>
if (payload.cityId !== undefined) payload.cityId = +payload.cityId
if (file) {
const formData = new FormData()
formData.append('file', file)
await singleUpload.mutateAsync(formData, {
onSuccess: (data) => {
values.profilePic = data?.data?.url
payload.profilePic = data?.data?.url
},
onError: (error: ErrorType) => {
toast(error.response?.data?.error?.message[0], 'error')
}
})
handleUpdateCustomer(values)
} else {
values.profilePic = undefined
handleUpdateCustomer(values)
}
handleUpdateCustomer(payload as CreateCustomerType)
}
})