fix user address

This commit is contained in:
hamid zarghami
2025-12-29 09:24:46 +03:30
parent 87c457babe
commit c31599b6f0
3 changed files with 68 additions and 27 deletions
+2 -2
View File
@@ -59,7 +59,7 @@ function OrdersIndex() {
} }
return orders.map((order) => { return orders.map((order) => {
const address = order.address?.address || 'آدرس ثبت نشده'; const address = order.userAddress?.address || 'آدرس ثبت نشده';
const formattedDate = formatDate(order.createdAt); const formattedDate = formatDate(order.createdAt);
const formattedPrice = order.total.toLocaleString('fa-IR'); const formattedPrice = order.total.toLocaleString('fa-IR');
const items: HistoryOrderItem[] = order.items || []; const items: HistoryOrderItem[] = order.items || [];
@@ -134,7 +134,7 @@ function OrdersIndex() {
} }
return orders.map((order) => { return orders.map((order) => {
const address = order.address?.address || 'آدرس ثبت نشده'; const address = order.userAddress?.address || 'آدرس ثبت نشده';
const formattedDate = formatDate(order.createdAt); const formattedDate = formatDate(order.createdAt);
const formattedPrice = order.total.toLocaleString('fa-IR'); const formattedPrice = order.total.toLocaleString('fa-IR');
const items: HistoryOrderItem[] = order.items || []; const items: HistoryOrderItem[] = order.items || [];
@@ -18,8 +18,6 @@ export const getOrders = async (
OrderStatus.COMPLETED, OrderStatus.COMPLETED,
]; ];
console.log(statuses);
const { data } = await api.get<OrdersResponse>(`/public/orders`, { const { data } = await api.get<OrdersResponse>(`/public/orders`, {
params: { params: {
statuses: statuses, statuses: statuses,
@@ -7,15 +7,25 @@ export interface HistoryOrderUser {
updatedAt: string; updatedAt: string;
deletedAt: string | null; deletedAt: string | null;
firstName: string; firstName: string;
lastName: string; lastName: string | null;
phone: string; phone: string;
birthDate: string; birthDate: string | null;
marriageDate: string; marriageDate: string | null;
referrer: string | null; referrer: string | null;
isActive: boolean; isActive: boolean;
gender: boolean; gender: boolean;
wallet: number; avatarUrl: string | null;
points: number; }
export interface HistoryOrderRestaurantScore {
scoreAmount: string;
scoreCredit: string;
birthdayScore: string;
purchaseScore: string;
referrerScore: string;
registerScore: string;
purchaseAmount: string;
marriageDateScore: string;
} }
export interface HistoryOrderRestaurant { export interface HistoryOrderRestaurant {
@@ -30,10 +40,9 @@ export interface HistoryOrderRestaurant {
menuColor: string | null; menuColor: string | null;
latitude: number | null; latitude: number | null;
longitude: number | null; longitude: number | null;
serviceArea: ServiceArea; serviceArea: ServiceArea | null;
isActive: boolean; isActive: boolean;
establishedYear: number | null; establishedYear: number | null;
phoneNumber: string | null;
phone: string; phone: string;
instagram: string | null; instagram: string | null;
telegram: string | null; telegram: string | null;
@@ -45,6 +54,11 @@ export interface HistoryOrderRestaurant {
images: string | null; images: string | null;
vat: number; vat: number;
domain: string; domain: string;
score: HistoryOrderRestaurantScore;
plan: string;
subscriptionId: string;
subscriptionEndDate: string;
subscriptionStartDate: string;
} }
export interface HistoryOrderDeliveryMethod { export interface HistoryOrderDeliveryMethod {
@@ -52,16 +66,29 @@ export interface HistoryOrderDeliveryMethod {
createdAt: string; createdAt: string;
updatedAt: string; updatedAt: string;
deletedAt: string | null; deletedAt: string | null;
title: string;
method: "dineIn" | "pickup" | "deliveryCar" | "deliveryCourier"; method: "dineIn" | "pickup" | "deliveryCar" | "deliveryCourier";
restaurant: string; restaurant: string;
deliveryFee: number; deliveryFee: number;
deliveryFeeType: string;
perKilometerFee: number | null;
distanceBasedMinCost: number | null;
minOrderPrice: number; minOrderPrice: number;
description: string; description: string;
enabled: boolean; enabled: boolean;
order: number; order: number;
} }
export interface HistoryOrderUserAddress {
city: string;
phone: string;
address: string;
fullName: string;
latitude: number;
province: string;
longitude: number;
postalCode: string;
}
export interface HistoryOrderAddress { export interface HistoryOrderAddress {
id: string; id: string;
createdAt: string; createdAt: string;
@@ -85,7 +112,6 @@ export interface HistoryOrderPaymentMethod {
updatedAt: string; updatedAt: string;
deletedAt: string | null; deletedAt: string | null;
restaurant: string; restaurant: string;
title: string;
method: "CardOnDelivery" | "Cash" | "Online"; method: "CardOnDelivery" | "Cash" | "Online";
gateway: string | null; gateway: string | null;
description: string; description: string;
@@ -105,23 +131,17 @@ export interface HistoryOrderFood {
desc: string | null; desc: string | null;
content: string | null; content: string | null;
price: number; price: number;
points: number | null;
order: number | null; order: number | null;
prepareTime: number | null; prepareTime: number | null;
sat: boolean; weekDays: number[];
sun: boolean; mealTypes: ("breakfast" | "lunch" | "dinner" | "snack")[];
mon: boolean;
breakfast: boolean;
noon: boolean;
dinner: boolean;
stock: number;
stockDefault: number;
isActive: boolean; isActive: boolean;
images: string[] | null; images: string[] | null;
inPlaceServe: boolean; inPlaceServe: boolean;
pickupServe: boolean; pickupServe: boolean;
rate: number; score: number;
discount: number; discount: number;
isSpecialOffer: boolean;
} }
export interface HistoryOrderItem { export interface HistoryOrderItem {
@@ -137,6 +157,11 @@ export interface HistoryOrderItem {
totalPrice: number; totalPrice: number;
} }
export interface HistoryOrderHistoryItem {
status: string;
changedAt: string;
}
export interface HistoryOrder { export interface HistoryOrder {
id: string; id: string;
createdAt: string; createdAt: string;
@@ -145,21 +170,39 @@ export interface HistoryOrder {
user: HistoryOrderUser; user: HistoryOrderUser;
restaurant: HistoryOrderRestaurant; restaurant: HistoryOrderRestaurant;
deliveryMethod: HistoryOrderDeliveryMethod; deliveryMethod: HistoryOrderDeliveryMethod;
address: HistoryOrderAddress | null; userAddress: HistoryOrderUserAddress | null;
carAddress: HistoryOrderUserAddress | null;
paymentMethod: HistoryOrderPaymentMethod; paymentMethod: HistoryOrderPaymentMethod;
orderNumber: number; orderNumber: number;
couponDiscount: number; couponDiscount: number;
couponDetail: unknown | null;
itemsDiscount: number; itemsDiscount: number;
totalDiscount: number; totalDiscount: number;
subTotal: number; subTotal: number;
tax: number; tax: number;
shipmentFee: number; deliveryFee: number;
total: number; total: number;
totalItems: number; totalItems: number;
description: string;
tableNumber: string | null;
status: string; status: string;
paymentStatus: string; history: HistoryOrderHistoryItem[];
items: HistoryOrderItem[]; items: HistoryOrderItem[];
} }
export type OrdersResponse = BaseResponse<HistoryOrder[]>; export interface OrdersResponseMeta {
total: number;
page: number;
limit: number;
totalPages: number;
}
export interface OrdersResponseData {
data: HistoryOrder[];
meta: OrdersResponseMeta;
}
export type OrdersResponse = BaseResponse<HistoryOrder[]> & {
meta?: OrdersResponseMeta;
};