Skip to content

Commit 857eaf8

Browse files
committed
fix: Shop API Schema 수정
1 parent 97be60a commit 857eaf8

File tree

1 file changed

+50
-18
lines changed

1 file changed

+50
-18
lines changed

package/pyconkr-shop/schemas/index.ts

Lines changed: 50 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -73,18 +73,25 @@ namespace ShopAPISchema {
7373
name: string;
7474
additional_price: number;
7575
max_quantity_per_user: number;
76-
leftover_stock: number;
76+
leftover_stock: number | null;
7777
};
7878

7979
export type OptionGroup = {
8080
id: string;
8181
name: string;
82+
8283
min_quantity_per_product: number;
8384
max_quantity_per_product: number;
84-
is_custom_response: boolean;
85-
custom_response_pattern: string | null;
8685
options: Option[];
87-
};
86+
} & (
87+
{
88+
is_custom_response: false;
89+
custom_response_pattern: null;
90+
} | {
91+
is_custom_response: true;
92+
custom_response_pattern: string;
93+
}
94+
);
8895

8996
export type ProductListQueryParams = {
9097
category_group?: string;
@@ -124,28 +131,43 @@ namespace ShopAPISchema {
124131

125132
export type OrderProductItem = {
126133
id: string;
127-
status: PaymentHistoryStatus;
134+
status: OrderProductItemStatus;
128135
price: number;
129136
additional_price: number;
137+
not_refundable_reason: string | null;
130138
product: {
131139
id: string;
132140
name: string;
133141
price: number;
134142
image: string | null;
135143
};
136-
options: {
137-
product_option_group: {
138-
id: string;
139-
name: string;
140-
is_custom_response: boolean;
141-
};
142-
product_option: {
143-
id: string;
144-
name: string;
145-
additional_price: number;
146-
} | null;
147-
custom_response: string | null;
148-
}[];
144+
options: (
145+
{
146+
product_option_group: {
147+
id: string;
148+
name: string;
149+
is_custom_response: false;
150+
custom_response_pattern: null;
151+
response_modifiable_ends_at: string | null;
152+
}
153+
product_option: {
154+
id: string;
155+
name: string;
156+
additional_price: number;
157+
};
158+
custom_response: null;
159+
} | {
160+
product_option_group: {
161+
id: string;
162+
name: string;
163+
is_custom_response: true;
164+
custom_response_pattern: string;
165+
response_modifiable_ends_at: string | null;
166+
}
167+
product_option: null;
168+
custom_response: string;
169+
}
170+
)[];
149171
};
150172

151173
export type Order = {
@@ -154,6 +176,7 @@ namespace ShopAPISchema {
154176
first_paid_price: number;
155177
current_paid_price: number;
156178
current_status: PaymentHistoryStatus;
179+
not_fully_refundable_reason: string | null;
157180
created_at: string;
158181

159182
payment_histories: PaymentHistory[];
@@ -175,6 +198,15 @@ namespace ShopAPISchema {
175198
order_id: string;
176199
order_product_relation_id: string;
177200
};
201+
202+
export type OrderOptionsPatchRequest = {
203+
order_id: string
204+
order_product_relation_id: string;
205+
options: {
206+
order_product_option_relation: string
207+
custom_response: string
208+
}[]
209+
};
178210
}
179211

180212
export const isObjectErrorResponseSchema = (

0 commit comments

Comments
 (0)