user optional

This commit is contained in:
hamid zarghami
2026-07-01 12:52:52 +03:30
parent 8ec3f307b0
commit 282e001933
3 changed files with 23 additions and 15 deletions
+2 -2
View File
@@ -1,7 +1,7 @@
VITE_TOKEN_NAME = 'dmnu_a_t'
VITE_REFRESH_TOKEN_NAME = 'dmnu-a-rt'
VITE_BASE_URL = 'https://dmenu-api.danakcorp.com'
# VITE_BASE_URL = 'http://192.168.99.131:2000'
# VITE_BASE_URL = 'https://dmenu-api.danakcorp.com'
VITE_BASE_URL = 'http://192.168.99.131:2000'
VITE_SOCKET_URL = 'https://dmenu-api.danakcorp.com'
+20 -12
View File
@@ -108,9 +108,9 @@ export const useCreateOrderForm = () => {
paymentDesc: '',
},
validationSchema: Yup.object().shape({
userPhone: Yup.string().required('شماره تلفن الزامی است'),
firstName: Yup.string().required('نام الزامی است'),
lastName: Yup.string().required('نام خانوادگی الزامی است'),
userPhone: Yup.string(),
firstName: Yup.string(),
lastName: Yup.string(),
deliveryMethodId: Yup.string().required('روش تحویل الزامی است'),
paymentMethodId: Yup.string().required('روش پرداخت الزامی است'),
items: Yup.array()
@@ -160,9 +160,8 @@ export const useCreateOrderForm = () => {
return
}
const submitOrder = (userId: string, addressId?: string) => {
const submitOrder = (userId?: string, addressId?: string) => {
const payload: CreateOrderType = {
userId,
items: values.items,
deliveryMethodId: values.deliveryMethodId,
paymentMethodId: values.paymentMethodId,
@@ -170,6 +169,10 @@ export const useCreateOrderForm = () => {
packingFee: values.packingFee || 0,
}
if (userId) {
payload.userId = userId
}
if (values.description.trim()) {
payload.description = values.description.trim()
}
@@ -242,18 +245,23 @@ export const useCreateOrderForm = () => {
const submitFlow = async () => {
try {
const isCustomerRequiredForDelivery =
selectedDelivery?.method === DeliveryMethodEnum.DeliveryCourier
const userId = await registerNewCustomer()
if (!userId) {
toast.error('کاربر انتخاب نشده است')
if (isCustomerRequiredForDelivery && !userId) {
toast.error('برای ثبت آدرس، انتخاب مشتری الزامی است')
return
}
let addressId: string | undefined
try {
addressId = await resolveAddressId(userId)
} catch (error) {
toast.error(extractErrorMessage(error as ErrorType, 'خطا در ثبت آدرس'))
return
if (userId) {
try {
addressId = await resolveAddressId(userId)
} catch (error) {
toast.error(extractErrorMessage(error as ErrorType, 'خطا در ثبت آدرس'))
return
}
}
if (
+1 -1
View File
@@ -265,7 +265,7 @@ export interface CreateOrderCarAddress {
}
export interface CreateOrderType {
userId: string;
userId?: string;
items: CreateOrderItem[];
deliveryMethodId: string;
paymentMethodId: string;