@sayren/store-sdk 0.19.0 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +2010 -1314
- package/dist/index.mjs +1283 -1028
- package/package.json +1 -1
- package/src/client.ts +165 -93
- package/src/index.ts +1 -2
- package/src/schemas/claim.ts +1 -1
- package/src/schemas/fulfillment.ts +26 -275
- package/src/schemas/misc.ts +1 -1
- package/src/schemas/order.ts +25 -61
- package/src/schemas/product.ts +234 -7
- package/src/schemas/promotion.ts +3 -1
- package/src/schemas/saved-option-set.ts +168 -0
- package/src/schemas/store.ts +2 -30
- package/src/schemas/storefront-hosting.ts +576 -3
- package/src/schemas/upload.ts +2 -48
- package/src/schemas/webhook-event.ts +28 -14
- package/src/schemas/digital-asset.ts +0 -65
- package/src/schemas/fulfillment-code.ts +0 -143
package/dist/index.d.mts
CHANGED
|
@@ -165,8 +165,8 @@ export declare const auditLogPageSchema: z.ZodObject<{
|
|
|
165
165
|
}, z.core.$strip>;
|
|
166
166
|
export type AuditLogPage = z.infer<typeof auditLogPageSchema>;
|
|
167
167
|
export declare const agentPolicyDecisionSchema: z.ZodEnum<{
|
|
168
|
-
DENIED: "DENIED";
|
|
169
168
|
APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
|
|
169
|
+
DENIED: "DENIED";
|
|
170
170
|
ALLOW: "ALLOW";
|
|
171
171
|
}>;
|
|
172
172
|
export type AgentPolicyDecision = z.infer<typeof agentPolicyDecisionSchema>;
|
|
@@ -190,8 +190,8 @@ export type WritePreview = z.infer<typeof writePreviewSchema>;
|
|
|
190
190
|
export declare const writeDryRunResultSchema: z.ZodObject<{
|
|
191
191
|
dryRun: z.ZodLiteral<true>;
|
|
192
192
|
decision: z.ZodEnum<{
|
|
193
|
-
DENIED: "DENIED";
|
|
194
193
|
APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
|
|
194
|
+
DENIED: "DENIED";
|
|
195
195
|
ALLOW: "ALLOW";
|
|
196
196
|
}>;
|
|
197
197
|
reason: z.ZodNullable<z.ZodString>;
|
|
@@ -213,25 +213,25 @@ export declare const writeDryRunResultSchema: z.ZodObject<{
|
|
|
213
213
|
}, z.core.$strip>;
|
|
214
214
|
export type WriteDryRunResult = z.infer<typeof writeDryRunResultSchema>;
|
|
215
215
|
export declare const approvalStatusSchema: z.ZodEnum<{
|
|
216
|
-
EXPIRED: "EXPIRED";
|
|
217
216
|
PENDING: "PENDING";
|
|
218
217
|
FAILED: "FAILED";
|
|
219
218
|
SUCCEEDED: "SUCCEEDED";
|
|
220
219
|
EXECUTING: "EXECUTING";
|
|
221
220
|
UNKNOWN: "UNKNOWN";
|
|
222
221
|
REJECTED: "REJECTED";
|
|
222
|
+
EXPIRED: "EXPIRED";
|
|
223
223
|
}>;
|
|
224
224
|
export type ApprovalStatus = z.infer<typeof approvalStatusSchema>;
|
|
225
225
|
export declare const approvalRequestSchema: z.ZodObject<{
|
|
226
226
|
approvalId: z.ZodString;
|
|
227
227
|
status: z.ZodEnum<{
|
|
228
|
-
EXPIRED: "EXPIRED";
|
|
229
228
|
PENDING: "PENDING";
|
|
230
229
|
FAILED: "FAILED";
|
|
231
230
|
SUCCEEDED: "SUCCEEDED";
|
|
232
231
|
EXECUTING: "EXECUTING";
|
|
233
232
|
UNKNOWN: "UNKNOWN";
|
|
234
233
|
REJECTED: "REJECTED";
|
|
234
|
+
EXPIRED: "EXPIRED";
|
|
235
235
|
}>;
|
|
236
236
|
operationId: z.ZodString;
|
|
237
237
|
method: z.ZodString;
|
|
@@ -287,13 +287,13 @@ export declare const approvalRequestSchema: z.ZodObject<{
|
|
|
287
287
|
export type ApprovalRequest = z.infer<typeof approvalRequestSchema>;
|
|
288
288
|
export declare const approvalListQuerySchema: z.ZodObject<{
|
|
289
289
|
status: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>, z.ZodTransform<string[], string | string[]>>, z.ZodArray<z.ZodEnum<{
|
|
290
|
-
EXPIRED: "EXPIRED";
|
|
291
290
|
PENDING: "PENDING";
|
|
292
291
|
FAILED: "FAILED";
|
|
293
292
|
SUCCEEDED: "SUCCEEDED";
|
|
294
293
|
EXECUTING: "EXECUTING";
|
|
295
294
|
UNKNOWN: "UNKNOWN";
|
|
296
295
|
REJECTED: "REJECTED";
|
|
296
|
+
EXPIRED: "EXPIRED";
|
|
297
297
|
}>>>>;
|
|
298
298
|
cursor: z.ZodOptional<z.ZodString>;
|
|
299
299
|
limit: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
|
|
@@ -306,13 +306,13 @@ export declare const approvalPageSchema: z.ZodObject<{
|
|
|
306
306
|
items: z.ZodArray<z.ZodObject<{
|
|
307
307
|
approvalId: z.ZodString;
|
|
308
308
|
status: z.ZodEnum<{
|
|
309
|
-
EXPIRED: "EXPIRED";
|
|
310
309
|
PENDING: "PENDING";
|
|
311
310
|
FAILED: "FAILED";
|
|
312
311
|
SUCCEEDED: "SUCCEEDED";
|
|
313
312
|
EXECUTING: "EXECUTING";
|
|
314
313
|
UNKNOWN: "UNKNOWN";
|
|
315
314
|
REJECTED: "REJECTED";
|
|
315
|
+
EXPIRED: "EXPIRED";
|
|
316
316
|
}>;
|
|
317
317
|
operationId: z.ZodString;
|
|
318
318
|
method: z.ZodString;
|
|
@@ -1171,11 +1171,11 @@ export type ApiTokenCreateRequest = z.infer<typeof apiTokenCreateRequestSchema>;
|
|
|
1171
1171
|
//#endregion
|
|
1172
1172
|
//#region src/schemas/category.d.ts
|
|
1173
1173
|
export declare const categoryProductSortSchema: z.ZodEnum<{
|
|
1174
|
+
NAME: "NAME";
|
|
1174
1175
|
RECENT: "RECENT";
|
|
1175
1176
|
POPULAR: "POPULAR";
|
|
1176
1177
|
PRICE_LOW: "PRICE_LOW";
|
|
1177
1178
|
PRICE_HIGH: "PRICE_HIGH";
|
|
1178
|
-
NAME: "NAME";
|
|
1179
1179
|
}>;
|
|
1180
1180
|
export type CategoryProductSort = z.infer<typeof categoryProductSortSchema>;
|
|
1181
1181
|
export declare const categorySchema: z.ZodObject<{
|
|
@@ -1191,11 +1191,11 @@ export declare const categorySchema: z.ZodObject<{
|
|
|
1191
1191
|
showPc: z.ZodBoolean;
|
|
1192
1192
|
showMobile: z.ZodBoolean;
|
|
1193
1193
|
productSort: z.ZodEnum<{
|
|
1194
|
+
NAME: "NAME";
|
|
1194
1195
|
RECENT: "RECENT";
|
|
1195
1196
|
POPULAR: "POPULAR";
|
|
1196
1197
|
PRICE_LOW: "PRICE_LOW";
|
|
1197
1198
|
PRICE_HIGH: "PRICE_HIGH";
|
|
1198
|
-
NAME: "NAME";
|
|
1199
1199
|
}>;
|
|
1200
1200
|
metaTitle: z.ZodNullable<z.ZodString>;
|
|
1201
1201
|
metaDescription: z.ZodNullable<z.ZodString>;
|
|
@@ -1221,11 +1221,11 @@ export declare const categoryWithPathSchema: z.ZodObject<{
|
|
|
1221
1221
|
showPc: z.ZodBoolean;
|
|
1222
1222
|
showMobile: z.ZodBoolean;
|
|
1223
1223
|
productSort: z.ZodEnum<{
|
|
1224
|
+
NAME: "NAME";
|
|
1224
1225
|
RECENT: "RECENT";
|
|
1225
1226
|
POPULAR: "POPULAR";
|
|
1226
1227
|
PRICE_LOW: "PRICE_LOW";
|
|
1227
1228
|
PRICE_HIGH: "PRICE_HIGH";
|
|
1228
|
-
NAME: "NAME";
|
|
1229
1229
|
}>;
|
|
1230
1230
|
metaTitle: z.ZodNullable<z.ZodString>;
|
|
1231
1231
|
metaDescription: z.ZodNullable<z.ZodString>;
|
|
@@ -1246,11 +1246,11 @@ export declare const categoryWithPathSchema: z.ZodObject<{
|
|
|
1246
1246
|
showPc: z.ZodBoolean;
|
|
1247
1247
|
showMobile: z.ZodBoolean;
|
|
1248
1248
|
productSort: z.ZodEnum<{
|
|
1249
|
+
NAME: "NAME";
|
|
1249
1250
|
RECENT: "RECENT";
|
|
1250
1251
|
POPULAR: "POPULAR";
|
|
1251
1252
|
PRICE_LOW: "PRICE_LOW";
|
|
1252
1253
|
PRICE_HIGH: "PRICE_HIGH";
|
|
1253
|
-
NAME: "NAME";
|
|
1254
1254
|
}>;
|
|
1255
1255
|
metaTitle: z.ZodNullable<z.ZodString>;
|
|
1256
1256
|
metaDescription: z.ZodNullable<z.ZodString>;
|
|
@@ -1274,11 +1274,11 @@ export declare const categorySearchResultSchema: z.ZodObject<{
|
|
|
1274
1274
|
showPc: z.ZodBoolean;
|
|
1275
1275
|
showMobile: z.ZodBoolean;
|
|
1276
1276
|
productSort: z.ZodEnum<{
|
|
1277
|
+
NAME: "NAME";
|
|
1277
1278
|
RECENT: "RECENT";
|
|
1278
1279
|
POPULAR: "POPULAR";
|
|
1279
1280
|
PRICE_LOW: "PRICE_LOW";
|
|
1280
1281
|
PRICE_HIGH: "PRICE_HIGH";
|
|
1281
|
-
NAME: "NAME";
|
|
1282
1282
|
}>;
|
|
1283
1283
|
metaTitle: z.ZodNullable<z.ZodString>;
|
|
1284
1284
|
metaDescription: z.ZodNullable<z.ZodString>;
|
|
@@ -1299,11 +1299,11 @@ export declare const categorySearchResultSchema: z.ZodObject<{
|
|
|
1299
1299
|
showPc: z.ZodBoolean;
|
|
1300
1300
|
showMobile: z.ZodBoolean;
|
|
1301
1301
|
productSort: z.ZodEnum<{
|
|
1302
|
+
NAME: "NAME";
|
|
1302
1303
|
RECENT: "RECENT";
|
|
1303
1304
|
POPULAR: "POPULAR";
|
|
1304
1305
|
PRICE_LOW: "PRICE_LOW";
|
|
1305
1306
|
PRICE_HIGH: "PRICE_HIGH";
|
|
1306
|
-
NAME: "NAME";
|
|
1307
1307
|
}>;
|
|
1308
1308
|
metaTitle: z.ZodNullable<z.ZodString>;
|
|
1309
1309
|
metaDescription: z.ZodNullable<z.ZodString>;
|
|
@@ -1335,11 +1335,11 @@ export declare const categoryCreateRequestSchema: z.ZodObject<{
|
|
|
1335
1335
|
showPc: z.ZodOptional<z.ZodBoolean>;
|
|
1336
1336
|
showMobile: z.ZodOptional<z.ZodBoolean>;
|
|
1337
1337
|
productSort: z.ZodOptional<z.ZodEnum<{
|
|
1338
|
+
NAME: "NAME";
|
|
1338
1339
|
RECENT: "RECENT";
|
|
1339
1340
|
POPULAR: "POPULAR";
|
|
1340
1341
|
PRICE_LOW: "PRICE_LOW";
|
|
1341
1342
|
PRICE_HIGH: "PRICE_HIGH";
|
|
1342
|
-
NAME: "NAME";
|
|
1343
1343
|
}>>;
|
|
1344
1344
|
metaTitle: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1345
1345
|
metaDescription: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -1354,11 +1354,11 @@ export declare const categoryPatchRequestSchema: z.ZodObject<{
|
|
|
1354
1354
|
showPc: z.ZodOptional<z.ZodBoolean>;
|
|
1355
1355
|
showMobile: z.ZodOptional<z.ZodBoolean>;
|
|
1356
1356
|
productSort: z.ZodOptional<z.ZodEnum<{
|
|
1357
|
+
NAME: "NAME";
|
|
1357
1358
|
RECENT: "RECENT";
|
|
1358
1359
|
POPULAR: "POPULAR";
|
|
1359
1360
|
PRICE_LOW: "PRICE_LOW";
|
|
1360
1361
|
PRICE_HIGH: "PRICE_HIGH";
|
|
1361
|
-
NAME: "NAME";
|
|
1362
1362
|
}>>;
|
|
1363
1363
|
metaTitle: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1364
1364
|
metaDescription: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -1725,8 +1725,8 @@ export declare const couponStatusSchema: z.ZodEnum<{
|
|
|
1725
1725
|
export type CouponStatus = z.infer<typeof couponStatusSchema>;
|
|
1726
1726
|
/** 지금 만들 수 있는 발급 방식 — 다운로드·가입 자동 지급은 뒤 단계다 */
|
|
1727
1727
|
export declare const couponIssueMethodSchema: z.ZodEnum<{
|
|
1728
|
-
CODE: "CODE";
|
|
1729
1728
|
MANUAL: "MANUAL";
|
|
1729
|
+
CODE: "CODE";
|
|
1730
1730
|
}>;
|
|
1731
1731
|
export type CouponIssueMethod = z.infer<typeof couponIssueMethodSchema>;
|
|
1732
1732
|
/** 코드 형식 — 영문·숫자·`-`·`_` 6~30자. 대소문자를 구분하지 않고 서버가 대문자로 저장한다 */
|
|
@@ -1777,8 +1777,8 @@ export declare const createCouponRequestSchema: z.ZodObject<{
|
|
|
1777
1777
|
excludeCategoryIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1778
1778
|
}, z.core.$strict>>;
|
|
1779
1779
|
issueMethod: z.ZodEnum<{
|
|
1780
|
-
CODE: "CODE";
|
|
1781
1780
|
MANUAL: "MANUAL";
|
|
1781
|
+
CODE: "CODE";
|
|
1782
1782
|
}>;
|
|
1783
1783
|
code: z.ZodOptional<z.ZodString>;
|
|
1784
1784
|
startsAt: z.ZodOptional<z.ZodNullable<z.ZodISODateTime>>;
|
|
@@ -1895,8 +1895,8 @@ export declare const couponListQuerySchema: z.ZodObject<{
|
|
|
1895
1895
|
DELIVERY: "DELIVERY";
|
|
1896
1896
|
}>>;
|
|
1897
1897
|
issueMethod: z.ZodOptional<z.ZodEnum<{
|
|
1898
|
-
CODE: "CODE";
|
|
1899
1898
|
MANUAL: "MANUAL";
|
|
1899
|
+
CODE: "CODE";
|
|
1900
1900
|
}>>;
|
|
1901
1901
|
q: z.ZodOptional<z.ZodString>;
|
|
1902
1902
|
}, z.core.$strip>;
|
|
@@ -2314,180 +2314,6 @@ export declare const customerWithdrawalBlockedDetailsSchema: z.ZodObject<{
|
|
|
2314
2314
|
}, z.core.$strip>;
|
|
2315
2315
|
export type CustomerWithdrawalBlockedDetails = z.infer<typeof customerWithdrawalBlockedDetailsSchema>;
|
|
2316
2316
|
//#endregion
|
|
2317
|
-
//#region src/schemas/digital-asset.d.ts
|
|
2318
|
-
/**
|
|
2319
|
-
* 파일 다운로드 상품의 판매 파일 (이슈 #48 단계 3).
|
|
2320
|
-
*
|
|
2321
|
-
* 파일은 CDN **비공개 객체**다. `POST /v1/uploads`(`purpose: "digital-asset"`)로 자리를 받아 응답의 `headers`와 함께 PUT하고,
|
|
2322
|
-
* 응답의 `key`로 상품에 연결한다. 객체 키와 파일 주소는 어떤 응답에도 싣지 않는다 — 구매자는 제공된 주문상품에서
|
|
2323
|
-
* 수명 300초의 서명 주소로만 받는다. 주문은 주문 시점 파일을 스냅샷하므로 파일을 바꿔도 이미 산 구매자는 옛 파일을 받는다.
|
|
2324
|
-
*/
|
|
2325
|
-
export declare const digitalAssetAttachRequestSchema: z.ZodObject<{
|
|
2326
|
-
key: z.ZodString;
|
|
2327
|
-
fileName: z.ZodString;
|
|
2328
|
-
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
2329
|
-
contentType: z.ZodOptional<z.ZodString>;
|
|
2330
|
-
variantId: z.ZodOptional<z.ZodString>;
|
|
2331
|
-
}, z.core.$strip>;
|
|
2332
|
-
export type DigitalAssetAttachRequest = z.infer<typeof digitalAssetAttachRequestSchema>;
|
|
2333
|
-
/** 판매 파일 — 객체 키·주소는 싣지 않는다 */
|
|
2334
|
-
export declare const digitalAssetSchema: z.ZodObject<{
|
|
2335
|
-
assetId: z.ZodString;
|
|
2336
|
-
productId: z.ZodString;
|
|
2337
|
-
variantId: z.ZodNullable<z.ZodString>;
|
|
2338
|
-
fileName: z.ZodString;
|
|
2339
|
-
contentType: z.ZodNullable<z.ZodString>;
|
|
2340
|
-
sizeBytes: z.ZodNullable<z.ZodNumber>;
|
|
2341
|
-
status: z.ZodString;
|
|
2342
|
-
createdAt: z.ZodString;
|
|
2343
|
-
}, z.core.$strip>;
|
|
2344
|
-
export type DigitalAsset = z.infer<typeof digitalAssetSchema>;
|
|
2345
|
-
/** 셀러 확인용 서명 주소 — `POST /v1/products/{productId}/digital-assets/{assetId}/preview-url` */
|
|
2346
|
-
export declare const digitalAssetPreviewSchema: z.ZodObject<{
|
|
2347
|
-
url: z.ZodURL;
|
|
2348
|
-
expiresAt: z.ZodString;
|
|
2349
|
-
}, z.core.$strip>;
|
|
2350
|
-
export type DigitalAssetPreview = z.infer<typeof digitalAssetPreviewSchema>;
|
|
2351
|
-
/** 주문상품의 다운로드 제공 정보 — 주문 응답의 `fulfillment.download` */
|
|
2352
|
-
export declare const orderItemDownloadSchema: z.ZodObject<{
|
|
2353
|
-
count: z.ZodNumber;
|
|
2354
|
-
limit: z.ZodNumber;
|
|
2355
|
-
expiresAt: z.ZodNullable<z.ZodString>;
|
|
2356
|
-
firstDownloadedAt: z.ZodNullable<z.ZodString>;
|
|
2357
|
-
files: z.ZodArray<z.ZodObject<{
|
|
2358
|
-
assetId: z.ZodString;
|
|
2359
|
-
fileName: z.ZodString;
|
|
2360
|
-
sizeBytes: z.ZodNullable<z.ZodNumber>;
|
|
2361
|
-
}, z.core.$strip>>;
|
|
2362
|
-
}, z.core.$strip>;
|
|
2363
|
-
export type OrderItemDownload = z.infer<typeof orderItemDownloadSchema>;
|
|
2364
|
-
//#endregion
|
|
2365
|
-
//#region src/schemas/fulfillment-code.d.ts
|
|
2366
|
-
/**
|
|
2367
|
-
* 코드 발급 상품의 코드 풀 (이슈 #48 단계 2) — 라이선스 키·기프트 코드처럼 결제 확정과 함께 한 개씩 배정하는 코드다.
|
|
2368
|
-
*
|
|
2369
|
-
* **평문 코드는 두 경로로만 나간다** — 구매자 열람(`POST /storefront/v1/me/order-items/{id}/fulfillment/reveal`)과 셀러 콘솔
|
|
2370
|
-
* 열람(`POST /v1/fulfillment-codes/{codeId}/reveal`, 콘솔 전용). 목록·주문·웹훅·API 로그에는 가린 값(`hint`)만 싣는다.
|
|
2371
|
-
* 코드는 결제 자격 증명과 같은 키링·AES-256-GCM으로 암호화해 저장한다.
|
|
2372
|
-
*/
|
|
2373
|
-
/**
|
|
2374
|
-
* 코드 상태.
|
|
2375
|
-
* - `AVAILABLE` 판매 가능 — 재고로 센다
|
|
2376
|
-
* - `ASSIGNED` 주문상품에 배정됨
|
|
2377
|
-
* - `REVOKED` 환불로 회수됨(구매자 화면에서 숨긴다. 코드 자체의 무효화는 셀러 시스템 몫이다)
|
|
2378
|
-
* - `EXPIRED` 유효기간이 지나 배정하지 않음
|
|
2379
|
-
* - `VOID` 셀러가 폐기함
|
|
2380
|
-
*/
|
|
2381
|
-
export declare const fulfillmentCodeStatusSchema: z.ZodEnum<{
|
|
2382
|
-
REVOKED: "REVOKED";
|
|
2383
|
-
AVAILABLE: "AVAILABLE";
|
|
2384
|
-
ASSIGNED: "ASSIGNED";
|
|
2385
|
-
EXPIRED: "EXPIRED";
|
|
2386
|
-
VOID: "VOID";
|
|
2387
|
-
}>;
|
|
2388
|
-
export type FulfillmentCodeStatus = z.infer<typeof fulfillmentCodeStatusSchema>;
|
|
2389
|
-
/** 한 번에 올릴 수 있는 코드 수 */
|
|
2390
|
-
export declare const MAX_CODES_PER_UPLOAD = 10000;
|
|
2391
|
-
/** 코드 한 개의 최대 길이 */
|
|
2392
|
-
export declare const MAX_CODE_LENGTH = 200;
|
|
2393
|
-
/**
|
|
2394
|
-
* 코드 일괄 업로드 요청 — `POST /v1/products/{productId}/codes`. `codes`(배열)와 `csv`(본문) 중 하나를 보낸다.
|
|
2395
|
-
* 앞뒤 공백은 지우고 빈 줄은 건너뛴다. 같은 상품에 이미 있는 코드와 요청 안의 중복은 받지 않는다(`duplicates`).
|
|
2396
|
-
*/
|
|
2397
|
-
export declare const fulfillmentCodeUploadRequestSchema: z.ZodObject<{
|
|
2398
|
-
variantId: z.ZodOptional<z.ZodString>;
|
|
2399
|
-
codes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
2400
|
-
csv: z.ZodOptional<z.ZodString>;
|
|
2401
|
-
expiresAt: z.ZodOptional<z.ZodISODateTime>;
|
|
2402
|
-
}, z.core.$strip>;
|
|
2403
|
-
export type FulfillmentCodeUploadRequest = z.infer<typeof fulfillmentCodeUploadRequestSchema>;
|
|
2404
|
-
/** 받지 않은 줄 */
|
|
2405
|
-
export declare const fulfillmentCodeRejectionSchema: z.ZodObject<{
|
|
2406
|
-
line: z.ZodNumber;
|
|
2407
|
-
reason: z.ZodString;
|
|
2408
|
-
}, z.core.$strip>;
|
|
2409
|
-
/** 업로드 결과 — 배치 요약 */
|
|
2410
|
-
export declare const fulfillmentCodeBatchSchema: z.ZodObject<{
|
|
2411
|
-
batchId: z.ZodString;
|
|
2412
|
-
productId: z.ZodString;
|
|
2413
|
-
variantId: z.ZodString;
|
|
2414
|
-
total: z.ZodNumber;
|
|
2415
|
-
accepted: z.ZodNumber;
|
|
2416
|
-
duplicates: z.ZodNumber;
|
|
2417
|
-
rejected: z.ZodArray<z.ZodObject<{
|
|
2418
|
-
line: z.ZodNumber;
|
|
2419
|
-
reason: z.ZodString;
|
|
2420
|
-
}, z.core.$strip>>;
|
|
2421
|
-
expiresAt: z.ZodNullable<z.ZodString>;
|
|
2422
|
-
createdAt: z.ZodString;
|
|
2423
|
-
}, z.core.$strip>;
|
|
2424
|
-
export type FulfillmentCodeBatch = z.infer<typeof fulfillmentCodeBatchSchema>;
|
|
2425
|
-
/** 코드 목록의 한 줄 — **가린 값만** 싣는다 */
|
|
2426
|
-
export declare const fulfillmentCodeSchema: z.ZodObject<{
|
|
2427
|
-
codeId: z.ZodString;
|
|
2428
|
-
productId: z.ZodString;
|
|
2429
|
-
variantId: z.ZodString;
|
|
2430
|
-
batchId: z.ZodNullable<z.ZodString>;
|
|
2431
|
-
hint: z.ZodString;
|
|
2432
|
-
status: z.ZodString;
|
|
2433
|
-
orderItemId: z.ZodNullable<z.ZodString>;
|
|
2434
|
-
assignedAt: z.ZodNullable<z.ZodString>;
|
|
2435
|
-
revealedAt: z.ZodNullable<z.ZodString>;
|
|
2436
|
-
expiresAt: z.ZodNullable<z.ZodString>;
|
|
2437
|
-
createdAt: z.ZodString;
|
|
2438
|
-
}, z.core.$strip>;
|
|
2439
|
-
export type FulfillmentCode = z.infer<typeof fulfillmentCodeSchema>;
|
|
2440
|
-
export declare const fulfillmentCodePageSchema: z.ZodObject<{
|
|
2441
|
-
page: z.ZodNumber;
|
|
2442
|
-
size: z.ZodNumber;
|
|
2443
|
-
totalElements: z.ZodNumber;
|
|
2444
|
-
totalPages: z.ZodNumber;
|
|
2445
|
-
contents: z.ZodArray<z.ZodObject<{
|
|
2446
|
-
codeId: z.ZodString;
|
|
2447
|
-
productId: z.ZodString;
|
|
2448
|
-
variantId: z.ZodString;
|
|
2449
|
-
batchId: z.ZodNullable<z.ZodString>;
|
|
2450
|
-
hint: z.ZodString;
|
|
2451
|
-
status: z.ZodString;
|
|
2452
|
-
orderItemId: z.ZodNullable<z.ZodString>;
|
|
2453
|
-
assignedAt: z.ZodNullable<z.ZodString>;
|
|
2454
|
-
revealedAt: z.ZodNullable<z.ZodString>;
|
|
2455
|
-
expiresAt: z.ZodNullable<z.ZodString>;
|
|
2456
|
-
createdAt: z.ZodString;
|
|
2457
|
-
}, z.core.$strip>>;
|
|
2458
|
-
available: z.ZodNumber;
|
|
2459
|
-
}, z.core.$strip>;
|
|
2460
|
-
export type FulfillmentCodePage = z.infer<typeof fulfillmentCodePageSchema>;
|
|
2461
|
-
/** `GET /v1/products/{productId}/codes` 쿼리 */
|
|
2462
|
-
export declare const fulfillmentCodeListQuerySchema: z.ZodObject<{
|
|
2463
|
-
page: z.ZodOptional<z.ZodString>;
|
|
2464
|
-
size: z.ZodOptional<z.ZodString>;
|
|
2465
|
-
status: z.ZodOptional<z.ZodEnum<{
|
|
2466
|
-
REVOKED: "REVOKED";
|
|
2467
|
-
AVAILABLE: "AVAILABLE";
|
|
2468
|
-
ASSIGNED: "ASSIGNED";
|
|
2469
|
-
EXPIRED: "EXPIRED";
|
|
2470
|
-
VOID: "VOID";
|
|
2471
|
-
}>>;
|
|
2472
|
-
variantId: z.ZodOptional<z.ZodString>;
|
|
2473
|
-
batchId: z.ZodOptional<z.ZodString>;
|
|
2474
|
-
orderItemId: z.ZodOptional<z.ZodString>;
|
|
2475
|
-
}, z.core.$strip>;
|
|
2476
|
-
/** 셀러 콘솔 코드 열람 응답 — `POST /v1/fulfillment-codes/{codeId}/reveal` */
|
|
2477
|
-
export declare const fulfillmentCodeRevealSchema: z.ZodObject<{
|
|
2478
|
-
codeId: z.ZodString;
|
|
2479
|
-
code: z.ZodString;
|
|
2480
|
-
}, z.core.$strip>;
|
|
2481
|
-
export type FulfillmentCodeReveal = z.infer<typeof fulfillmentCodeRevealSchema>;
|
|
2482
|
-
/** 주문상품에 배정된 코드의 가린 값 — 주문 응답의 `fulfillment.codes` */
|
|
2483
|
-
export declare const orderItemCodeSchema: z.ZodObject<{
|
|
2484
|
-
codeId: z.ZodString;
|
|
2485
|
-
hint: z.ZodString;
|
|
2486
|
-
status: z.ZodString;
|
|
2487
|
-
revealedAt: z.ZodNullable<z.ZodString>;
|
|
2488
|
-
}, z.core.$strip>;
|
|
2489
|
-
export type OrderItemCode = z.infer<typeof orderItemCodeSchema>;
|
|
2490
|
-
//#endregion
|
|
2491
2317
|
//#region src/schemas/login.d.ts
|
|
2492
2318
|
/** 소셜 로그인 공급자 */
|
|
2493
2319
|
export declare const loginProviderSchema: z.ZodEnum<{
|
|
@@ -3152,65 +2978,45 @@ export type ReviewReportResult = z.infer<typeof reviewReportResultSchema>;
|
|
|
3152
2978
|
//#endregion
|
|
3153
2979
|
//#region src/schemas/fulfillment.d.ts
|
|
3154
2980
|
/**
|
|
3155
|
-
* 상품
|
|
2981
|
+
* 상품 유형 (이슈 #48·#57) — 배송이 필요한 상품과 필요 없는 상품을 가르는 축이다.
|
|
3156
2982
|
*
|
|
3157
|
-
* **상품 유형은
|
|
2983
|
+
* **상품 유형은 이행 방식 하나로 표현한다.** `fulfillment.type`이 배송 필요 여부, 이행 흐름, 클레임 규칙을 정한다.
|
|
3158
2984
|
* 코드 곳곳에서 유형 이름으로 분기하지 않고 이 파일의 판정 함수(`requiresShipping`·`fulfillmentRuleOf`)를 지난다.
|
|
3159
|
-
* 유형이 늘어나도 판정표 한 곳만 고치면 배송비 계산·결제 시작·클레임·콘솔 버튼이 같이 따라온다.
|
|
3160
2985
|
*
|
|
3161
2986
|
* 주문상품 상태 enum은 바꾸지 않는다. 비실물의 **제공 완료는 `DELIVERED`를 재사용한다** — 새 상태를 더하면 기존 소비자의
|
|
3162
|
-
* 상태 분기(배송완료 뒤 구매확정 대기, 반품 가능 판정)가 새 값을 모른다. 표시는
|
|
2987
|
+
* 상태 분기(배송완료 뒤 구매확정 대기, 반품 가능 판정)가 새 값을 모른다. 표시는 유형으로 가른다.
|
|
3163
2988
|
*/
|
|
3164
2989
|
/**
|
|
3165
2990
|
* 상품 유형.
|
|
3166
|
-
* - `SHIPPING` 배송
|
|
3167
|
-
* - `
|
|
3168
|
-
*
|
|
3169
|
-
* -
|
|
3170
|
-
*
|
|
2991
|
+
* - `SHIPPING` 배송 상품. 택배로 발송하고 송장·배송 추적으로 배송완료가 된다
|
|
2992
|
+
* - `MANUAL` 배송 없는 상품(비실물). 셀러가 제공 처리(`POST /v1/order-items/{orderItemId}/fulfill`)로 제공 완료를 기록한다
|
|
2993
|
+
*
|
|
2994
|
+
* 비실물의 세부 구분(파일 다운로드·코드 발급·이용권·방문 수령)은 2026-09-28에 제품에서 뺐다(이슈 #48 범위 축소).
|
|
2995
|
+
* 이름은 이행 방식이다 — `SHIPPING`이 택배 발송이듯 `MANUAL`은 셀러가 직접 제공한다는 뜻이다.
|
|
3171
2996
|
*/
|
|
3172
2997
|
export declare const fulfillmentTypeSchema: z.ZodEnum<{
|
|
3173
2998
|
SHIPPING: "SHIPPING";
|
|
3174
|
-
DOWNLOAD: "DOWNLOAD";
|
|
3175
|
-
CODE: "CODE";
|
|
3176
|
-
SERVICE: "SERVICE";
|
|
3177
|
-
PICKUP: "PICKUP";
|
|
3178
|
-
}>;
|
|
3179
|
-
export type FulfillmentType = z.infer<typeof fulfillmentTypeSchema>;
|
|
3180
|
-
/** 제공 방식 — `AUTO`는 결제 확정과 함께 제공하고, `MANUAL`은 셀러가 제공 처리한다 */
|
|
3181
|
-
export declare const fulfillmentModeSchema: z.ZodEnum<{
|
|
3182
|
-
AUTO: "AUTO";
|
|
3183
2999
|
MANUAL: "MANUAL";
|
|
3184
3000
|
}>;
|
|
3185
|
-
export type
|
|
3001
|
+
export type FulfillmentType = z.infer<typeof fulfillmentTypeSchema>;
|
|
3186
3002
|
/**
|
|
3187
3003
|
* 응답 스키마용 유형 — 서버가 나중에 유형을 더해도 옛 SDK가 응답 파싱에서 깨지지 않게 문자열로 받는다.
|
|
3188
3004
|
* 요청은 `fulfillmentTypeSchema`(닫힌 enum)로 검증한다.
|
|
3189
3005
|
*/
|
|
3190
3006
|
export declare const fulfillmentTypeResponseSchema: z.ZodString;
|
|
3191
|
-
/** 유형 하나의 규칙 —
|
|
3007
|
+
/** 유형 하나의 규칙 — 배송·클레임이 이 표를 읽는다 */
|
|
3192
3008
|
export interface FulfillmentRule {
|
|
3193
3009
|
/** 택배 배송이 필요한가 — 배송비·배송지·발송 흐름의 대상인가 */
|
|
3194
3010
|
requiresShipping: boolean;
|
|
3195
|
-
/**
|
|
3196
|
-
modes: readonly FulfillmentMode[];
|
|
3197
|
-
/** 제공 방식을 정하지 않았을 때의 기본값. 배송 상품은 null */
|
|
3198
|
-
defaultMode: FulfillmentMode | null;
|
|
3199
|
-
/** 반품에 수거가 필요한가 — 실물만 수거한다(방문 수령 포함) */
|
|
3011
|
+
/** 반품에 수거가 필요한가 — 실물만 수거한다 */
|
|
3200
3012
|
requiresCollection: boolean;
|
|
3201
3013
|
/** 교환을 받는가 — 실물만 받는다 */
|
|
3202
3014
|
exchangeSupported: boolean;
|
|
3203
3015
|
}
|
|
3204
|
-
/**
|
|
3205
|
-
* 유형별 규칙표 — **유일한 원천이다.**
|
|
3206
|
-
*
|
|
3207
|
-
* `PICKUP`은 실물이라 반품 수거와 교환을 받지만 택배 배송은 없다. `DOWNLOAD`는 결제 즉시 권한을 발급하므로 `AUTO`만,
|
|
3208
|
-
* `PICKUP`은 셀러가 수령 완료를 누르므로 `MANUAL`만 둔다.
|
|
3209
|
-
*/
|
|
3016
|
+
/** 유형별 규칙표 — **유일한 원천이다.** */
|
|
3210
3017
|
export declare const FULFILLMENT_RULES: Readonly<Record<FulfillmentType, FulfillmentRule>>;
|
|
3211
3018
|
/**
|
|
3212
|
-
* 저장된 값 → 유형. null·모르는 값은 `SHIPPING`이다 — 이 필드 이전의
|
|
3213
|
-
* 상품은 모두 배송 상품이었다.
|
|
3019
|
+
* 저장된 값 → 유형. null·모르는 값은 `SHIPPING`이다 — 이 필드 이전의 상품·주문상품은 모두 배송 상품이었다.
|
|
3214
3020
|
*/
|
|
3215
3021
|
export declare function fulfillmentTypeOf(value: string | null | undefined): FulfillmentType;
|
|
3216
3022
|
/** 유형의 규칙 — 모르는 값은 배송 상품 규칙이다 */
|
|
@@ -3219,11 +3025,6 @@ export declare function fulfillmentRuleOf(type: string | null | undefined): Fulf
|
|
|
3219
3025
|
export declare function requiresShipping(type: string | null | undefined): boolean;
|
|
3220
3026
|
/** 반품에 수거가 필요한가 — 비실물 반품은 수거 등록·수거 완료 없이 승인한다 */
|
|
3221
3027
|
export declare function requiresCollection(type: string | null | undefined): boolean;
|
|
3222
|
-
/**
|
|
3223
|
-
* 유효 제공 방식 — 요청 값이 유형에 허용되면 그 값, 생략이면 유형 기본값이다. 배송 상품은 null이다.
|
|
3224
|
-
* 허용되지 않는 값은 `null`을 돌려주지 않고 호출부가 거부하도록 `undefined`를 돌려준다.
|
|
3225
|
-
*/
|
|
3226
|
-
export declare function resolveFulfillmentMode(type: FulfillmentType, mode: FulfillmentMode | null | undefined): FulfillmentMode | null | undefined;
|
|
3227
3028
|
/**
|
|
3228
3029
|
* 배송이 없는 주문상품의 배송 묶음 키 (`order_items.delivery_bundle_key`).
|
|
3229
3030
|
*
|
|
@@ -3239,13 +3040,8 @@ export declare const deliveryTypeSchema: z.ZodEnum<{
|
|
|
3239
3040
|
CONDITIONAL_FREE: "CONDITIONAL_FREE";
|
|
3240
3041
|
}>;
|
|
3241
3042
|
export type DeliveryType = z.infer<typeof deliveryTypeSchema>;
|
|
3242
|
-
/** 파일 다운로드 기본값 — 횟수 5회·기간 30일(#48 결정 8) */
|
|
3243
|
-
export declare const DOWNLOAD_DEFAULTS: {
|
|
3244
|
-
readonly limit: 5;
|
|
3245
|
-
readonly days: 30;
|
|
3246
|
-
};
|
|
3247
3043
|
/**
|
|
3248
|
-
* 상품 이행 — 등록(POST).
|
|
3044
|
+
* 상품 이행 — 등록(POST). 배송 상품의 `shipping`을 생략하면 기본값(유료 배송·스토어 기본 배송비·기본 출고지·반품지)이다.
|
|
3249
3045
|
*/
|
|
3250
3046
|
export declare const productFulfillmentCreateSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3251
3047
|
type: z.ZodLiteral<"SHIPPING">;
|
|
@@ -3261,35 +3057,7 @@ export declare const productFulfillmentCreateSchema: z.ZodDiscriminatedUnion<[z.
|
|
|
3261
3057
|
returnAddressId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
3262
3058
|
}, z.core.$strict>>;
|
|
3263
3059
|
}, z.core.$strict>, z.ZodObject<{
|
|
3264
|
-
type: z.ZodLiteral<"
|
|
3265
|
-
download: z.ZodDefault<z.ZodObject<{
|
|
3266
|
-
limit: z.ZodDefault<z.ZodNumber>;
|
|
3267
|
-
days: z.ZodDefault<z.ZodNumber>;
|
|
3268
|
-
stockTracking: z.ZodDefault<z.ZodBoolean>;
|
|
3269
|
-
withdrawalRestricted: z.ZodDefault<z.ZodBoolean>;
|
|
3270
|
-
}, z.core.$strict>>;
|
|
3271
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
3272
|
-
type: z.ZodLiteral<"CODE">;
|
|
3273
|
-
code: z.ZodDefault<z.ZodObject<{
|
|
3274
|
-
mode: z.ZodDefault<z.ZodEnum<{
|
|
3275
|
-
AUTO: "AUTO";
|
|
3276
|
-
MANUAL: "MANUAL";
|
|
3277
|
-
}>>;
|
|
3278
|
-
withdrawalRestricted: z.ZodDefault<z.ZodBoolean>;
|
|
3279
|
-
}, z.core.$strict>>;
|
|
3280
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
3281
|
-
type: z.ZodLiteral<"SERVICE">;
|
|
3282
|
-
service: z.ZodDefault<z.ZodObject<{
|
|
3283
|
-
mode: z.ZodDefault<z.ZodEnum<{
|
|
3284
|
-
AUTO: "AUTO";
|
|
3285
|
-
MANUAL: "MANUAL";
|
|
3286
|
-
}>>;
|
|
3287
|
-
}, z.core.$strict>>;
|
|
3288
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
3289
|
-
type: z.ZodLiteral<"PICKUP">;
|
|
3290
|
-
pickup: z.ZodDefault<z.ZodObject<{
|
|
3291
|
-
addressId: z.ZodOptional<z.ZodString>;
|
|
3292
|
-
}, z.core.$strict>>;
|
|
3060
|
+
type: z.ZodLiteral<"MANUAL">;
|
|
3293
3061
|
}, z.core.$strict>], "type">;
|
|
3294
3062
|
export type ProductFulfillmentCreate = z.infer<typeof productFulfillmentCreateSchema>;
|
|
3295
3063
|
/** 등록 요청의 입력 모양 — 기본값이 채워지기 전(생략 가능한 필드가 optional) */
|
|
@@ -3312,35 +3080,7 @@ export declare const productFulfillmentUpdateSchema: z.ZodDiscriminatedUnion<[z.
|
|
|
3312
3080
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3313
3081
|
}, z.core.$strict>;
|
|
3314
3082
|
}, z.core.$strict>, z.ZodObject<{
|
|
3315
|
-
type: z.ZodLiteral<"
|
|
3316
|
-
download: z.ZodObject<{
|
|
3317
|
-
limit: z.ZodNumber;
|
|
3318
|
-
days: z.ZodNumber;
|
|
3319
|
-
stockTracking: z.ZodBoolean;
|
|
3320
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
3321
|
-
}, z.core.$strict>;
|
|
3322
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
3323
|
-
type: z.ZodLiteral<"CODE">;
|
|
3324
|
-
code: z.ZodObject<{
|
|
3325
|
-
mode: z.ZodEnum<{
|
|
3326
|
-
AUTO: "AUTO";
|
|
3327
|
-
MANUAL: "MANUAL";
|
|
3328
|
-
}>;
|
|
3329
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
3330
|
-
}, z.core.$strict>;
|
|
3331
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
3332
|
-
type: z.ZodLiteral<"SERVICE">;
|
|
3333
|
-
service: z.ZodObject<{
|
|
3334
|
-
mode: z.ZodEnum<{
|
|
3335
|
-
AUTO: "AUTO";
|
|
3336
|
-
MANUAL: "MANUAL";
|
|
3337
|
-
}>;
|
|
3338
|
-
}, z.core.$strict>;
|
|
3339
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
3340
|
-
type: z.ZodLiteral<"PICKUP">;
|
|
3341
|
-
pickup: z.ZodObject<{
|
|
3342
|
-
addressId: z.ZodString;
|
|
3343
|
-
}, z.core.$strict>;
|
|
3083
|
+
type: z.ZodLiteral<"MANUAL">;
|
|
3344
3084
|
}, z.core.$strict>], "type">;
|
|
3345
3085
|
export type ProductFulfillmentUpdate = z.infer<typeof productFulfillmentUpdateSchema>;
|
|
3346
3086
|
/**
|
|
@@ -3361,35 +3101,7 @@ export declare const productFulfillmentSchema: z.ZodDiscriminatedUnion<[z.ZodObj
|
|
|
3361
3101
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3362
3102
|
}, z.core.$strip>;
|
|
3363
3103
|
}, z.core.$strip>, z.ZodObject<{
|
|
3364
|
-
type: z.ZodLiteral<"
|
|
3365
|
-
download: z.ZodObject<{
|
|
3366
|
-
limit: z.ZodNumber;
|
|
3367
|
-
days: z.ZodNumber;
|
|
3368
|
-
stockTracking: z.ZodBoolean;
|
|
3369
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
3370
|
-
}, z.core.$strip>;
|
|
3371
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3372
|
-
type: z.ZodLiteral<"CODE">;
|
|
3373
|
-
code: z.ZodObject<{
|
|
3374
|
-
mode: z.ZodEnum<{
|
|
3375
|
-
AUTO: "AUTO";
|
|
3376
|
-
MANUAL: "MANUAL";
|
|
3377
|
-
}>;
|
|
3378
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
3379
|
-
}, z.core.$strip>;
|
|
3380
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3381
|
-
type: z.ZodLiteral<"SERVICE">;
|
|
3382
|
-
service: z.ZodObject<{
|
|
3383
|
-
mode: z.ZodEnum<{
|
|
3384
|
-
AUTO: "AUTO";
|
|
3385
|
-
MANUAL: "MANUAL";
|
|
3386
|
-
}>;
|
|
3387
|
-
}, z.core.$strip>;
|
|
3388
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3389
|
-
type: z.ZodLiteral<"PICKUP">;
|
|
3390
|
-
pickup: z.ZodObject<{
|
|
3391
|
-
addressId: z.ZodNullable<z.ZodString>;
|
|
3392
|
-
}, z.core.$strip>;
|
|
3104
|
+
type: z.ZodLiteral<"MANUAL">;
|
|
3393
3105
|
}, z.core.$strip>], "type">;
|
|
3394
3106
|
export type ProductFulfillment = z.infer<typeof productFulfillmentSchema>;
|
|
3395
3107
|
/** 유형 이름 → 그 유형의 저장된 이행 */
|
|
@@ -3428,35 +3140,7 @@ export declare const productFulfillmentResponseSchema: z.ZodUnion<readonly [z.Zo
|
|
|
3428
3140
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3429
3141
|
}, z.core.$strip>;
|
|
3430
3142
|
}, z.core.$strip>, z.ZodObject<{
|
|
3431
|
-
type: z.ZodLiteral<"
|
|
3432
|
-
download: z.ZodObject<{
|
|
3433
|
-
limit: z.ZodNumber;
|
|
3434
|
-
days: z.ZodNumber;
|
|
3435
|
-
stockTracking: z.ZodBoolean;
|
|
3436
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
3437
|
-
}, z.core.$strip>;
|
|
3438
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3439
|
-
type: z.ZodLiteral<"CODE">;
|
|
3440
|
-
code: z.ZodObject<{
|
|
3441
|
-
mode: z.ZodEnum<{
|
|
3442
|
-
AUTO: "AUTO";
|
|
3443
|
-
MANUAL: "MANUAL";
|
|
3444
|
-
}>;
|
|
3445
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
3446
|
-
}, z.core.$strip>;
|
|
3447
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3448
|
-
type: z.ZodLiteral<"SERVICE">;
|
|
3449
|
-
service: z.ZodObject<{
|
|
3450
|
-
mode: z.ZodEnum<{
|
|
3451
|
-
AUTO: "AUTO";
|
|
3452
|
-
MANUAL: "MANUAL";
|
|
3453
|
-
}>;
|
|
3454
|
-
}, z.core.$strip>;
|
|
3455
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3456
|
-
type: z.ZodLiteral<"PICKUP">;
|
|
3457
|
-
pickup: z.ZodObject<{
|
|
3458
|
-
addressId: z.ZodNullable<z.ZodString>;
|
|
3459
|
-
}, z.core.$strip>;
|
|
3143
|
+
type: z.ZodLiteral<"MANUAL">;
|
|
3460
3144
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
3461
3145
|
type: z.ZodString;
|
|
3462
3146
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
@@ -3464,21 +3148,9 @@ export declare const productFulfillmentResponseSchema: z.ZodUnion<readonly [z.Zo
|
|
|
3464
3148
|
type: string;
|
|
3465
3149
|
}>>]>;
|
|
3466
3150
|
export type ProductFulfillmentView = z.infer<typeof productFulfillmentResponseSchema>;
|
|
3467
|
-
/** 제공 방식 — CODE·SERVICE는 저장된 값, DOWNLOAD는 AUTO, PICKUP은 MANUAL, 배송 상품은 null */
|
|
3468
|
-
export declare function fulfillmentModeOf(fulfillment: ProductFulfillment): FulfillmentMode | null;
|
|
3469
|
-
/** 재고를 세는가 — 파일 다운로드만 끌 수 있다 */
|
|
3470
|
-
export declare function stockTrackingOf(fulfillment: ProductFulfillment): boolean;
|
|
3471
|
-
/** 청약철회 제한 대상인가 — 파일 다운로드·코드 발급만 켤 수 있다(전자상거래법 제17조 제2항 제5호, 디지털 콘텐츠) */
|
|
3472
|
-
export declare function withdrawalRestrictedOf(fulfillment: ProductFulfillment): boolean;
|
|
3473
|
-
/** 코드 풀을 쓰는가 — 코드 발급 + 자동 제공. 재고가 판매 가능 코드 수다 */
|
|
3474
|
-
export declare function usesCodePool(fulfillment: ProductFulfillment): boolean;
|
|
3475
|
-
/** 결제 확정과 함께 제공까지 끝내는가 — 비실물 + 자동 제공 */
|
|
3476
|
-
export declare function autoFulfillableOf(fulfillment: ProductFulfillment): boolean;
|
|
3477
3151
|
/**
|
|
3478
3152
|
* 주문상품의 주문 시점 이행 — 결제 확정이 주문서 줄에서 굳힌다. 상품의 현재 값이 아니다. 서버는 주문상품 컬럼
|
|
3479
|
-
* (`fulfillment_type`·`delivery_bundle_key
|
|
3480
|
-
*
|
|
3481
|
-
* `mode`는 **주문 시점 상품의 방식**이다. 실제 제공 방식은 제공 기록(`fulfillment.mode`)에 있고 다를 수 있다(자동 제공 상품의 수동 복구).
|
|
3153
|
+
* (`fulfillment_type`·`delivery_bundle_key`)과 jsonb(`fulfillment_snapshot`)를 합쳐 이 모양을 만든다.
|
|
3482
3154
|
*/
|
|
3483
3155
|
export declare const orderItemFulfillmentSnapshotSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3484
3156
|
type: z.ZodLiteral<"SHIPPING">;
|
|
@@ -3487,29 +3159,7 @@ export declare const orderItemFulfillmentSnapshotSchema: z.ZodDiscriminatedUnion
|
|
|
3487
3159
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3488
3160
|
}, z.core.$strip>;
|
|
3489
3161
|
}, z.core.$strip>, z.ZodObject<{
|
|
3490
|
-
type: z.ZodLiteral<"
|
|
3491
|
-
download: z.ZodObject<{
|
|
3492
|
-
limit: z.ZodNumber;
|
|
3493
|
-
days: z.ZodNumber;
|
|
3494
|
-
stockTracked: z.ZodBoolean;
|
|
3495
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
3496
|
-
}, z.core.$strip>;
|
|
3497
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3498
|
-
type: z.ZodLiteral<"CODE">;
|
|
3499
|
-
code: z.ZodObject<{
|
|
3500
|
-
mode: z.ZodString;
|
|
3501
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
3502
|
-
}, z.core.$strip>;
|
|
3503
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3504
|
-
type: z.ZodLiteral<"SERVICE">;
|
|
3505
|
-
service: z.ZodObject<{
|
|
3506
|
-
mode: z.ZodString;
|
|
3507
|
-
}, z.core.$strip>;
|
|
3508
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3509
|
-
type: z.ZodLiteral<"PICKUP">;
|
|
3510
|
-
pickup: z.ZodObject<{
|
|
3511
|
-
addressId: z.ZodNullable<z.ZodString>;
|
|
3512
|
-
}, z.core.$strip>;
|
|
3162
|
+
type: z.ZodLiteral<"MANUAL">;
|
|
3513
3163
|
}, z.core.$strip>], "type">;
|
|
3514
3164
|
export type OrderItemFulfillmentSnapshot = z.infer<typeof orderItemFulfillmentSnapshotSchema>;
|
|
3515
3165
|
export declare const orderItemFulfillmentSnapshotResponseSchema: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
@@ -3519,29 +3169,7 @@ export declare const orderItemFulfillmentSnapshotResponseSchema: z.ZodUnion<read
|
|
|
3519
3169
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3520
3170
|
}, z.core.$strip>;
|
|
3521
3171
|
}, z.core.$strip>, z.ZodObject<{
|
|
3522
|
-
type: z.ZodLiteral<"
|
|
3523
|
-
download: z.ZodObject<{
|
|
3524
|
-
limit: z.ZodNumber;
|
|
3525
|
-
days: z.ZodNumber;
|
|
3526
|
-
stockTracked: z.ZodBoolean;
|
|
3527
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
3528
|
-
}, z.core.$strip>;
|
|
3529
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3530
|
-
type: z.ZodLiteral<"CODE">;
|
|
3531
|
-
code: z.ZodObject<{
|
|
3532
|
-
mode: z.ZodString;
|
|
3533
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
3534
|
-
}, z.core.$strip>;
|
|
3535
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3536
|
-
type: z.ZodLiteral<"SERVICE">;
|
|
3537
|
-
service: z.ZodObject<{
|
|
3538
|
-
mode: z.ZodString;
|
|
3539
|
-
}, z.core.$strip>;
|
|
3540
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3541
|
-
type: z.ZodLiteral<"PICKUP">;
|
|
3542
|
-
pickup: z.ZodObject<{
|
|
3543
|
-
addressId: z.ZodNullable<z.ZodString>;
|
|
3544
|
-
}, z.core.$strip>;
|
|
3172
|
+
type: z.ZodLiteral<"MANUAL">;
|
|
3545
3173
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
3546
3174
|
type: z.ZodString;
|
|
3547
3175
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
@@ -3580,40 +3208,13 @@ export declare const shippingAddressSchema: z.ZodObject<{
|
|
|
3580
3208
|
entranceCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
3581
3209
|
}, z.core.$strip>;
|
|
3582
3210
|
export type ShippingAddress = z.infer<typeof shippingAddressSchema>;
|
|
3583
|
-
/**
|
|
3211
|
+
/** 배송 없는 주문상품(`MANUAL`)의 제공 기록 (이슈 #48) — 셀러의 제공 처리가 만든다 */
|
|
3584
3212
|
export declare const orderItemFulfillmentSchema: z.ZodObject<{
|
|
3585
3213
|
status: z.ZodString;
|
|
3586
|
-
mode: z.ZodNullable<z.ZodString>;
|
|
3587
3214
|
fulfilledAt: z.ZodString;
|
|
3588
3215
|
note: z.ZodNullable<z.ZodString>;
|
|
3589
|
-
|
|
3590
|
-
codeId: z.ZodString;
|
|
3591
|
-
hint: z.ZodString;
|
|
3592
|
-
status: z.ZodString;
|
|
3593
|
-
revealedAt: z.ZodNullable<z.ZodString>;
|
|
3594
|
-
}, z.core.$strip>>>>;
|
|
3595
|
-
download: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
3596
|
-
count: z.ZodNumber;
|
|
3597
|
-
limit: z.ZodNumber;
|
|
3598
|
-
expiresAt: z.ZodNullable<z.ZodString>;
|
|
3599
|
-
firstDownloadedAt: z.ZodNullable<z.ZodString>;
|
|
3600
|
-
files: z.ZodArray<z.ZodObject<{
|
|
3601
|
-
assetId: z.ZodString;
|
|
3602
|
-
fileName: z.ZodString;
|
|
3603
|
-
sizeBytes: z.ZodNullable<z.ZodNumber>;
|
|
3604
|
-
}, z.core.$strip>>;
|
|
3605
|
-
}, z.core.$strip>>>>;
|
|
3606
|
-
mail: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
3607
|
-
status: z.ZodString;
|
|
3608
|
-
sentAt: z.ZodNullable<z.ZodString>;
|
|
3609
|
-
errorCode: z.ZodNullable<z.ZodString>;
|
|
3610
|
-
}, z.core.$strip>>>>;
|
|
3216
|
+
mode: z.ZodOptional<z.ZodString>;
|
|
3611
3217
|
}, z.core.$strip>;
|
|
3612
|
-
/** 제공 안내 메일 재발송 결과 */
|
|
3613
|
-
export declare const fulfillmentMailResendSchema: z.ZodObject<{
|
|
3614
|
-
mailStatus: z.ZodString;
|
|
3615
|
-
}, z.core.$strip>;
|
|
3616
|
-
export type FulfillmentMailResend = z.infer<typeof fulfillmentMailResendSchema>;
|
|
3617
3218
|
export type OrderItemFulfillment = z.infer<typeof orderItemFulfillmentSchema>;
|
|
3618
3219
|
export declare const orderItemSchema: z.ZodObject<{
|
|
3619
3220
|
orderItemId: z.ZodString;
|
|
@@ -3637,6 +3238,16 @@ export declare const orderItemSchema: z.ZodObject<{
|
|
|
3637
3238
|
productName: z.ZodString;
|
|
3638
3239
|
optionId: z.ZodNullable<z.ZodString>;
|
|
3639
3240
|
optionName: z.ZodNullable<z.ZodString>;
|
|
3241
|
+
optionSelections: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
3242
|
+
kind: z.ZodString;
|
|
3243
|
+
groupName: z.ZodString;
|
|
3244
|
+
valueName: z.ZodString;
|
|
3245
|
+
additionalPrice: z.ZodNumber;
|
|
3246
|
+
}, z.core.$strip>>>>;
|
|
3247
|
+
customInputs: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
3248
|
+
label: z.ZodString;
|
|
3249
|
+
value: z.ZodString;
|
|
3250
|
+
}, z.core.$strip>>>>;
|
|
3640
3251
|
sellerCode: z.ZodNullable<z.ZodString>;
|
|
3641
3252
|
fulfillmentSnapshot: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3642
3253
|
type: z.ZodLiteral<"SHIPPING">;
|
|
@@ -3645,29 +3256,7 @@ export declare const orderItemSchema: z.ZodObject<{
|
|
|
3645
3256
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3646
3257
|
}, z.core.$strip>;
|
|
3647
3258
|
}, z.core.$strip>, z.ZodObject<{
|
|
3648
|
-
type: z.ZodLiteral<"
|
|
3649
|
-
download: z.ZodObject<{
|
|
3650
|
-
limit: z.ZodNumber;
|
|
3651
|
-
days: z.ZodNumber;
|
|
3652
|
-
stockTracked: z.ZodBoolean;
|
|
3653
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
3654
|
-
}, z.core.$strip>;
|
|
3655
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3656
|
-
type: z.ZodLiteral<"CODE">;
|
|
3657
|
-
code: z.ZodObject<{
|
|
3658
|
-
mode: z.ZodString;
|
|
3659
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
3660
|
-
}, z.core.$strip>;
|
|
3661
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3662
|
-
type: z.ZodLiteral<"SERVICE">;
|
|
3663
|
-
service: z.ZodObject<{
|
|
3664
|
-
mode: z.ZodString;
|
|
3665
|
-
}, z.core.$strip>;
|
|
3666
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3667
|
-
type: z.ZodLiteral<"PICKUP">;
|
|
3668
|
-
pickup: z.ZodObject<{
|
|
3669
|
-
addressId: z.ZodNullable<z.ZodString>;
|
|
3670
|
-
}, z.core.$strip>;
|
|
3259
|
+
type: z.ZodLiteral<"MANUAL">;
|
|
3671
3260
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
3672
3261
|
type: z.ZodString;
|
|
3673
3262
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
@@ -3687,31 +3276,9 @@ export declare const orderItemSchema: z.ZodObject<{
|
|
|
3687
3276
|
}, z.core.$strip>>;
|
|
3688
3277
|
fulfillment: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
3689
3278
|
status: z.ZodString;
|
|
3690
|
-
mode: z.ZodNullable<z.ZodString>;
|
|
3691
3279
|
fulfilledAt: z.ZodString;
|
|
3692
3280
|
note: z.ZodNullable<z.ZodString>;
|
|
3693
|
-
|
|
3694
|
-
codeId: z.ZodString;
|
|
3695
|
-
hint: z.ZodString;
|
|
3696
|
-
status: z.ZodString;
|
|
3697
|
-
revealedAt: z.ZodNullable<z.ZodString>;
|
|
3698
|
-
}, z.core.$strip>>>>;
|
|
3699
|
-
download: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
3700
|
-
count: z.ZodNumber;
|
|
3701
|
-
limit: z.ZodNumber;
|
|
3702
|
-
expiresAt: z.ZodNullable<z.ZodString>;
|
|
3703
|
-
firstDownloadedAt: z.ZodNullable<z.ZodString>;
|
|
3704
|
-
files: z.ZodArray<z.ZodObject<{
|
|
3705
|
-
assetId: z.ZodString;
|
|
3706
|
-
fileName: z.ZodString;
|
|
3707
|
-
sizeBytes: z.ZodNullable<z.ZodNumber>;
|
|
3708
|
-
}, z.core.$strip>>;
|
|
3709
|
-
}, z.core.$strip>>>>;
|
|
3710
|
-
mail: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
3711
|
-
status: z.ZodString;
|
|
3712
|
-
sentAt: z.ZodNullable<z.ZodString>;
|
|
3713
|
-
errorCode: z.ZodNullable<z.ZodString>;
|
|
3714
|
-
}, z.core.$strip>>>>;
|
|
3281
|
+
mode: z.ZodOptional<z.ZodString>;
|
|
3715
3282
|
}, z.core.$strip>>>>;
|
|
3716
3283
|
autoDecisionDate: z.ZodNullable<z.ZodString>;
|
|
3717
3284
|
sellerMemo: z.ZodNullable<z.ZodString>;
|
|
@@ -3807,7 +3374,6 @@ export declare const orderSchema: z.ZodObject<{
|
|
|
3807
3374
|
updatedAt: z.ZodString;
|
|
3808
3375
|
}, z.core.$strip>>>>;
|
|
3809
3376
|
}, z.core.$strip>;
|
|
3810
|
-
withdrawalAgreedAt: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
3811
3377
|
testPayment: z.ZodBoolean;
|
|
3812
3378
|
items: z.ZodArray<z.ZodObject<{
|
|
3813
3379
|
orderItemId: z.ZodString;
|
|
@@ -3831,6 +3397,16 @@ export declare const orderSchema: z.ZodObject<{
|
|
|
3831
3397
|
productName: z.ZodString;
|
|
3832
3398
|
optionId: z.ZodNullable<z.ZodString>;
|
|
3833
3399
|
optionName: z.ZodNullable<z.ZodString>;
|
|
3400
|
+
optionSelections: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
3401
|
+
kind: z.ZodString;
|
|
3402
|
+
groupName: z.ZodString;
|
|
3403
|
+
valueName: z.ZodString;
|
|
3404
|
+
additionalPrice: z.ZodNumber;
|
|
3405
|
+
}, z.core.$strip>>>>;
|
|
3406
|
+
customInputs: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
3407
|
+
label: z.ZodString;
|
|
3408
|
+
value: z.ZodString;
|
|
3409
|
+
}, z.core.$strip>>>>;
|
|
3834
3410
|
sellerCode: z.ZodNullable<z.ZodString>;
|
|
3835
3411
|
fulfillmentSnapshot: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3836
3412
|
type: z.ZodLiteral<"SHIPPING">;
|
|
@@ -3839,29 +3415,7 @@ export declare const orderSchema: z.ZodObject<{
|
|
|
3839
3415
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3840
3416
|
}, z.core.$strip>;
|
|
3841
3417
|
}, z.core.$strip>, z.ZodObject<{
|
|
3842
|
-
type: z.ZodLiteral<"
|
|
3843
|
-
download: z.ZodObject<{
|
|
3844
|
-
limit: z.ZodNumber;
|
|
3845
|
-
days: z.ZodNumber;
|
|
3846
|
-
stockTracked: z.ZodBoolean;
|
|
3847
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
3848
|
-
}, z.core.$strip>;
|
|
3849
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3850
|
-
type: z.ZodLiteral<"CODE">;
|
|
3851
|
-
code: z.ZodObject<{
|
|
3852
|
-
mode: z.ZodString;
|
|
3853
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
3854
|
-
}, z.core.$strip>;
|
|
3855
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3856
|
-
type: z.ZodLiteral<"SERVICE">;
|
|
3857
|
-
service: z.ZodObject<{
|
|
3858
|
-
mode: z.ZodString;
|
|
3859
|
-
}, z.core.$strip>;
|
|
3860
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
3861
|
-
type: z.ZodLiteral<"PICKUP">;
|
|
3862
|
-
pickup: z.ZodObject<{
|
|
3863
|
-
addressId: z.ZodNullable<z.ZodString>;
|
|
3864
|
-
}, z.core.$strip>;
|
|
3418
|
+
type: z.ZodLiteral<"MANUAL">;
|
|
3865
3419
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
3866
3420
|
type: z.ZodString;
|
|
3867
3421
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
@@ -3881,31 +3435,9 @@ export declare const orderSchema: z.ZodObject<{
|
|
|
3881
3435
|
}, z.core.$strip>>;
|
|
3882
3436
|
fulfillment: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
3883
3437
|
status: z.ZodString;
|
|
3884
|
-
mode: z.ZodNullable<z.ZodString>;
|
|
3885
3438
|
fulfilledAt: z.ZodString;
|
|
3886
3439
|
note: z.ZodNullable<z.ZodString>;
|
|
3887
|
-
|
|
3888
|
-
codeId: z.ZodString;
|
|
3889
|
-
hint: z.ZodString;
|
|
3890
|
-
status: z.ZodString;
|
|
3891
|
-
revealedAt: z.ZodNullable<z.ZodString>;
|
|
3892
|
-
}, z.core.$strip>>>>;
|
|
3893
|
-
download: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
3894
|
-
count: z.ZodNumber;
|
|
3895
|
-
limit: z.ZodNumber;
|
|
3896
|
-
expiresAt: z.ZodNullable<z.ZodString>;
|
|
3897
|
-
firstDownloadedAt: z.ZodNullable<z.ZodString>;
|
|
3898
|
-
files: z.ZodArray<z.ZodObject<{
|
|
3899
|
-
assetId: z.ZodString;
|
|
3900
|
-
fileName: z.ZodString;
|
|
3901
|
-
sizeBytes: z.ZodNullable<z.ZodNumber>;
|
|
3902
|
-
}, z.core.$strip>>;
|
|
3903
|
-
}, z.core.$strip>>>>;
|
|
3904
|
-
mail: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
3905
|
-
status: z.ZodString;
|
|
3906
|
-
sentAt: z.ZodNullable<z.ZodString>;
|
|
3907
|
-
errorCode: z.ZodNullable<z.ZodString>;
|
|
3908
|
-
}, z.core.$strip>>>>;
|
|
3440
|
+
mode: z.ZodOptional<z.ZodString>;
|
|
3909
3441
|
}, z.core.$strip>>>>;
|
|
3910
3442
|
autoDecisionDate: z.ZodNullable<z.ZodString>;
|
|
3911
3443
|
sellerMemo: z.ZodNullable<z.ZodString>;
|
|
@@ -3981,6 +3513,16 @@ export declare const orderItemPageSchema: z.ZodObject<{
|
|
|
3981
3513
|
productName: z.ZodString;
|
|
3982
3514
|
optionId: z.ZodNullable<z.ZodString>;
|
|
3983
3515
|
optionName: z.ZodNullable<z.ZodString>;
|
|
3516
|
+
optionSelections: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
3517
|
+
kind: z.ZodString;
|
|
3518
|
+
groupName: z.ZodString;
|
|
3519
|
+
valueName: z.ZodString;
|
|
3520
|
+
additionalPrice: z.ZodNumber;
|
|
3521
|
+
}, z.core.$strip>>>>;
|
|
3522
|
+
customInputs: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
3523
|
+
label: z.ZodString;
|
|
3524
|
+
value: z.ZodString;
|
|
3525
|
+
}, z.core.$strip>>>>;
|
|
3984
3526
|
sellerCode: z.ZodNullable<z.ZodString>;
|
|
3985
3527
|
fulfillmentSnapshot: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3986
3528
|
type: z.ZodLiteral<"SHIPPING">;
|
|
@@ -3989,29 +3531,7 @@ export declare const orderItemPageSchema: z.ZodObject<{
|
|
|
3989
3531
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
3990
3532
|
}, z.core.$strip>;
|
|
3991
3533
|
}, z.core.$strip>, z.ZodObject<{
|
|
3992
|
-
type: z.ZodLiteral<"
|
|
3993
|
-
download: z.ZodObject<{
|
|
3994
|
-
limit: z.ZodNumber;
|
|
3995
|
-
days: z.ZodNumber;
|
|
3996
|
-
stockTracked: z.ZodBoolean;
|
|
3997
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
3998
|
-
}, z.core.$strip>;
|
|
3999
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
4000
|
-
type: z.ZodLiteral<"CODE">;
|
|
4001
|
-
code: z.ZodObject<{
|
|
4002
|
-
mode: z.ZodString;
|
|
4003
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
4004
|
-
}, z.core.$strip>;
|
|
4005
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
4006
|
-
type: z.ZodLiteral<"SERVICE">;
|
|
4007
|
-
service: z.ZodObject<{
|
|
4008
|
-
mode: z.ZodString;
|
|
4009
|
-
}, z.core.$strip>;
|
|
4010
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
4011
|
-
type: z.ZodLiteral<"PICKUP">;
|
|
4012
|
-
pickup: z.ZodObject<{
|
|
4013
|
-
addressId: z.ZodNullable<z.ZodString>;
|
|
4014
|
-
}, z.core.$strip>;
|
|
3534
|
+
type: z.ZodLiteral<"MANUAL">;
|
|
4015
3535
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
4016
3536
|
type: z.ZodString;
|
|
4017
3537
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
@@ -4031,31 +3551,9 @@ export declare const orderItemPageSchema: z.ZodObject<{
|
|
|
4031
3551
|
}, z.core.$strip>>;
|
|
4032
3552
|
fulfillment: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
4033
3553
|
status: z.ZodString;
|
|
4034
|
-
mode: z.ZodNullable<z.ZodString>;
|
|
4035
3554
|
fulfilledAt: z.ZodString;
|
|
4036
3555
|
note: z.ZodNullable<z.ZodString>;
|
|
4037
|
-
|
|
4038
|
-
codeId: z.ZodString;
|
|
4039
|
-
hint: z.ZodString;
|
|
4040
|
-
status: z.ZodString;
|
|
4041
|
-
revealedAt: z.ZodNullable<z.ZodString>;
|
|
4042
|
-
}, z.core.$strip>>>>;
|
|
4043
|
-
download: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
4044
|
-
count: z.ZodNumber;
|
|
4045
|
-
limit: z.ZodNumber;
|
|
4046
|
-
expiresAt: z.ZodNullable<z.ZodString>;
|
|
4047
|
-
firstDownloadedAt: z.ZodNullable<z.ZodString>;
|
|
4048
|
-
files: z.ZodArray<z.ZodObject<{
|
|
4049
|
-
assetId: z.ZodString;
|
|
4050
|
-
fileName: z.ZodString;
|
|
4051
|
-
sizeBytes: z.ZodNullable<z.ZodNumber>;
|
|
4052
|
-
}, z.core.$strip>>;
|
|
4053
|
-
}, z.core.$strip>>>>;
|
|
4054
|
-
mail: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
4055
|
-
status: z.ZodString;
|
|
4056
|
-
sentAt: z.ZodNullable<z.ZodString>;
|
|
4057
|
-
errorCode: z.ZodNullable<z.ZodString>;
|
|
4058
|
-
}, z.core.$strip>>>>;
|
|
3556
|
+
mode: z.ZodOptional<z.ZodString>;
|
|
4059
3557
|
}, z.core.$strip>>>>;
|
|
4060
3558
|
autoDecisionDate: z.ZodNullable<z.ZodString>;
|
|
4061
3559
|
sellerMemo: z.ZodNullable<z.ZodString>;
|
|
@@ -4262,12 +3760,11 @@ export declare const cancelBySellerRequestSchema: z.ZodObject<{
|
|
|
4262
3760
|
}, z.core.$strip>;
|
|
4263
3761
|
export type CancelBySellerRequest = z.infer<typeof cancelBySellerRequestSchema>;
|
|
4264
3762
|
/**
|
|
4265
|
-
* 제공 처리 요청 (이슈 #48) — `POST /v1/order-items/{orderItemId}/fulfill`.
|
|
3763
|
+
* 제공 처리 요청 (이슈 #48) — `POST /v1/order-items/{orderItemId}/fulfill`. 배송 없는 주문상품(`MANUAL`)을
|
|
4266
3764
|
* 제공 완료(`DELIVERED`)로 바꾼다.
|
|
4267
3765
|
*/
|
|
4268
3766
|
export declare const fulfillRequestSchema: z.ZodObject<{
|
|
4269
3767
|
note: z.ZodOptional<z.ZodString>;
|
|
4270
|
-
codes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
4271
3768
|
}, z.core.$strip>;
|
|
4272
3769
|
export type FulfillRequest = z.infer<typeof fulfillRequestSchema>;
|
|
4273
3770
|
/** 제공 처리 일괄 요청 — `POST /v1/order-items/fulfill` */
|
|
@@ -5384,30 +4881,146 @@ export declare const productVariantSchema: z.ZodObject<{
|
|
|
5384
4881
|
weightGram: z.ZodNullable<z.ZodNumber>;
|
|
5385
4882
|
sellerCode: z.ZodNullable<z.ZodString>;
|
|
5386
4883
|
usable: z.ZodBoolean;
|
|
4884
|
+
hasOrders: z.ZodOptional<z.ZodBoolean>;
|
|
5387
4885
|
}, z.core.$strip>;
|
|
5388
4886
|
export type ProductVariant = z.infer<typeof productVariantSchema>;
|
|
5389
|
-
|
|
5390
|
-
|
|
5391
|
-
|
|
5392
|
-
|
|
5393
|
-
|
|
5394
|
-
|
|
5395
|
-
|
|
5396
|
-
|
|
5397
|
-
|
|
5398
|
-
|
|
5399
|
-
|
|
5400
|
-
export
|
|
5401
|
-
|
|
5402
|
-
|
|
5403
|
-
|
|
5404
|
-
|
|
5405
|
-
|
|
5406
|
-
|
|
5407
|
-
|
|
5408
|
-
|
|
5409
|
-
|
|
5410
|
-
|
|
4887
|
+
/** 옵션 축(그룹) 최대 개수 — 스키마 상한의 단일 원천 */
|
|
4888
|
+
export declare const MAX_OPTION_GROUPS = 3;
|
|
4889
|
+
/** 축 하나가 가질 수 있는 값의 최대 개수 */
|
|
4890
|
+
export declare const MAX_VALUES_PER_GROUP = 100;
|
|
4891
|
+
/** 상품 하나가 가질 수 있는 variant(SKU) 최대 개수 */
|
|
4892
|
+
export declare const MAX_VARIANTS = 500;
|
|
4893
|
+
/** 추가 선택 옵션명 최대 개수 */
|
|
4894
|
+
export declare const MAX_ADDON_GROUPS = 5;
|
|
4895
|
+
/** 직접 입력 항목 최대 개수 */
|
|
4896
|
+
export declare const MAX_CUSTOM_INPUTS = 5;
|
|
4897
|
+
/** 직접 입력 항목 최대 글자 수의 상한 */
|
|
4898
|
+
export declare const MAX_CUSTOM_INPUT_LENGTH = 200;
|
|
4899
|
+
/** 조합 수가 이 값 이상이면 콘솔이 경고한다(상한은 `MAX_VARIANTS`) */
|
|
4900
|
+
export declare const VARIANT_COUNT_WARNING = 100;
|
|
4901
|
+
/**
|
|
4902
|
+
* 옵션 값 정렬 순서 — 등록순·가나다순·낮은 추가금순·높은 추가금순. 서버가 저장할 때 이 순서로 값의 `sortOrder`를 매긴다.
|
|
4903
|
+
* 추가금순은 추가 선택 값이면 값의 추가금, 조합 값이면 그 값이 든 조합 추가금의 최솟값으로 비교하고 같으면 등록순이다.
|
|
4904
|
+
*/
|
|
4905
|
+
export declare const optionSortSchema: z.ZodEnum<{
|
|
4906
|
+
REGISTERED: "REGISTERED";
|
|
4907
|
+
NAME: "NAME";
|
|
4908
|
+
PRICE_ASC: "PRICE_ASC";
|
|
4909
|
+
PRICE_DESC: "PRICE_DESC";
|
|
4910
|
+
}>;
|
|
4911
|
+
export type OptionSort = z.infer<typeof optionSortSchema>;
|
|
4912
|
+
/** 추가 선택 값 — 예: 옵션명 "선물 포장"의 값 "포장함"(+2,000원) */
|
|
4913
|
+
export declare const addonValueSchema: z.ZodObject<{
|
|
4914
|
+
valueId: z.ZodString;
|
|
4915
|
+
name: z.ZodString;
|
|
4916
|
+
sortOrder: z.ZodNumber;
|
|
4917
|
+
additionalPrice: z.ZodNumber;
|
|
4918
|
+
usable: z.ZodBoolean;
|
|
4919
|
+
}, z.core.$strip>;
|
|
4920
|
+
export type AddonValue = z.infer<typeof addonValueSchema>;
|
|
4921
|
+
/** 추가 선택 옵션명 */
|
|
4922
|
+
export declare const addonGroupSchema: z.ZodObject<{
|
|
4923
|
+
groupId: z.ZodString;
|
|
4924
|
+
name: z.ZodString;
|
|
4925
|
+
sortOrder: z.ZodNumber;
|
|
4926
|
+
required: z.ZodBoolean;
|
|
4927
|
+
values: z.ZodArray<z.ZodObject<{
|
|
4928
|
+
valueId: z.ZodString;
|
|
4929
|
+
name: z.ZodString;
|
|
4930
|
+
sortOrder: z.ZodNumber;
|
|
4931
|
+
additionalPrice: z.ZodNumber;
|
|
4932
|
+
usable: z.ZodBoolean;
|
|
4933
|
+
}, z.core.$strip>>;
|
|
4934
|
+
}, z.core.$strip>;
|
|
4935
|
+
export type AddonGroup = z.infer<typeof addonGroupSchema>;
|
|
4936
|
+
/** 직접 입력 항목 — 예: 각인 문구 */
|
|
4937
|
+
export declare const customInputSchema: z.ZodObject<{
|
|
4938
|
+
inputId: z.ZodString;
|
|
4939
|
+
label: z.ZodString;
|
|
4940
|
+
placeholder: z.ZodNullable<z.ZodString>;
|
|
4941
|
+
maxLength: z.ZodNumber;
|
|
4942
|
+
required: z.ZodBoolean;
|
|
4943
|
+
usable: z.ZodBoolean;
|
|
4944
|
+
sortOrder: z.ZodNumber;
|
|
4945
|
+
}, z.core.$strip>;
|
|
4946
|
+
export type CustomInput = z.infer<typeof customInputSchema>;
|
|
4947
|
+
/**
|
|
4948
|
+
* 직접 입력 항목명에 쓸 수 없는 개인정보성 단어 — 콘솔 검사와 서버 400(`CUSTOM_INPUT_LABEL_FORBIDDEN`)이 이 목록 하나를 쓴다.
|
|
4949
|
+
* 구매자 개인정보는 주문 정보로 받는다. 직접 입력 항목으로 받으면 보관·파기 규칙 밖에 남는다.
|
|
4950
|
+
*/
|
|
4951
|
+
export declare const CUSTOM_INPUT_FORBIDDEN_WORDS: readonly ["연락처", "전화", "휴대폰", "핸드폰", "폰번호", "메일", "주소", "주민", "생년월일", "생일", "실명", "계좌", "카드번호", "비밀번호", "여권", "통관", "phone", "mobile", "mail", "address"];
|
|
4952
|
+
/**
|
|
4953
|
+
* 직접 입력 항목명·입력 안내에 든 개인정보성 금지어. 없으면 null. 공백·기호·대소문자·전각을 무시한다.
|
|
4954
|
+
* 서버는 항목명과 입력 안내 둘 다 이 함수로 검사한다(안내에 「연락처를 적어 주십시오」라고 쓰는 우회를 막는다).
|
|
4955
|
+
*/
|
|
4956
|
+
export declare function customInputLabelForbiddenWord(label: string): string | null;
|
|
4957
|
+
export declare const addonValueRequestSchema: z.ZodObject<{
|
|
4958
|
+
valueId: z.ZodOptional<z.ZodString>;
|
|
4959
|
+
name: z.ZodString;
|
|
4960
|
+
additionalPrice: z.ZodDefault<z.ZodNumber>;
|
|
4961
|
+
usable: z.ZodDefault<z.ZodBoolean>;
|
|
4962
|
+
}, z.core.$strip>;
|
|
4963
|
+
export type AddonValueRequest = z.infer<typeof addonValueRequestSchema>;
|
|
4964
|
+
export declare const addonGroupRequestSchema: z.ZodObject<{
|
|
4965
|
+
groupId: z.ZodOptional<z.ZodString>;
|
|
4966
|
+
name: z.ZodString;
|
|
4967
|
+
required: z.ZodDefault<z.ZodBoolean>;
|
|
4968
|
+
values: z.ZodArray<z.ZodObject<{
|
|
4969
|
+
valueId: z.ZodOptional<z.ZodString>;
|
|
4970
|
+
name: z.ZodString;
|
|
4971
|
+
additionalPrice: z.ZodDefault<z.ZodNumber>;
|
|
4972
|
+
usable: z.ZodDefault<z.ZodBoolean>;
|
|
4973
|
+
}, z.core.$strip>>;
|
|
4974
|
+
}, z.core.$strip>;
|
|
4975
|
+
export type AddonGroupRequest = z.infer<typeof addonGroupRequestSchema>;
|
|
4976
|
+
export declare const customInputRequestSchema: z.ZodObject<{
|
|
4977
|
+
inputId: z.ZodOptional<z.ZodString>;
|
|
4978
|
+
label: z.ZodString;
|
|
4979
|
+
placeholder: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
4980
|
+
maxLength: z.ZodNumber;
|
|
4981
|
+
required: z.ZodDefault<z.ZodBoolean>;
|
|
4982
|
+
usable: z.ZodDefault<z.ZodBoolean>;
|
|
4983
|
+
}, z.core.$strip>;
|
|
4984
|
+
export type CustomInputRequest = z.infer<typeof customInputRequestSchema>;
|
|
4985
|
+
/**
|
|
4986
|
+
* 주문상품·장바구니·주문서 줄의 옵션 선택 스냅샷 한 칸 — 주문 시점 이름이다(상품을 고쳐도 바뀌지 않는다).
|
|
4987
|
+
* 조합 옵션은 옵션명마다 한 칸이고 추가금은 조합 단위라 0이다(조합 추가금은 단가에 들어 있다). 추가 선택은 값의 추가금이다.
|
|
4988
|
+
*/
|
|
4989
|
+
export declare const optionSelectionSchema: z.ZodObject<{
|
|
4990
|
+
kind: z.ZodString;
|
|
4991
|
+
groupName: z.ZodString;
|
|
4992
|
+
valueName: z.ZodString;
|
|
4993
|
+
additionalPrice: z.ZodNumber;
|
|
4994
|
+
}, z.core.$strip>;
|
|
4995
|
+
export type OptionSelection = z.infer<typeof optionSelectionSchema>;
|
|
4996
|
+
/** 구매자가 적은 직접 입력값 — 주문 시점 항목명과 값 */
|
|
4997
|
+
export declare const customInputValueSchema: z.ZodObject<{
|
|
4998
|
+
label: z.ZodString;
|
|
4999
|
+
value: z.ZodString;
|
|
5000
|
+
}, z.core.$strip>;
|
|
5001
|
+
export type CustomInputValue = z.infer<typeof customInputValueSchema>;
|
|
5002
|
+
export declare const discountSchema: z.ZodObject<{
|
|
5003
|
+
productId: z.ZodString;
|
|
5004
|
+
discountType: z.ZodEnum<{
|
|
5005
|
+
RATE: "RATE";
|
|
5006
|
+
AMOUNT: "AMOUNT";
|
|
5007
|
+
}>;
|
|
5008
|
+
discountValue: z.ZodNumber;
|
|
5009
|
+
discountedPrice: z.ZodNumber;
|
|
5010
|
+
startAt: z.ZodNullable<z.ZodString>;
|
|
5011
|
+
endAt: z.ZodNullable<z.ZodString>;
|
|
5012
|
+
}, z.core.$strip>;
|
|
5013
|
+
export type Discount = z.infer<typeof discountSchema>;
|
|
5014
|
+
export declare const productSchema: z.ZodObject<{
|
|
5015
|
+
productId: z.ZodString;
|
|
5016
|
+
name: z.ZodString;
|
|
5017
|
+
status: z.ZodEnum<{
|
|
5018
|
+
SALE: "SALE";
|
|
5019
|
+
SUSPENDED: "SUSPENDED";
|
|
5020
|
+
OUT_OF_STOCK: "OUT_OF_STOCK";
|
|
5021
|
+
CLOSED: "CLOSED";
|
|
5022
|
+
}>;
|
|
5023
|
+
salePrice: z.ZodNumber;
|
|
5411
5024
|
discountedPrice: z.ZodNullable<z.ZodNumber>;
|
|
5412
5025
|
stockQuantity: z.ZodNumber;
|
|
5413
5026
|
categoryId: z.ZodNullable<z.ZodString>;
|
|
@@ -5444,7 +5057,36 @@ export declare const productSchema: z.ZodObject<{
|
|
|
5444
5057
|
weightGram: z.ZodNullable<z.ZodNumber>;
|
|
5445
5058
|
sellerCode: z.ZodNullable<z.ZodString>;
|
|
5446
5059
|
usable: z.ZodBoolean;
|
|
5060
|
+
hasOrders: z.ZodOptional<z.ZodBoolean>;
|
|
5447
5061
|
}, z.core.$strip>>;
|
|
5062
|
+
addonGroups: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
5063
|
+
groupId: z.ZodString;
|
|
5064
|
+
name: z.ZodString;
|
|
5065
|
+
sortOrder: z.ZodNumber;
|
|
5066
|
+
required: z.ZodBoolean;
|
|
5067
|
+
values: z.ZodArray<z.ZodObject<{
|
|
5068
|
+
valueId: z.ZodString;
|
|
5069
|
+
name: z.ZodString;
|
|
5070
|
+
sortOrder: z.ZodNumber;
|
|
5071
|
+
additionalPrice: z.ZodNumber;
|
|
5072
|
+
usable: z.ZodBoolean;
|
|
5073
|
+
}, z.core.$strip>>;
|
|
5074
|
+
}, z.core.$strip>>>>;
|
|
5075
|
+
customInputs: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
5076
|
+
inputId: z.ZodString;
|
|
5077
|
+
label: z.ZodString;
|
|
5078
|
+
placeholder: z.ZodNullable<z.ZodString>;
|
|
5079
|
+
maxLength: z.ZodNumber;
|
|
5080
|
+
required: z.ZodBoolean;
|
|
5081
|
+
usable: z.ZodBoolean;
|
|
5082
|
+
sortOrder: z.ZodNumber;
|
|
5083
|
+
}, z.core.$strip>>>>;
|
|
5084
|
+
optionSort: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
5085
|
+
REGISTERED: "REGISTERED";
|
|
5086
|
+
NAME: "NAME";
|
|
5087
|
+
PRICE_ASC: "PRICE_ASC";
|
|
5088
|
+
PRICE_DESC: "PRICE_DESC";
|
|
5089
|
+
}>>>;
|
|
5448
5090
|
fulfillment: z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
5449
5091
|
type: z.ZodLiteral<"SHIPPING">;
|
|
5450
5092
|
shipping: z.ZodObject<{
|
|
@@ -5459,35 +5101,7 @@ export declare const productSchema: z.ZodObject<{
|
|
|
5459
5101
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
5460
5102
|
}, z.core.$strip>;
|
|
5461
5103
|
}, z.core.$strip>, z.ZodObject<{
|
|
5462
|
-
type: z.ZodLiteral<"
|
|
5463
|
-
download: z.ZodObject<{
|
|
5464
|
-
limit: z.ZodNumber;
|
|
5465
|
-
days: z.ZodNumber;
|
|
5466
|
-
stockTracking: z.ZodBoolean;
|
|
5467
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
5468
|
-
}, z.core.$strip>;
|
|
5469
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
5470
|
-
type: z.ZodLiteral<"CODE">;
|
|
5471
|
-
code: z.ZodObject<{
|
|
5472
|
-
mode: z.ZodEnum<{
|
|
5473
|
-
AUTO: "AUTO";
|
|
5474
|
-
MANUAL: "MANUAL";
|
|
5475
|
-
}>;
|
|
5476
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
5477
|
-
}, z.core.$strip>;
|
|
5478
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
5479
|
-
type: z.ZodLiteral<"SERVICE">;
|
|
5480
|
-
service: z.ZodObject<{
|
|
5481
|
-
mode: z.ZodEnum<{
|
|
5482
|
-
AUTO: "AUTO";
|
|
5483
|
-
MANUAL: "MANUAL";
|
|
5484
|
-
}>;
|
|
5485
|
-
}, z.core.$strip>;
|
|
5486
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
5487
|
-
type: z.ZodLiteral<"PICKUP">;
|
|
5488
|
-
pickup: z.ZodObject<{
|
|
5489
|
-
addressId: z.ZodNullable<z.ZodString>;
|
|
5490
|
-
}, z.core.$strip>;
|
|
5104
|
+
type: z.ZodLiteral<"MANUAL">;
|
|
5491
5105
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
5492
5106
|
type: z.ZodString;
|
|
5493
5107
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
@@ -5543,12 +5157,6 @@ export interface ProductImageRejection {
|
|
|
5543
5157
|
* — 외부 이미지 CDN은 확장자 없는 키를 쓰는 경우가 흔하고, 주소만으로는 실제 형식을 알 수 없다.
|
|
5544
5158
|
*/
|
|
5545
5159
|
export declare function productImageRejection(url: string): ProductImageRejection | null;
|
|
5546
|
-
/** 옵션 축(그룹) 최대 개수 — 스키마 상한의 단일 원천 */
|
|
5547
|
-
export declare const MAX_OPTION_GROUPS = 3;
|
|
5548
|
-
/** 축 하나가 가질 수 있는 값의 최대 개수 */
|
|
5549
|
-
export declare const MAX_VALUES_PER_GROUP = 100;
|
|
5550
|
-
/** 상품 하나가 가질 수 있는 variant(SKU) 최대 개수 */
|
|
5551
|
-
export declare const MAX_VARIANTS = 500;
|
|
5552
5160
|
export declare const optionValueRequestSchema: z.ZodObject<{
|
|
5553
5161
|
valueId: z.ZodOptional<z.ZodString>;
|
|
5554
5162
|
name: z.ZodString;
|
|
@@ -5598,6 +5206,31 @@ export declare const optionModelRequestSchema: z.ZodObject<{
|
|
|
5598
5206
|
sellerCode: z.ZodOptional<z.ZodString>;
|
|
5599
5207
|
usable: z.ZodDefault<z.ZodBoolean>;
|
|
5600
5208
|
}, z.core.$strip>>;
|
|
5209
|
+
addonGroups: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
5210
|
+
groupId: z.ZodOptional<z.ZodString>;
|
|
5211
|
+
name: z.ZodString;
|
|
5212
|
+
required: z.ZodDefault<z.ZodBoolean>;
|
|
5213
|
+
values: z.ZodArray<z.ZodObject<{
|
|
5214
|
+
valueId: z.ZodOptional<z.ZodString>;
|
|
5215
|
+
name: z.ZodString;
|
|
5216
|
+
additionalPrice: z.ZodDefault<z.ZodNumber>;
|
|
5217
|
+
usable: z.ZodDefault<z.ZodBoolean>;
|
|
5218
|
+
}, z.core.$strip>>;
|
|
5219
|
+
}, z.core.$strip>>>;
|
|
5220
|
+
customInputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
5221
|
+
inputId: z.ZodOptional<z.ZodString>;
|
|
5222
|
+
label: z.ZodString;
|
|
5223
|
+
placeholder: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
5224
|
+
maxLength: z.ZodNumber;
|
|
5225
|
+
required: z.ZodDefault<z.ZodBoolean>;
|
|
5226
|
+
usable: z.ZodDefault<z.ZodBoolean>;
|
|
5227
|
+
}, z.core.$strip>>>;
|
|
5228
|
+
optionSort: z.ZodOptional<z.ZodEnum<{
|
|
5229
|
+
REGISTERED: "REGISTERED";
|
|
5230
|
+
NAME: "NAME";
|
|
5231
|
+
PRICE_ASC: "PRICE_ASC";
|
|
5232
|
+
PRICE_DESC: "PRICE_DESC";
|
|
5233
|
+
}>>;
|
|
5601
5234
|
}, z.core.$strip>;
|
|
5602
5235
|
export type OptionModelRequest = z.infer<typeof optionModelRequestSchema>;
|
|
5603
5236
|
/** GET /products/{productId}/options 응답 */
|
|
@@ -5624,7 +5257,36 @@ export declare const optionModelSchema: z.ZodObject<{
|
|
|
5624
5257
|
weightGram: z.ZodNullable<z.ZodNumber>;
|
|
5625
5258
|
sellerCode: z.ZodNullable<z.ZodString>;
|
|
5626
5259
|
usable: z.ZodBoolean;
|
|
5260
|
+
hasOrders: z.ZodOptional<z.ZodBoolean>;
|
|
5627
5261
|
}, z.core.$strip>>;
|
|
5262
|
+
addonGroups: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
5263
|
+
groupId: z.ZodString;
|
|
5264
|
+
name: z.ZodString;
|
|
5265
|
+
sortOrder: z.ZodNumber;
|
|
5266
|
+
required: z.ZodBoolean;
|
|
5267
|
+
values: z.ZodArray<z.ZodObject<{
|
|
5268
|
+
valueId: z.ZodString;
|
|
5269
|
+
name: z.ZodString;
|
|
5270
|
+
sortOrder: z.ZodNumber;
|
|
5271
|
+
additionalPrice: z.ZodNumber;
|
|
5272
|
+
usable: z.ZodBoolean;
|
|
5273
|
+
}, z.core.$strip>>;
|
|
5274
|
+
}, z.core.$strip>>>>;
|
|
5275
|
+
customInputs: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
5276
|
+
inputId: z.ZodString;
|
|
5277
|
+
label: z.ZodString;
|
|
5278
|
+
placeholder: z.ZodNullable<z.ZodString>;
|
|
5279
|
+
maxLength: z.ZodNumber;
|
|
5280
|
+
required: z.ZodBoolean;
|
|
5281
|
+
usable: z.ZodBoolean;
|
|
5282
|
+
sortOrder: z.ZodNumber;
|
|
5283
|
+
}, z.core.$strip>>>>;
|
|
5284
|
+
optionSort: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
5285
|
+
REGISTERED: "REGISTERED";
|
|
5286
|
+
NAME: "NAME";
|
|
5287
|
+
PRICE_ASC: "PRICE_ASC";
|
|
5288
|
+
PRICE_DESC: "PRICE_DESC";
|
|
5289
|
+
}>>>;
|
|
5628
5290
|
}, z.core.$strip>;
|
|
5629
5291
|
export type OptionModel = z.infer<typeof optionModelSchema>;
|
|
5630
5292
|
/**
|
|
@@ -5662,36 +5324,9 @@ export declare const productCreateRequestSchema: z.ZodObject<{
|
|
|
5662
5324
|
returnAddressId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
5663
5325
|
}, z.core.$strict>>;
|
|
5664
5326
|
}, z.core.$strict>, z.ZodObject<{
|
|
5665
|
-
type: z.ZodLiteral<"
|
|
5666
|
-
download: z.ZodDefault<z.ZodObject<{
|
|
5667
|
-
limit: z.ZodDefault<z.ZodNumber>;
|
|
5668
|
-
days: z.ZodDefault<z.ZodNumber>;
|
|
5669
|
-
stockTracking: z.ZodDefault<z.ZodBoolean>;
|
|
5670
|
-
withdrawalRestricted: z.ZodDefault<z.ZodBoolean>;
|
|
5671
|
-
}, z.core.$strict>>;
|
|
5672
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
5673
|
-
type: z.ZodLiteral<"CODE">;
|
|
5674
|
-
code: z.ZodDefault<z.ZodObject<{
|
|
5675
|
-
mode: z.ZodDefault<z.ZodEnum<{
|
|
5676
|
-
AUTO: "AUTO";
|
|
5677
|
-
MANUAL: "MANUAL";
|
|
5678
|
-
}>>;
|
|
5679
|
-
withdrawalRestricted: z.ZodDefault<z.ZodBoolean>;
|
|
5680
|
-
}, z.core.$strict>>;
|
|
5681
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
5682
|
-
type: z.ZodLiteral<"SERVICE">;
|
|
5683
|
-
service: z.ZodDefault<z.ZodObject<{
|
|
5684
|
-
mode: z.ZodDefault<z.ZodEnum<{
|
|
5685
|
-
AUTO: "AUTO";
|
|
5686
|
-
MANUAL: "MANUAL";
|
|
5687
|
-
}>>;
|
|
5688
|
-
}, z.core.$strict>>;
|
|
5689
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
5690
|
-
type: z.ZodLiteral<"PICKUP">;
|
|
5691
|
-
pickup: z.ZodDefault<z.ZodObject<{
|
|
5692
|
-
addressId: z.ZodOptional<z.ZodString>;
|
|
5693
|
-
}, z.core.$strict>>;
|
|
5327
|
+
type: z.ZodLiteral<"MANUAL">;
|
|
5694
5328
|
}, z.core.$strict>], "type">>;
|
|
5329
|
+
sourceOptionSetIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
5695
5330
|
optionGroups: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
5696
5331
|
groupId: z.ZodOptional<z.ZodString>;
|
|
5697
5332
|
name: z.ZodString;
|
|
@@ -5712,6 +5347,31 @@ export declare const productCreateRequestSchema: z.ZodObject<{
|
|
|
5712
5347
|
sellerCode: z.ZodOptional<z.ZodString>;
|
|
5713
5348
|
usable: z.ZodDefault<z.ZodBoolean>;
|
|
5714
5349
|
}, z.core.$strip>>;
|
|
5350
|
+
addonGroups: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
5351
|
+
groupId: z.ZodOptional<z.ZodString>;
|
|
5352
|
+
name: z.ZodString;
|
|
5353
|
+
required: z.ZodDefault<z.ZodBoolean>;
|
|
5354
|
+
values: z.ZodArray<z.ZodObject<{
|
|
5355
|
+
valueId: z.ZodOptional<z.ZodString>;
|
|
5356
|
+
name: z.ZodString;
|
|
5357
|
+
additionalPrice: z.ZodDefault<z.ZodNumber>;
|
|
5358
|
+
usable: z.ZodDefault<z.ZodBoolean>;
|
|
5359
|
+
}, z.core.$strip>>;
|
|
5360
|
+
}, z.core.$strip>>>;
|
|
5361
|
+
customInputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
5362
|
+
inputId: z.ZodOptional<z.ZodString>;
|
|
5363
|
+
label: z.ZodString;
|
|
5364
|
+
placeholder: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
5365
|
+
maxLength: z.ZodNumber;
|
|
5366
|
+
required: z.ZodDefault<z.ZodBoolean>;
|
|
5367
|
+
usable: z.ZodDefault<z.ZodBoolean>;
|
|
5368
|
+
}, z.core.$strip>>>;
|
|
5369
|
+
optionSort: z.ZodOptional<z.ZodEnum<{
|
|
5370
|
+
REGISTERED: "REGISTERED";
|
|
5371
|
+
NAME: "NAME";
|
|
5372
|
+
PRICE_ASC: "PRICE_ASC";
|
|
5373
|
+
PRICE_DESC: "PRICE_DESC";
|
|
5374
|
+
}>>;
|
|
5715
5375
|
name: z.ZodString;
|
|
5716
5376
|
categoryId: z.ZodString;
|
|
5717
5377
|
salePrice: z.ZodNumber;
|
|
@@ -5749,36 +5409,9 @@ export declare const productReplaceRequestSchema: z.ZodObject<{
|
|
|
5749
5409
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
5750
5410
|
}, z.core.$strict>;
|
|
5751
5411
|
}, z.core.$strict>, z.ZodObject<{
|
|
5752
|
-
type: z.ZodLiteral<"
|
|
5753
|
-
download: z.ZodObject<{
|
|
5754
|
-
limit: z.ZodNumber;
|
|
5755
|
-
days: z.ZodNumber;
|
|
5756
|
-
stockTracking: z.ZodBoolean;
|
|
5757
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
5758
|
-
}, z.core.$strict>;
|
|
5759
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
5760
|
-
type: z.ZodLiteral<"CODE">;
|
|
5761
|
-
code: z.ZodObject<{
|
|
5762
|
-
mode: z.ZodEnum<{
|
|
5763
|
-
AUTO: "AUTO";
|
|
5764
|
-
MANUAL: "MANUAL";
|
|
5765
|
-
}>;
|
|
5766
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
5767
|
-
}, z.core.$strict>;
|
|
5768
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
5769
|
-
type: z.ZodLiteral<"SERVICE">;
|
|
5770
|
-
service: z.ZodObject<{
|
|
5771
|
-
mode: z.ZodEnum<{
|
|
5772
|
-
AUTO: "AUTO";
|
|
5773
|
-
MANUAL: "MANUAL";
|
|
5774
|
-
}>;
|
|
5775
|
-
}, z.core.$strict>;
|
|
5776
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
5777
|
-
type: z.ZodLiteral<"PICKUP">;
|
|
5778
|
-
pickup: z.ZodObject<{
|
|
5779
|
-
addressId: z.ZodString;
|
|
5780
|
-
}, z.core.$strict>;
|
|
5412
|
+
type: z.ZodLiteral<"MANUAL">;
|
|
5781
5413
|
}, z.core.$strict>], "type">>;
|
|
5414
|
+
sourceOptionSetIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
5782
5415
|
optionGroups: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
5783
5416
|
groupId: z.ZodOptional<z.ZodString>;
|
|
5784
5417
|
name: z.ZodString;
|
|
@@ -5799,6 +5432,31 @@ export declare const productReplaceRequestSchema: z.ZodObject<{
|
|
|
5799
5432
|
sellerCode: z.ZodOptional<z.ZodString>;
|
|
5800
5433
|
usable: z.ZodDefault<z.ZodBoolean>;
|
|
5801
5434
|
}, z.core.$strip>>;
|
|
5435
|
+
addonGroups: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
5436
|
+
groupId: z.ZodOptional<z.ZodString>;
|
|
5437
|
+
name: z.ZodString;
|
|
5438
|
+
required: z.ZodDefault<z.ZodBoolean>;
|
|
5439
|
+
values: z.ZodArray<z.ZodObject<{
|
|
5440
|
+
valueId: z.ZodOptional<z.ZodString>;
|
|
5441
|
+
name: z.ZodString;
|
|
5442
|
+
additionalPrice: z.ZodDefault<z.ZodNumber>;
|
|
5443
|
+
usable: z.ZodDefault<z.ZodBoolean>;
|
|
5444
|
+
}, z.core.$strip>>;
|
|
5445
|
+
}, z.core.$strip>>>;
|
|
5446
|
+
customInputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
5447
|
+
inputId: z.ZodOptional<z.ZodString>;
|
|
5448
|
+
label: z.ZodString;
|
|
5449
|
+
placeholder: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
5450
|
+
maxLength: z.ZodNumber;
|
|
5451
|
+
required: z.ZodDefault<z.ZodBoolean>;
|
|
5452
|
+
usable: z.ZodDefault<z.ZodBoolean>;
|
|
5453
|
+
}, z.core.$strip>>>;
|
|
5454
|
+
optionSort: z.ZodOptional<z.ZodEnum<{
|
|
5455
|
+
REGISTERED: "REGISTERED";
|
|
5456
|
+
NAME: "NAME";
|
|
5457
|
+
PRICE_ASC: "PRICE_ASC";
|
|
5458
|
+
PRICE_DESC: "PRICE_DESC";
|
|
5459
|
+
}>>;
|
|
5802
5460
|
name: z.ZodString;
|
|
5803
5461
|
categoryId: z.ZodString;
|
|
5804
5462
|
salePrice: z.ZodNumber;
|
|
@@ -5843,35 +5501,7 @@ export declare const productPatchRequestSchema: z.ZodObject<{
|
|
|
5843
5501
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
5844
5502
|
}, z.core.$strict>;
|
|
5845
5503
|
}, z.core.$strict>, z.ZodObject<{
|
|
5846
|
-
type: z.ZodLiteral<"
|
|
5847
|
-
download: z.ZodObject<{
|
|
5848
|
-
limit: z.ZodNumber;
|
|
5849
|
-
days: z.ZodNumber;
|
|
5850
|
-
stockTracking: z.ZodBoolean;
|
|
5851
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
5852
|
-
}, z.core.$strict>;
|
|
5853
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
5854
|
-
type: z.ZodLiteral<"CODE">;
|
|
5855
|
-
code: z.ZodObject<{
|
|
5856
|
-
mode: z.ZodEnum<{
|
|
5857
|
-
AUTO: "AUTO";
|
|
5858
|
-
MANUAL: "MANUAL";
|
|
5859
|
-
}>;
|
|
5860
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
5861
|
-
}, z.core.$strict>;
|
|
5862
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
5863
|
-
type: z.ZodLiteral<"SERVICE">;
|
|
5864
|
-
service: z.ZodObject<{
|
|
5865
|
-
mode: z.ZodEnum<{
|
|
5866
|
-
AUTO: "AUTO";
|
|
5867
|
-
MANUAL: "MANUAL";
|
|
5868
|
-
}>;
|
|
5869
|
-
}, z.core.$strict>;
|
|
5870
|
-
}, z.core.$strict>, z.ZodObject<{
|
|
5871
|
-
type: z.ZodLiteral<"PICKUP">;
|
|
5872
|
-
pickup: z.ZodObject<{
|
|
5873
|
-
addressId: z.ZodString;
|
|
5874
|
-
}, z.core.$strict>;
|
|
5504
|
+
type: z.ZodLiteral<"MANUAL">;
|
|
5875
5505
|
}, z.core.$strict>], "type">>;
|
|
5876
5506
|
refundPolicy: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
5877
5507
|
preShipmentDeliveryFeeRefund: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -5929,6 +5559,210 @@ export declare const discountRequestSchema: z.ZodObject<{
|
|
|
5929
5559
|
}, z.core.$strip>;
|
|
5930
5560
|
export type DiscountRequest = z.infer<typeof discountRequestSchema>;
|
|
5931
5561
|
//#endregion
|
|
5562
|
+
//#region src/schemas/saved-option-set.d.ts
|
|
5563
|
+
/**
|
|
5564
|
+
* 저장 옵션 (이슈 #59) — 자주 쓰는 옵션 구성을 이름 붙여 두고 상품 등록에서 불러온다.
|
|
5565
|
+
*
|
|
5566
|
+
* **불러오기는 복사다.** 저장 옵션을 고치거나 지워도 이미 불러온 상품의 옵션은 그대로다. 재고·SKU·사용 여부는 상품마다
|
|
5567
|
+
* 달라 저장하지 않는다. 추가금은 조합별이 아니라 **값별**로 둔다 — 조합 옵션으로 불러오면 조합 추가금은 고른 값 추가금의 합이다.
|
|
5568
|
+
*/
|
|
5569
|
+
/** 스토어당 저장 옵션 최대 개수 */
|
|
5570
|
+
export declare const MAX_SAVED_OPTION_SETS = 200;
|
|
5571
|
+
/** 저장 옵션 이름 최대 글자 수 */
|
|
5572
|
+
export declare const MAX_SAVED_OPTION_SET_NAME = 50;
|
|
5573
|
+
/** 옵션명 방식 — `combination`(조합: 값의 조합이 판매 단위가 된다)·`addon`(추가 선택: 재고 없이 추가금만) */
|
|
5574
|
+
export declare const optionGroupKindSchema: z.ZodEnum<{
|
|
5575
|
+
combination: "combination";
|
|
5576
|
+
addon: "addon";
|
|
5577
|
+
}>;
|
|
5578
|
+
export type OptionGroupKind = z.infer<typeof optionGroupKindSchema>;
|
|
5579
|
+
export declare const savedOptionValueSchema: z.ZodObject<{
|
|
5580
|
+
name: z.ZodString;
|
|
5581
|
+
additionalPrice: z.ZodNumber;
|
|
5582
|
+
}, z.core.$strip>;
|
|
5583
|
+
export declare const savedOptionGroupSchema: z.ZodObject<{
|
|
5584
|
+
name: z.ZodString;
|
|
5585
|
+
kind: z.ZodString;
|
|
5586
|
+
required: z.ZodBoolean;
|
|
5587
|
+
values: z.ZodArray<z.ZodObject<{
|
|
5588
|
+
name: z.ZodString;
|
|
5589
|
+
additionalPrice: z.ZodNumber;
|
|
5590
|
+
}, z.core.$strip>>;
|
|
5591
|
+
}, z.core.$strip>;
|
|
5592
|
+
export type SavedOptionGroup = z.infer<typeof savedOptionGroupSchema>;
|
|
5593
|
+
export declare const savedCustomInputSchema: z.ZodObject<{
|
|
5594
|
+
label: z.ZodString;
|
|
5595
|
+
placeholder: z.ZodNullable<z.ZodString>;
|
|
5596
|
+
maxLength: z.ZodNumber;
|
|
5597
|
+
required: z.ZodBoolean;
|
|
5598
|
+
}, z.core.$strip>;
|
|
5599
|
+
export type SavedCustomInput = z.infer<typeof savedCustomInputSchema>;
|
|
5600
|
+
export declare const savedOptionSetSchema: z.ZodObject<{
|
|
5601
|
+
optionSetId: z.ZodString;
|
|
5602
|
+
name: z.ZodString;
|
|
5603
|
+
optionSort: z.ZodEnum<{
|
|
5604
|
+
REGISTERED: "REGISTERED";
|
|
5605
|
+
NAME: "NAME";
|
|
5606
|
+
PRICE_ASC: "PRICE_ASC";
|
|
5607
|
+
PRICE_DESC: "PRICE_DESC";
|
|
5608
|
+
}>;
|
|
5609
|
+
groups: z.ZodArray<z.ZodObject<{
|
|
5610
|
+
name: z.ZodString;
|
|
5611
|
+
kind: z.ZodString;
|
|
5612
|
+
required: z.ZodBoolean;
|
|
5613
|
+
values: z.ZodArray<z.ZodObject<{
|
|
5614
|
+
name: z.ZodString;
|
|
5615
|
+
additionalPrice: z.ZodNumber;
|
|
5616
|
+
}, z.core.$strip>>;
|
|
5617
|
+
}, z.core.$strip>>;
|
|
5618
|
+
customInputs: z.ZodArray<z.ZodObject<{
|
|
5619
|
+
label: z.ZodString;
|
|
5620
|
+
placeholder: z.ZodNullable<z.ZodString>;
|
|
5621
|
+
maxLength: z.ZodNumber;
|
|
5622
|
+
required: z.ZodBoolean;
|
|
5623
|
+
}, z.core.$strip>>;
|
|
5624
|
+
importedProductCount: z.ZodNumber;
|
|
5625
|
+
createdAt: z.ZodString;
|
|
5626
|
+
updatedAt: z.ZodString;
|
|
5627
|
+
}, z.core.$strip>;
|
|
5628
|
+
export type SavedOptionSet = z.infer<typeof savedOptionSetSchema>;
|
|
5629
|
+
export declare const savedOptionValueRequestSchema: z.ZodObject<{
|
|
5630
|
+
name: z.ZodString;
|
|
5631
|
+
additionalPrice: z.ZodDefault<z.ZodNumber>;
|
|
5632
|
+
}, z.core.$strip>;
|
|
5633
|
+
export declare const savedOptionGroupRequestSchema: z.ZodObject<{
|
|
5634
|
+
name: z.ZodString;
|
|
5635
|
+
kind: z.ZodEnum<{
|
|
5636
|
+
combination: "combination";
|
|
5637
|
+
addon: "addon";
|
|
5638
|
+
}>;
|
|
5639
|
+
required: z.ZodDefault<z.ZodBoolean>;
|
|
5640
|
+
values: z.ZodArray<z.ZodObject<{
|
|
5641
|
+
name: z.ZodString;
|
|
5642
|
+
additionalPrice: z.ZodDefault<z.ZodNumber>;
|
|
5643
|
+
}, z.core.$strip>>;
|
|
5644
|
+
}, z.core.$strip>;
|
|
5645
|
+
export type SavedOptionGroupRequest = z.infer<typeof savedOptionGroupRequestSchema>;
|
|
5646
|
+
export declare const savedCustomInputRequestSchema: z.ZodObject<{
|
|
5647
|
+
label: z.ZodString;
|
|
5648
|
+
placeholder: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
5649
|
+
maxLength: z.ZodNumber;
|
|
5650
|
+
required: z.ZodDefault<z.ZodBoolean>;
|
|
5651
|
+
}, z.core.$strip>;
|
|
5652
|
+
/**
|
|
5653
|
+
* 저장 옵션 만들기·수정 본문. 조합 옵션명은 최대 `MAX_OPTION_GROUPS`개, 추가 선택은 최대 `MAX_ADDON_GROUPS`개이고
|
|
5654
|
+
* 옵션명과 직접 입력 항목이 모두 비면 400이다. 수정(PUT)은 통째로 바꾼다.
|
|
5655
|
+
*/
|
|
5656
|
+
export declare const savedOptionSetRequestSchema: z.ZodObject<{
|
|
5657
|
+
name: z.ZodString;
|
|
5658
|
+
optionSort: z.ZodDefault<z.ZodEnum<{
|
|
5659
|
+
REGISTERED: "REGISTERED";
|
|
5660
|
+
NAME: "NAME";
|
|
5661
|
+
PRICE_ASC: "PRICE_ASC";
|
|
5662
|
+
PRICE_DESC: "PRICE_DESC";
|
|
5663
|
+
}>>;
|
|
5664
|
+
groups: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
5665
|
+
name: z.ZodString;
|
|
5666
|
+
kind: z.ZodEnum<{
|
|
5667
|
+
combination: "combination";
|
|
5668
|
+
addon: "addon";
|
|
5669
|
+
}>;
|
|
5670
|
+
required: z.ZodDefault<z.ZodBoolean>;
|
|
5671
|
+
values: z.ZodArray<z.ZodObject<{
|
|
5672
|
+
name: z.ZodString;
|
|
5673
|
+
additionalPrice: z.ZodDefault<z.ZodNumber>;
|
|
5674
|
+
}, z.core.$strip>>;
|
|
5675
|
+
}, z.core.$strip>>>;
|
|
5676
|
+
customInputs: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
5677
|
+
label: z.ZodString;
|
|
5678
|
+
placeholder: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
5679
|
+
maxLength: z.ZodNumber;
|
|
5680
|
+
required: z.ZodDefault<z.ZodBoolean>;
|
|
5681
|
+
}, z.core.$strip>>>;
|
|
5682
|
+
}, z.core.$strip>;
|
|
5683
|
+
export type SavedOptionSetRequest = z.infer<typeof savedOptionSetRequestSchema>;
|
|
5684
|
+
export type SavedOptionSetRequestInput = z.input<typeof savedOptionSetRequestSchema>;
|
|
5685
|
+
/**
|
|
5686
|
+
* 상품에서 저장 (`POST /v1/saved-option-sets/from-product`) — 상품의 현재 옵션을 저장 옵션으로 만든다.
|
|
5687
|
+
*
|
|
5688
|
+
* 조합 추가금이 값별 추가금의 합으로 되돌려지면 값별로 저장하고, 조합마다 제각각이면 추가금을 빼고
|
|
5689
|
+
* 응답 `additionalPriceDropped: true`로 알린다. `replaceOptionSetId`를 주면 그 저장 옵션을 덮어쓴다(이름 중복의 덮어쓰기).
|
|
5690
|
+
*/
|
|
5691
|
+
export declare const savedOptionSetFromProductRequestSchema: z.ZodObject<{
|
|
5692
|
+
productId: z.ZodString;
|
|
5693
|
+
name: z.ZodString;
|
|
5694
|
+
includeOptions: z.ZodDefault<z.ZodBoolean>;
|
|
5695
|
+
includeCustomInputs: z.ZodDefault<z.ZodBoolean>;
|
|
5696
|
+
replaceOptionSetId: z.ZodOptional<z.ZodString>;
|
|
5697
|
+
}, z.core.$strip>;
|
|
5698
|
+
export type SavedOptionSetFromProductRequest = z.infer<typeof savedOptionSetFromProductRequestSchema>;
|
|
5699
|
+
export type SavedOptionSetFromProductRequestInput = z.input<typeof savedOptionSetFromProductRequestSchema>;
|
|
5700
|
+
export declare const savedOptionSetFromProductResultSchema: z.ZodObject<{
|
|
5701
|
+
optionSet: z.ZodObject<{
|
|
5702
|
+
optionSetId: z.ZodString;
|
|
5703
|
+
name: z.ZodString;
|
|
5704
|
+
optionSort: z.ZodEnum<{
|
|
5705
|
+
REGISTERED: "REGISTERED";
|
|
5706
|
+
NAME: "NAME";
|
|
5707
|
+
PRICE_ASC: "PRICE_ASC";
|
|
5708
|
+
PRICE_DESC: "PRICE_DESC";
|
|
5709
|
+
}>;
|
|
5710
|
+
groups: z.ZodArray<z.ZodObject<{
|
|
5711
|
+
name: z.ZodString;
|
|
5712
|
+
kind: z.ZodString;
|
|
5713
|
+
required: z.ZodBoolean;
|
|
5714
|
+
values: z.ZodArray<z.ZodObject<{
|
|
5715
|
+
name: z.ZodString;
|
|
5716
|
+
additionalPrice: z.ZodNumber;
|
|
5717
|
+
}, z.core.$strip>>;
|
|
5718
|
+
}, z.core.$strip>>;
|
|
5719
|
+
customInputs: z.ZodArray<z.ZodObject<{
|
|
5720
|
+
label: z.ZodString;
|
|
5721
|
+
placeholder: z.ZodNullable<z.ZodString>;
|
|
5722
|
+
maxLength: z.ZodNumber;
|
|
5723
|
+
required: z.ZodBoolean;
|
|
5724
|
+
}, z.core.$strip>>;
|
|
5725
|
+
importedProductCount: z.ZodNumber;
|
|
5726
|
+
createdAt: z.ZodString;
|
|
5727
|
+
updatedAt: z.ZodString;
|
|
5728
|
+
}, z.core.$strip>;
|
|
5729
|
+
additionalPriceDropped: z.ZodBoolean;
|
|
5730
|
+
}, z.core.$strip>;
|
|
5731
|
+
export type SavedOptionSetFromProductResult = z.infer<typeof savedOptionSetFromProductResultSchema>;
|
|
5732
|
+
/** 구성 필터 — 조합 옵션명·추가 선택 옵션명·직접 입력 항목을 가진 저장 옵션 */
|
|
5733
|
+
export declare const savedOptionSetCompositionSchema: z.ZodEnum<{
|
|
5734
|
+
combination: "combination";
|
|
5735
|
+
addon: "addon";
|
|
5736
|
+
customInput: "customInput";
|
|
5737
|
+
}>;
|
|
5738
|
+
export declare const savedOptionSetSortSchema: z.ZodEnum<{
|
|
5739
|
+
"updatedAt.desc": "updatedAt.desc";
|
|
5740
|
+
"name.asc": "name.asc";
|
|
5741
|
+
"importedProductCount.desc": "importedProductCount.desc";
|
|
5742
|
+
}>;
|
|
5743
|
+
export type SavedOptionSetSort = z.infer<typeof savedOptionSetSortSchema>;
|
|
5744
|
+
export interface SavedOptionSetListParams extends PageParams {
|
|
5745
|
+
keyword?: string;
|
|
5746
|
+
composition?: z.infer<typeof savedOptionSetCompositionSchema>;
|
|
5747
|
+
sort?: SavedOptionSetSort;
|
|
5748
|
+
}
|
|
5749
|
+
/** `GET /v1/saved-option-sets` 쿼리 — OpenAPI 문서용 형태(값은 쿼리 문자열) */
|
|
5750
|
+
export declare const savedOptionSetListQuerySchema: z.ZodObject<{
|
|
5751
|
+
page: z.ZodOptional<z.ZodString>;
|
|
5752
|
+
size: z.ZodOptional<z.ZodString>;
|
|
5753
|
+
keyword: z.ZodOptional<z.ZodString>;
|
|
5754
|
+
composition: z.ZodOptional<z.ZodEnum<{
|
|
5755
|
+
combination: "combination";
|
|
5756
|
+
addon: "addon";
|
|
5757
|
+
customInput: "customInput";
|
|
5758
|
+
}>>;
|
|
5759
|
+
sort: z.ZodOptional<z.ZodEnum<{
|
|
5760
|
+
"updatedAt.desc": "updatedAt.desc";
|
|
5761
|
+
"name.asc": "name.asc";
|
|
5762
|
+
"importedProductCount.desc": "importedProductCount.desc";
|
|
5763
|
+
}>>;
|
|
5764
|
+
}, z.core.$strip>;
|
|
5765
|
+
//#endregion
|
|
5932
5766
|
//#region src/schemas/store.d.ts
|
|
5933
5767
|
/**
|
|
5934
5768
|
* 스토어 코드 규칙 — 스토어프론트 API가 테넌트를 가르는 값이다(`X-Store-Code` 헤더).
|
|
@@ -5969,8 +5803,6 @@ export declare const updateStoreRequestSchema: z.ZodObject<{
|
|
|
5969
5803
|
analyticsAllowedOrigins: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
5970
5804
|
storefrontOrigins: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
5971
5805
|
guestCheckoutEnabled: z.ZodOptional<z.ZodBoolean>;
|
|
5972
|
-
fulfillmentMailEnabled: z.ZodOptional<z.ZodBoolean>;
|
|
5973
|
-
withdrawalNotice: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
5974
5806
|
autoDeliverDays: z.ZodOptional<z.ZodNumber>;
|
|
5975
5807
|
autoConfirmDays: z.ZodOptional<z.ZodNumber>;
|
|
5976
5808
|
refundPolicy: z.ZodOptional<z.ZodObject<{
|
|
@@ -6009,8 +5841,6 @@ export declare const storeSchema: z.ZodObject<{
|
|
|
6009
5841
|
analyticsAllowedOrigins: z.ZodArray<z.ZodString>;
|
|
6010
5842
|
storefrontOrigins: z.ZodArray<z.ZodString>;
|
|
6011
5843
|
guestCheckoutEnabled: z.ZodBoolean;
|
|
6012
|
-
fulfillmentMailEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
6013
|
-
withdrawalNotice: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
6014
5844
|
autoDeliverDays: z.ZodNumber;
|
|
6015
5845
|
autoConfirmDays: z.ZodNumber;
|
|
6016
5846
|
refundPolicy: z.ZodObject<{
|
|
@@ -6069,8 +5899,8 @@ export declare const invitationSchema: z.ZodObject<{
|
|
|
6069
5899
|
STAFF: "STAFF";
|
|
6070
5900
|
}>;
|
|
6071
5901
|
status: z.ZodEnum<{
|
|
6072
|
-
EXPIRED: "EXPIRED";
|
|
6073
5902
|
PENDING: "PENDING";
|
|
5903
|
+
EXPIRED: "EXPIRED";
|
|
6074
5904
|
ACCEPTED: "ACCEPTED";
|
|
6075
5905
|
CANCELED: "CANCELED";
|
|
6076
5906
|
}>;
|
|
@@ -6109,8 +5939,8 @@ export type UpdateMemberRoleRequest = z.infer<typeof updateMemberRoleRequestSche
|
|
|
6109
5939
|
/** `GET /v1/store/invitations` 쿼리 — OpenAPI 문서용 형태 */
|
|
6110
5940
|
export declare const invitationListQuerySchema: z.ZodObject<{
|
|
6111
5941
|
status: z.ZodOptional<z.ZodEnum<{
|
|
6112
|
-
EXPIRED: "EXPIRED";
|
|
6113
5942
|
PENDING: "PENDING";
|
|
5943
|
+
EXPIRED: "EXPIRED";
|
|
6114
5944
|
ACCEPTED: "ACCEPTED";
|
|
6115
5945
|
CANCELED: "CANCELED";
|
|
6116
5946
|
}>>;
|
|
@@ -6125,12 +5955,10 @@ export declare const storeMemberRoleUpdatedSchema: z.ZodObject<{
|
|
|
6125
5955
|
}, z.core.$strip>;
|
|
6126
5956
|
export type StoreMemberRoleUpdated = z.infer<typeof storeMemberRoleUpdatedSchema>;
|
|
6127
5957
|
/**
|
|
6128
|
-
* 주소 유형 —
|
|
6129
|
-
* (이 값을 모르는 옛 SDK의 목록 파싱이 깨지지 않게).
|
|
5958
|
+
* 주소 유형 — 출고지·반품지.
|
|
6130
5959
|
*/
|
|
6131
5960
|
export declare const addressTypeSchema: z.ZodEnum<{
|
|
6132
5961
|
SHIPPING: "SHIPPING";
|
|
6133
|
-
PICKUP: "PICKUP";
|
|
6134
5962
|
RETURN: "RETURN";
|
|
6135
5963
|
}>;
|
|
6136
5964
|
export type AddressType = z.infer<typeof addressTypeSchema>;
|
|
@@ -6138,7 +5966,6 @@ export type AddressType = z.infer<typeof addressTypeSchema>;
|
|
|
6138
5966
|
export declare const sellerAddressListQuerySchema: z.ZodObject<{
|
|
6139
5967
|
type: z.ZodOptional<z.ZodEnum<{
|
|
6140
5968
|
SHIPPING: "SHIPPING";
|
|
6141
|
-
PICKUP: "PICKUP";
|
|
6142
5969
|
RETURN: "RETURN";
|
|
6143
5970
|
}>>;
|
|
6144
5971
|
}, z.core.$strip>;
|
|
@@ -6146,7 +5973,6 @@ export declare const sellerAddressSchema: z.ZodObject<{
|
|
|
6146
5973
|
addressId: z.ZodString;
|
|
6147
5974
|
type: z.ZodEnum<{
|
|
6148
5975
|
SHIPPING: "SHIPPING";
|
|
6149
|
-
PICKUP: "PICKUP";
|
|
6150
5976
|
RETURN: "RETURN";
|
|
6151
5977
|
}>;
|
|
6152
5978
|
name: z.ZodString;
|
|
@@ -6162,7 +5988,6 @@ export type SellerAddress = z.infer<typeof sellerAddressSchema>;
|
|
|
6162
5988
|
export declare const sellerAddressRequestSchema: z.ZodObject<{
|
|
6163
5989
|
type: z.ZodEnum<{
|
|
6164
5990
|
SHIPPING: "SHIPPING";
|
|
6165
|
-
PICKUP: "PICKUP";
|
|
6166
5991
|
RETURN: "RETURN";
|
|
6167
5992
|
}>;
|
|
6168
5993
|
name: z.ZodString;
|
|
@@ -6194,10 +6019,28 @@ export type SellerAddressRequest = z.infer<typeof sellerAddressRequestSchema>;
|
|
|
6194
6019
|
* - 409 `STOREFRONT_SITE_CREATE_LIMIT` — 사이트는 스토어당 30일에 3번까지 만든다
|
|
6195
6020
|
* - 409 `STOREFRONT_SITE_CHANGED` — 읽은 상태(`expected*`)와 현재 상태가 다르다. 다시 읽고 시도한다
|
|
6196
6021
|
* - 409 `STOREFRONT_SITE_NOT_ACTIVE` — 정지(`SUSPENDED`)된 사이트는 바꾸거나 끌 수 없다
|
|
6022
|
+
* - 409 `STORE_SUSPENDED` — 정지된 스토어에는 사이트를 만들 수 없다
|
|
6197
6023
|
* - 409 `STOREFRONT_VERSION_NOT_READY` — 빌드가 끝나지 않았거나 실패한 버전은 발행할 수 없다
|
|
6198
6024
|
* - 409 `STOREFRONT_NO_ROLLBACK_TARGET` — 되돌릴 이전 발행 버전이 없다
|
|
6199
6025
|
* - 400 `STOREFRONT_SLUG_CONFIRM_MISMATCH` — 호스팅 끄기 확인 입력이 현재 슬러그와 다르다
|
|
6200
6026
|
* - 503 `STOREFRONT_PREVIEW_NOT_CONFIGURED` — 미리보기 서명 키가 설정되지 않았다
|
|
6027
|
+
*
|
|
6028
|
+
* 편집(M2b, `/v1/storefront/site/editing`·`files/**`·`checks/**`·`verify`·`builds/**`, 버전 만들기):
|
|
6029
|
+
* - 403 `STOREFRONT_EDITING_DISABLED` — 플랫폼 편집 스위치가 꺼져 있다
|
|
6030
|
+
* - 503 `STOREFRONT_EDITING_NOT_CONFIGURED` — 편집 Sandbox가 설정되지 않았다
|
|
6031
|
+
* - 409 `EDIT_CAPACITY_FULL` — 플랫폼 전체 동시 편집 상한에 걸렸다. `error.details.retryAfterSeconds` 뒤에 다시 한다
|
|
6032
|
+
* - 409 `EDIT_SESSION_REQUIRED` — 편집 미리보기 링크: 편집 환경이 없다
|
|
6033
|
+
* - 409 `CHECK_RUNNING` — 이 사이트에서 다른 종류의 검사가 돌고 있다(`error.details.checkId`)
|
|
6034
|
+
* - 404 `STOREFRONT_CHECK_NOT_FOUND`
|
|
6035
|
+
* - 409 `FILE_CHANGED` — 해시 조건이 어긋났다. 아무것도 쓰지 않았다(`error.details.conflicts: [{ path, currentHash }]`)
|
|
6036
|
+
* - 409 `FILE_EXISTS` — 옮길 자리에 파일이 있다(`overwrite: true`로 덮는다)
|
|
6037
|
+
* - 404 `FILE_NOT_FOUND` — 파일이 없다
|
|
6038
|
+
* - 400 `INVALID_FILE_PATH` — 경로 형식이 틀렸거나 편집할 수 없는 경로다(`node_modules`·`dist`·`.env*` 등). 쓸 수 있는 곳은
|
|
6039
|
+
* `src/**`·`public/**`와 루트 설정 파일 몇 개이고, `package.json`·`pnpm-lock.yaml`은 읽기만 된다
|
|
6040
|
+
* - 413 `FILE_TOO_LARGE`·`WORKSPACE_TOO_LARGE` — 파일 하나 1MiB, 작업 트리 전체 20MiB·2,000개를 넘는다
|
|
6041
|
+
* - 409 `STOREFRONT_BUILD_IN_PROGRESS` — 이 사이트에 끝나지 않은 빌드가 있다(사이트당 하나)
|
|
6042
|
+
* - 404 `STOREFRONT_BUILD_NOT_FOUND`
|
|
6043
|
+
* - 502 `STOREFRONT_SANDBOX_UNAVAILABLE` — 편집 Sandbox 호출이 실패했다. 잠시 뒤 다시 한다
|
|
6201
6044
|
*/
|
|
6202
6045
|
/**
|
|
6203
6046
|
* 슬러그 형식 — 스토어 코드와 같은 DNS 라벨 규칙(소문자·숫자·하이픈 3~30자, 하이픈으로 시작·끝 불가)에
|
|
@@ -6206,7 +6049,18 @@ export type SellerAddressRequest = z.infer<typeof sellerAddressRequestSchema>;
|
|
|
6206
6049
|
export declare const STOREFRONT_SLUG_PATTERN: RegExp;
|
|
6207
6050
|
/** 호스팅 도메인에서 플랫폼이 쓰거나 쓸 이름 — 스토어 코드 예약어에 호스팅 전용 이름을 더한다 */
|
|
6208
6051
|
export declare const RESERVED_STOREFRONT_SLUGS: readonly string[];
|
|
6052
|
+
/**
|
|
6053
|
+
* 편집 미리보기 호스트 접미사 — 편집 미리보기 주소는 `{사이트 id 정규화}-preview.{호스팅 도메인}`이다(M2b). 사이트 주소와 같은
|
|
6054
|
+
* 1단계 이름이라 슬러그가 이 모양이면 남의 편집 미리보기 주소와 겹칠 수 있어 슬러그로 쓰지 못한다.
|
|
6055
|
+
*/
|
|
6056
|
+
export declare const STOREFRONT_EDIT_PREVIEW_SUFFIX = "-preview";
|
|
6209
6057
|
export declare function isReservedStorefrontSlug(slug: string): boolean;
|
|
6058
|
+
/**
|
|
6059
|
+
* 편집 미리보기 호스트 이름의 라벨 — 사이트 id의 `_`를 `-`로 바꾸고 `-preview`를 붙인다(`sfs_ab12cd34` → `sfs-ab12cd34-preview`).
|
|
6060
|
+
* 편집 Sandbox Worker(`apps/hosting-sandbox/src/preview-host.ts`)가 같은 규칙의 복제본을 들고 있고 api
|
|
6061
|
+
* `test/storefront-hosting-parity.spec.ts`가 둘을 대조한다. 규칙을 바꾸면 두 곳을 같이 고친다.
|
|
6062
|
+
*/
|
|
6063
|
+
export declare function storefrontEditPreviewLabelOf(siteId: string): string;
|
|
6210
6064
|
export declare const storefrontSlugSchema: z.ZodString;
|
|
6211
6065
|
/** 바꾼 슬러그를 다른 사이트가 가져가지 못하게 막는 기간(일). 보류 동안 옛 주소는 새 주소로 301한다 */
|
|
6212
6066
|
export declare const STOREFRONT_SLUG_HOLD_DAYS = 90;
|
|
@@ -6227,8 +6081,10 @@ export declare const storefrontTemplateSchema: z.ZodObject<{
|
|
|
6227
6081
|
}, z.core.$strip>;
|
|
6228
6082
|
export type StorefrontTemplate = z.infer<typeof storefrontTemplateSchema>;
|
|
6229
6083
|
/**
|
|
6230
|
-
* 버전 상태 —
|
|
6231
|
-
*
|
|
6084
|
+
* 버전 상태 — 템플릿 버전(`source: TEMPLATE`)은 템플릿 산출물을 그대로 쓰므로 만들 때 곧바로 `READY`다. 편집 버전
|
|
6085
|
+
* (`source: EDIT`, M2b)은 작업 트리 스냅샷을 빌드하는 동안 `BUILDING`이고, 빌드·규칙 검증을 통과하면 `READY`, 실패하면
|
|
6086
|
+
* `FAILED`다(실패 단계·로그 꼬리는 `buildId`의 빌드). 발행할 수 있는 것은 `READY`뿐이다. 발행 여부는 상태가 아니라 사이트의
|
|
6087
|
+
* 발행 포인터가 원천이다(`published`).
|
|
6232
6088
|
*/
|
|
6233
6089
|
export declare const storefrontVersionStatusSchema: z.ZodEnum<{
|
|
6234
6090
|
FAILED: "FAILED";
|
|
@@ -6249,6 +6105,11 @@ export declare const storefrontVersionSchema: z.ZodObject<{
|
|
|
6249
6105
|
published: z.ZodBoolean;
|
|
6250
6106
|
publishedAt: z.ZodNullable<z.ZodString>;
|
|
6251
6107
|
message: z.ZodNullable<z.ZodString>;
|
|
6108
|
+
source: z.ZodEnum<{
|
|
6109
|
+
TEMPLATE: "TEMPLATE";
|
|
6110
|
+
EDIT: "EDIT";
|
|
6111
|
+
}>;
|
|
6112
|
+
buildId: z.ZodNullable<z.ZodString>;
|
|
6252
6113
|
createdByType: z.ZodString;
|
|
6253
6114
|
createdAt: z.ZodString;
|
|
6254
6115
|
}, z.core.$strip>;
|
|
@@ -6296,6 +6157,23 @@ export declare const storefrontProvisioningSchema: z.ZodObject<{
|
|
|
6296
6157
|
syncedAt: z.ZodNullable<z.ZodString>;
|
|
6297
6158
|
}, z.core.$strip>;
|
|
6298
6159
|
export type StorefrontProvisioning = z.infer<typeof storefrontProvisioningSchema>;
|
|
6160
|
+
/**
|
|
6161
|
+
* 편집 미리보기 주소(M2b) — 사이트마다 `{사이트 id 정규화}-preview.{호스팅 도메인}` 호스트 하나다. 호스팅 도메인의 와일드카드
|
|
6162
|
+
* 인증서가 덮으므로 따로 준비할 것이 없다. 이 주소는 편집 미리보기 링크(콘솔 전용)로 받은 쿠키가 있어야 열린다.
|
|
6163
|
+
*/
|
|
6164
|
+
export declare const storefrontEditPreviewSchema: z.ZodObject<{
|
|
6165
|
+
hostname: z.ZodNullable<z.ZodString>;
|
|
6166
|
+
}, z.core.$strip>;
|
|
6167
|
+
export type StorefrontEditPreview = z.infer<typeof storefrontEditPreviewSchema>;
|
|
6168
|
+
/**
|
|
6169
|
+
* 사이트 정지 — 운영 정책에 따라 플랫폼 운영자가 사이트를 정지한다. 정지 중에는 방문자에게 정지 안내가 보이고 발행·되돌리기·템플릿 변경·
|
|
6170
|
+
* 공개 전환·슬러그 변경·끄기·편집이 409 `STOREFRONT_SITE_NOT_ACTIVE`다. 셀러가 풀 수 없다(고객센터로 문의한다).
|
|
6171
|
+
*/
|
|
6172
|
+
export declare const storefrontSuspensionSchema: z.ZodObject<{
|
|
6173
|
+
reason: z.ZodNullable<z.ZodString>;
|
|
6174
|
+
suspendedAt: z.ZodNullable<z.ZodString>;
|
|
6175
|
+
}, z.core.$strip>;
|
|
6176
|
+
export type StorefrontSuspension = z.infer<typeof storefrontSuspensionSchema>;
|
|
6299
6177
|
export declare const storefrontSiteSchema: z.ZodObject<{
|
|
6300
6178
|
siteId: z.ZodString;
|
|
6301
6179
|
slug: z.ZodString;
|
|
@@ -6341,6 +6219,11 @@ export declare const storefrontSiteSchema: z.ZodObject<{
|
|
|
6341
6219
|
published: z.ZodBoolean;
|
|
6342
6220
|
publishedAt: z.ZodNullable<z.ZodString>;
|
|
6343
6221
|
message: z.ZodNullable<z.ZodString>;
|
|
6222
|
+
source: z.ZodEnum<{
|
|
6223
|
+
TEMPLATE: "TEMPLATE";
|
|
6224
|
+
EDIT: "EDIT";
|
|
6225
|
+
}>;
|
|
6226
|
+
buildId: z.ZodNullable<z.ZodString>;
|
|
6344
6227
|
createdByType: z.ZodString;
|
|
6345
6228
|
createdAt: z.ZodString;
|
|
6346
6229
|
}, z.core.$strip>>;
|
|
@@ -6353,7 +6236,14 @@ export declare const storefrontSiteSchema: z.ZodObject<{
|
|
|
6353
6236
|
lastErrorCode: z.ZodNullable<z.ZodString>;
|
|
6354
6237
|
syncedAt: z.ZodNullable<z.ZodString>;
|
|
6355
6238
|
}, z.core.$strip>;
|
|
6239
|
+
editPreview: z.ZodObject<{
|
|
6240
|
+
hostname: z.ZodNullable<z.ZodString>;
|
|
6241
|
+
}, z.core.$strip>;
|
|
6356
6242
|
slugChangesRemaining: z.ZodNumber;
|
|
6243
|
+
suspension: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
6244
|
+
reason: z.ZodNullable<z.ZodString>;
|
|
6245
|
+
suspendedAt: z.ZodNullable<z.ZodString>;
|
|
6246
|
+
}, z.core.$strip>>>;
|
|
6357
6247
|
createdAt: z.ZodString;
|
|
6358
6248
|
updatedAt: z.ZodString;
|
|
6359
6249
|
}, z.core.$strip>;
|
|
@@ -6362,6 +6252,7 @@ export type StorefrontSite = z.infer<typeof storefrontSiteSchema>;
|
|
|
6362
6252
|
export declare const storefrontHostingSchema: z.ZodObject<{
|
|
6363
6253
|
enabled: z.ZodBoolean;
|
|
6364
6254
|
domain: z.ZodString;
|
|
6255
|
+
editingEnabled: z.ZodBoolean;
|
|
6365
6256
|
site: z.ZodNullable<z.ZodObject<{
|
|
6366
6257
|
siteId: z.ZodString;
|
|
6367
6258
|
slug: z.ZodString;
|
|
@@ -6407,6 +6298,11 @@ export declare const storefrontHostingSchema: z.ZodObject<{
|
|
|
6407
6298
|
published: z.ZodBoolean;
|
|
6408
6299
|
publishedAt: z.ZodNullable<z.ZodString>;
|
|
6409
6300
|
message: z.ZodNullable<z.ZodString>;
|
|
6301
|
+
source: z.ZodEnum<{
|
|
6302
|
+
TEMPLATE: "TEMPLATE";
|
|
6303
|
+
EDIT: "EDIT";
|
|
6304
|
+
}>;
|
|
6305
|
+
buildId: z.ZodNullable<z.ZodString>;
|
|
6410
6306
|
createdByType: z.ZodString;
|
|
6411
6307
|
createdAt: z.ZodString;
|
|
6412
6308
|
}, z.core.$strip>>;
|
|
@@ -6419,7 +6315,14 @@ export declare const storefrontHostingSchema: z.ZodObject<{
|
|
|
6419
6315
|
lastErrorCode: z.ZodNullable<z.ZodString>;
|
|
6420
6316
|
syncedAt: z.ZodNullable<z.ZodString>;
|
|
6421
6317
|
}, z.core.$strip>;
|
|
6318
|
+
editPreview: z.ZodObject<{
|
|
6319
|
+
hostname: z.ZodNullable<z.ZodString>;
|
|
6320
|
+
}, z.core.$strip>;
|
|
6422
6321
|
slugChangesRemaining: z.ZodNumber;
|
|
6322
|
+
suspension: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
6323
|
+
reason: z.ZodNullable<z.ZodString>;
|
|
6324
|
+
suspendedAt: z.ZodNullable<z.ZodString>;
|
|
6325
|
+
}, z.core.$strip>>>;
|
|
6423
6326
|
createdAt: z.ZodString;
|
|
6424
6327
|
updatedAt: z.ZodString;
|
|
6425
6328
|
}, z.core.$strip>>;
|
|
@@ -6440,64 +6343,573 @@ export declare const createStorefrontSiteRequestSchema: z.ZodObject<{
|
|
|
6440
6343
|
templateId: z.ZodString;
|
|
6441
6344
|
slug: z.ZodOptional<z.ZodString>;
|
|
6442
6345
|
}, z.core.$strip>;
|
|
6443
|
-
export type CreateStorefrontSiteRequest = z.infer<typeof createStorefrontSiteRequestSchema>;
|
|
6444
|
-
export declare const changeStorefrontTemplateRequestSchema: z.ZodObject<{
|
|
6445
|
-
templateId: z.ZodString;
|
|
6446
|
-
publish: z.ZodOptional<z.ZodBoolean>;
|
|
6447
|
-
message: z.ZodOptional<z.ZodString>;
|
|
6346
|
+
export type CreateStorefrontSiteRequest = z.infer<typeof createStorefrontSiteRequestSchema>;
|
|
6347
|
+
export declare const changeStorefrontTemplateRequestSchema: z.ZodObject<{
|
|
6348
|
+
templateId: z.ZodString;
|
|
6349
|
+
publish: z.ZodOptional<z.ZodBoolean>;
|
|
6350
|
+
message: z.ZodOptional<z.ZodString>;
|
|
6351
|
+
}, z.core.$strip>;
|
|
6352
|
+
export type ChangeStorefrontTemplateRequest = z.infer<typeof changeStorefrontTemplateRequestSchema>;
|
|
6353
|
+
/**
|
|
6354
|
+
* 발행·되돌리기 — 발행은 사이트의 발행 포인터를 바꾸는 조건부 쓰기다. `expectedPublishedVersionId`를 주면
|
|
6355
|
+
* 지금 발행 버전이 그 값일 때만 바꾼다(화면을 본 뒤 다른 사람이 바꿨으면 409 `STOREFRONT_SITE_CHANGED`).
|
|
6356
|
+
* 이미 그 버전이 발행돼 있으면 아무것도 바꾸지 않고 200이다(같은 요청의 재실행이 안전하다).
|
|
6357
|
+
*/
|
|
6358
|
+
export declare const publishStorefrontVersionRequestSchema: z.ZodObject<{
|
|
6359
|
+
expectedPublishedVersionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
6360
|
+
}, z.core.$strip>;
|
|
6361
|
+
export type PublishStorefrontVersionRequest = z.infer<typeof publishStorefrontVersionRequestSchema>;
|
|
6362
|
+
export declare const rollbackStorefrontRequestSchema: z.ZodObject<{
|
|
6363
|
+
versionId: z.ZodOptional<z.ZodString>;
|
|
6364
|
+
expectedPublishedVersionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
6365
|
+
}, z.core.$strip>;
|
|
6366
|
+
export type RollbackStorefrontRequest = z.infer<typeof rollbackStorefrontRequestSchema>;
|
|
6367
|
+
export declare const changeStorefrontSlugRequestSchema: z.ZodObject<{
|
|
6368
|
+
slug: z.ZodString;
|
|
6369
|
+
}, z.core.$strip>;
|
|
6370
|
+
export type ChangeStorefrontSlugRequest = z.infer<typeof changeStorefrontSlugRequestSchema>;
|
|
6371
|
+
export declare const setStorefrontVisibilityRequestSchema: z.ZodObject<{
|
|
6372
|
+
visibility: z.ZodEnum<{
|
|
6373
|
+
COMING_SOON: "COMING_SOON";
|
|
6374
|
+
PUBLIC: "PUBLIC";
|
|
6375
|
+
}>;
|
|
6376
|
+
expectedVisibility: z.ZodOptional<z.ZodEnum<{
|
|
6377
|
+
COMING_SOON: "COMING_SOON";
|
|
6378
|
+
PUBLIC: "PUBLIC";
|
|
6379
|
+
}>>;
|
|
6380
|
+
}, z.core.$strip>;
|
|
6381
|
+
export type SetStorefrontVisibilityRequest = z.infer<typeof setStorefrontVisibilityRequestSchema>;
|
|
6382
|
+
/** 호스팅 끄기 — 사이트를 닫고(`CLOSED`) 슬러그를 보류한다. 확인 입력은 현재 슬러그다 */
|
|
6383
|
+
export declare const disableStorefrontHostingRequestSchema: z.ZodObject<{
|
|
6384
|
+
confirmSlug: z.ZodString;
|
|
6385
|
+
}, z.core.$strip>;
|
|
6386
|
+
export type DisableStorefrontHostingRequest = z.infer<typeof disableStorefrontHostingRequestSchema>;
|
|
6387
|
+
export declare const storefrontSlugAvailabilityQuerySchema: z.ZodObject<{
|
|
6388
|
+
slug: z.ZodString;
|
|
6389
|
+
}, z.core.$strip>;
|
|
6390
|
+
/**
|
|
6391
|
+
* 오픈 준비 중 미리보기 링크 — 콘솔에서 로그인한 OWNER·ADMIN만 받는다(PAT·에이전트 불가). 링크는 5분 안에 한 번 열면
|
|
6392
|
+
* 그 브라우저에 12시간짜리 미리보기 쿠키가 생기고 오픈 준비 중인 사이트의 실제 화면을 본다. 링크를 남에게 넘기면 그 사람도
|
|
6393
|
+
* 볼 수 있으므로 공유하지 않는다.
|
|
6394
|
+
*/
|
|
6395
|
+
export declare const createStorefrontPreviewLinkRequestSchema: z.ZodObject<{
|
|
6396
|
+
path: z.ZodOptional<z.ZodString>;
|
|
6397
|
+
}, z.core.$strip>;
|
|
6398
|
+
export type CreateStorefrontPreviewLinkRequest = z.infer<typeof createStorefrontPreviewLinkRequestSchema>;
|
|
6399
|
+
export declare const storefrontPreviewLinkSchema: z.ZodObject<{
|
|
6400
|
+
url: z.ZodString;
|
|
6401
|
+
expiresAt: z.ZodString;
|
|
6402
|
+
}, z.core.$strip>;
|
|
6403
|
+
export type StorefrontPreviewLink = z.infer<typeof storefrontPreviewLinkSchema>;
|
|
6404
|
+
/** 플랫폼 전체 동시 편집 환경 상한 */
|
|
6405
|
+
export declare const STOREFRONT_EDIT_CAPACITY = 20;
|
|
6406
|
+
/** 활동이 없으면 편집 환경이 잠드는 시간(분). 작업 트리는 보존된다 */
|
|
6407
|
+
export declare const STOREFRONT_EDIT_IDLE_MINUTES = 15;
|
|
6408
|
+
/**
|
|
6409
|
+
* 편집 작업(파일 쓰기·검사·버전 만들기·편집 미리보기 링크 발급)이 없으면 서버가 편집 환경을 닫는 시간(분). 미리보기 탭만 열어 두면
|
|
6410
|
+
* 유휴 잠들기(`STOREFRONT_EDIT_IDLE_MINUTES`)가 걸리지 않으므로 이 한도가 편집 환경을 끝낸다. 작업 트리는 보존된다
|
|
6411
|
+
*/
|
|
6412
|
+
export declare const STOREFRONT_EDIT_ACTIVITY_TIMEOUT_MINUTES = 30;
|
|
6413
|
+
/** 파일 하나의 최대 크기(바이트) */
|
|
6414
|
+
export declare const STOREFRONT_FILE_MAX_BYTES: number;
|
|
6415
|
+
/** 작업 트리 전체 최대 크기(바이트) — 파일 수는 2,000개까지 */
|
|
6416
|
+
export declare const STOREFRONT_WORKSPACE_MAX_BYTES: number;
|
|
6417
|
+
/** 일괄 쓰기 한 번의 최대 파일 수 */
|
|
6418
|
+
export declare const STOREFRONT_FILE_BATCH_MAX = 50;
|
|
6419
|
+
/** 편집할 수 없는 경로 조각 — 설치물·산출물 폴더 */
|
|
6420
|
+
export declare const STOREFRONT_BLOCKED_PATH_SEGMENTS: readonly string[];
|
|
6421
|
+
/** 경로 조각에 쓸 수 있는 문자 — 편집 Sandbox Worker의 경로 규칙(sandbox-api.md §2.1)과 같다. TanStack Router 파일명(`$id.tsx`·`_layout`·`(group)`·`[.]`)이 들어간다 */
|
|
6422
|
+
export declare const STOREFRONT_PATH_SEGMENT_PATTERN: RegExp;
|
|
6423
|
+
/** 경로 정규화 — NFC. 비교·저장은 이 값으로 한다(같아 보이는 두 경로가 다른 파일이 되지 않게) */
|
|
6424
|
+
export declare function normalizeStorefrontPath(path: string): string;
|
|
6425
|
+
/**
|
|
6426
|
+
* 작업 트리 상대 경로인가(정규화한 값 기준) — `/`로 구분하고 `/`로 시작하지 않는다. `.`·`..`·빈 조각, 조각 문자 규칙
|
|
6427
|
+
* (`STOREFRONT_PATH_SEGMENT_PATTERN`, 공백·역슬래시·제어·제로폭·bidi 문자 불가) 밖, 설치물·산출물 폴더
|
|
6428
|
+
* (`STOREFRONT_BLOCKED_PATH_SEGMENTS`), `.env`로 시작하는 조각(파일·폴더)은 받지 않는다. 최대 256자·깊이 16.
|
|
6429
|
+
* 어디에 쓸 수 있는지(`src/**`·`public/**`·루트 설정 파일)는 편집 Sandbox가 판정한다(400 `INVALID_FILE_PATH`).
|
|
6430
|
+
* 편집 Sandbox Worker가 같은 규칙의 복제본을 들고 있다(api `test/storefront-hosting-parity.spec.ts`가 대조한다).
|
|
6431
|
+
*/
|
|
6432
|
+
export declare function isEditableStorefrontPath(path: string): boolean;
|
|
6433
|
+
/** 경로 입력 — NFC로 정규화한 뒤 규칙을 본다 */
|
|
6434
|
+
export declare const storefrontFilePathSchema: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
6435
|
+
/** 파일 해시 — 내용 바이트의 SHA-256 hex(소문자 64자) */
|
|
6436
|
+
export declare const storefrontFileHashSchema: z.ZodString;
|
|
6437
|
+
export declare const storefrontFileEncodingSchema: z.ZodEnum<{
|
|
6438
|
+
utf8: "utf8";
|
|
6439
|
+
base64: "base64";
|
|
6440
|
+
}>;
|
|
6441
|
+
/**
|
|
6442
|
+
* 편집 환경 상태 — `STARTING`은 컨테이너를 띄우고 작업 트리를 복원해 dev 서버를 올리는 중이다(보통 30초 안, 최대
|
|
6443
|
+
* 90초). `RUNNING`이면 미리보기와 파일 쓰기가 바로 반영된다(HMR).
|
|
6444
|
+
*/
|
|
6445
|
+
export declare const storefrontEditSessionStatusSchema: z.ZodEnum<{
|
|
6446
|
+
STARTING: "STARTING";
|
|
6447
|
+
RUNNING: "RUNNING";
|
|
6448
|
+
}>;
|
|
6449
|
+
/** 편집 환경을 띄우는 단계 — 콘솔 진행 표시용이다. 값은 늘어날 수 있다 */
|
|
6450
|
+
export declare const STOREFRONT_EDIT_START_STAGES: readonly ["CONTAINER", "RESTORE", "DEV_SERVER"];
|
|
6451
|
+
export declare const storefrontEditSessionSchema: z.ZodObject<{
|
|
6452
|
+
sessionId: z.ZodString;
|
|
6453
|
+
status: z.ZodEnum<{
|
|
6454
|
+
STARTING: "STARTING";
|
|
6455
|
+
RUNNING: "RUNNING";
|
|
6456
|
+
}>;
|
|
6457
|
+
startStage: z.ZodNullable<z.ZodString>;
|
|
6458
|
+
startedAt: z.ZodString;
|
|
6459
|
+
lastEditedAt: z.ZodNullable<z.ZodString>;
|
|
6460
|
+
lastActiveAt: z.ZodString;
|
|
6461
|
+
idleExpiresAt: z.ZodString;
|
|
6462
|
+
closesAt: z.ZodString;
|
|
6463
|
+
}, z.core.$strip>;
|
|
6464
|
+
export type StorefrontEditSession = z.infer<typeof storefrontEditSessionSchema>;
|
|
6465
|
+
/** `GET·POST·DELETE /v1/storefront/site/editing` — 편집 환경 상태 */
|
|
6466
|
+
export declare const storefrontEditingSchema: z.ZodObject<{
|
|
6467
|
+
enabled: z.ZodBoolean;
|
|
6468
|
+
session: z.ZodNullable<z.ZodObject<{
|
|
6469
|
+
sessionId: z.ZodString;
|
|
6470
|
+
status: z.ZodEnum<{
|
|
6471
|
+
STARTING: "STARTING";
|
|
6472
|
+
RUNNING: "RUNNING";
|
|
6473
|
+
}>;
|
|
6474
|
+
startStage: z.ZodNullable<z.ZodString>;
|
|
6475
|
+
startedAt: z.ZodString;
|
|
6476
|
+
lastEditedAt: z.ZodNullable<z.ZodString>;
|
|
6477
|
+
lastActiveAt: z.ZodString;
|
|
6478
|
+
idleExpiresAt: z.ZodString;
|
|
6479
|
+
closesAt: z.ZodString;
|
|
6480
|
+
}, z.core.$strip>>;
|
|
6481
|
+
capacity: z.ZodObject<{
|
|
6482
|
+
limit: z.ZodNumber;
|
|
6483
|
+
inUse: z.ZodNumber;
|
|
6484
|
+
}, z.core.$strip>;
|
|
6485
|
+
preview: z.ZodObject<{
|
|
6486
|
+
hostname: z.ZodNullable<z.ZodString>;
|
|
6487
|
+
}, z.core.$strip>;
|
|
6488
|
+
workingTree: z.ZodObject<{
|
|
6489
|
+
modified: z.ZodBoolean;
|
|
6490
|
+
lastEditedAt: z.ZodNullable<z.ZodString>;
|
|
6491
|
+
}, z.core.$strip>;
|
|
6492
|
+
}, z.core.$strip>;
|
|
6493
|
+
export type StorefrontEditing = z.infer<typeof storefrontEditingSchema>;
|
|
6494
|
+
export declare const storefrontFileEntrySchema: z.ZodObject<{
|
|
6495
|
+
path: z.ZodString;
|
|
6496
|
+
size: z.ZodNumber;
|
|
6497
|
+
hash: z.ZodString;
|
|
6498
|
+
}, z.core.$strip>;
|
|
6499
|
+
export type StorefrontFileEntry = z.infer<typeof storefrontFileEntrySchema>;
|
|
6500
|
+
/** `GET /v1/storefront/site/files?prefix=` — 작업 트리 파일 목록(편집 환경이 없어도 된다. 편집 환경을 깨우지 않는다) */
|
|
6501
|
+
export declare const storefrontFileListSchema: z.ZodObject<{
|
|
6502
|
+
files: z.ZodArray<z.ZodObject<{
|
|
6503
|
+
path: z.ZodString;
|
|
6504
|
+
size: z.ZodNumber;
|
|
6505
|
+
hash: z.ZodString;
|
|
6506
|
+
}, z.core.$strip>>;
|
|
6507
|
+
totalBytes: z.ZodNumber;
|
|
6508
|
+
}, z.core.$strip>;
|
|
6509
|
+
export type StorefrontFileList = z.infer<typeof storefrontFileListSchema>;
|
|
6510
|
+
export declare const storefrontFileListQuerySchema: z.ZodObject<{
|
|
6511
|
+
prefix: z.ZodOptional<z.ZodString>;
|
|
6512
|
+
}, z.core.$strip>;
|
|
6513
|
+
export declare const storefrontFileContentQuerySchema: z.ZodObject<{
|
|
6514
|
+
path: z.ZodString;
|
|
6515
|
+
}, z.core.$strip>;
|
|
6516
|
+
/** `GET /v1/storefront/site/files/content?path=` — 편집 환경이 없어도 된다 */
|
|
6517
|
+
export declare const storefrontFileContentSchema: z.ZodObject<{
|
|
6518
|
+
path: z.ZodString;
|
|
6519
|
+
content: z.ZodString;
|
|
6520
|
+
encoding: z.ZodEnum<{
|
|
6521
|
+
utf8: "utf8";
|
|
6522
|
+
base64: "base64";
|
|
6523
|
+
}>;
|
|
6524
|
+
hash: z.ZodString;
|
|
6525
|
+
size: z.ZodNumber;
|
|
6526
|
+
}, z.core.$strip>;
|
|
6527
|
+
export type StorefrontFileContent = z.infer<typeof storefrontFileContentSchema>;
|
|
6528
|
+
/**
|
|
6529
|
+
* `POST /v1/storefront/site/files/batch` — 여러 파일을 한 번에 쓴다. 편집 환경이 없어도 된다(잠든 작업 트리에 바로 쓰고,
|
|
6530
|
+
* 편집 환경이 떠 있으면 미리보기에 곧바로 반영된다). `expectedHash`: 생략하면 조건 없이 쓴다 · `null`이면 파일이 없어야 한다(새 파일) · 값이면 지금
|
|
6531
|
+
* 해시가 같아야 한다. 조건을 **모두** 확인한 뒤 쓰고, 하나라도 어긋나면 아무것도 쓰지 않는다(409 `FILE_CHANGED`,
|
|
6532
|
+
* `error.details.conflicts`).
|
|
6533
|
+
*/
|
|
6534
|
+
export declare const writeStorefrontFilesRequestSchema: z.ZodObject<{
|
|
6535
|
+
files: z.ZodArray<z.ZodObject<{
|
|
6536
|
+
path: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
6537
|
+
content: z.ZodString;
|
|
6538
|
+
encoding: z.ZodOptional<z.ZodEnum<{
|
|
6539
|
+
utf8: "utf8";
|
|
6540
|
+
base64: "base64";
|
|
6541
|
+
}>>;
|
|
6542
|
+
expectedHash: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
6543
|
+
}, z.core.$strip>>;
|
|
6544
|
+
}, z.core.$strip>;
|
|
6545
|
+
export type WriteStorefrontFilesRequest = z.infer<typeof writeStorefrontFilesRequestSchema>;
|
|
6546
|
+
export declare const storefrontFileWriteResultSchema: z.ZodObject<{
|
|
6547
|
+
files: z.ZodArray<z.ZodObject<{
|
|
6548
|
+
path: z.ZodString;
|
|
6549
|
+
size: z.ZodNumber;
|
|
6550
|
+
hash: z.ZodString;
|
|
6551
|
+
}, z.core.$strip>>;
|
|
6552
|
+
}, z.core.$strip>;
|
|
6553
|
+
export type StorefrontFileWriteResult = z.infer<typeof storefrontFileWriteResultSchema>;
|
|
6554
|
+
/** 409 `FILE_CHANGED`의 `error.details` */
|
|
6555
|
+
export declare const storefrontFileConflictDetailsSchema: z.ZodObject<{
|
|
6556
|
+
conflicts: z.ZodArray<z.ZodObject<{
|
|
6557
|
+
path: z.ZodString;
|
|
6558
|
+
currentHash: z.ZodNullable<z.ZodString>;
|
|
6559
|
+
}, z.core.$strip>>;
|
|
6560
|
+
}, z.core.$strip>;
|
|
6561
|
+
export type StorefrontFileConflictDetails = z.infer<typeof storefrontFileConflictDetailsSchema>;
|
|
6562
|
+
/** `POST /v1/storefront/site/files/delete` — 없는 파일이면 `deleted: false`(조건을 주면 409 `FILE_CHANGED`) */
|
|
6563
|
+
export declare const deleteStorefrontFileRequestSchema: z.ZodObject<{
|
|
6564
|
+
path: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
6565
|
+
expectedHash: z.ZodOptional<z.ZodString>;
|
|
6566
|
+
}, z.core.$strip>;
|
|
6567
|
+
export type DeleteStorefrontFileRequest = z.infer<typeof deleteStorefrontFileRequestSchema>;
|
|
6568
|
+
export declare const storefrontFileDeleteResultSchema: z.ZodObject<{
|
|
6569
|
+
path: z.ZodString;
|
|
6570
|
+
deleted: z.ZodBoolean;
|
|
6571
|
+
}, z.core.$strip>;
|
|
6572
|
+
export type StorefrontFileDeleteResult = z.infer<typeof storefrontFileDeleteResultSchema>;
|
|
6573
|
+
/** `POST /v1/storefront/site/files/move` — 이름 바꾸기·옮기기 */
|
|
6574
|
+
export declare const moveStorefrontFileRequestSchema: z.ZodObject<{
|
|
6575
|
+
from: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
6576
|
+
to: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
6577
|
+
expectedHash: z.ZodOptional<z.ZodString>;
|
|
6578
|
+
overwrite: z.ZodOptional<z.ZodBoolean>;
|
|
6579
|
+
}, z.core.$strip>;
|
|
6580
|
+
export type MoveStorefrontFileRequest = z.infer<typeof moveStorefrontFileRequestSchema>;
|
|
6581
|
+
export declare const storefrontFileMoveResultSchema: z.ZodObject<{
|
|
6582
|
+
from: z.ZodString;
|
|
6583
|
+
to: z.ZodString;
|
|
6584
|
+
hash: z.ZodString;
|
|
6585
|
+
size: z.ZodNumber;
|
|
6586
|
+
}, z.core.$strip>;
|
|
6587
|
+
export type StorefrontFileMoveResult = z.infer<typeof storefrontFileMoveResultSchema>;
|
|
6588
|
+
/** `POST /v1/storefront/site/files/search` — 텍스트 파일 내용 검색(편집 환경이 없어도 된다) */
|
|
6589
|
+
/** 정규식 검색의 패턴 길이 상한 — 편집 Sandbox가 실행 비용을 막으려고 더 좁게 받는다(sandbox-api §4.6) */
|
|
6590
|
+
export declare const STOREFRONT_SEARCH_REGEX_MAX_LENGTH = 100;
|
|
6591
|
+
export declare const searchStorefrontFilesRequestSchema: z.ZodObject<{
|
|
6592
|
+
query: z.ZodString;
|
|
6593
|
+
regex: z.ZodOptional<z.ZodBoolean>;
|
|
6594
|
+
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
6595
|
+
pathPrefix: z.ZodOptional<z.ZodString>;
|
|
6596
|
+
maxResults: z.ZodOptional<z.ZodNumber>;
|
|
6597
|
+
}, z.core.$strip>;
|
|
6598
|
+
export type SearchStorefrontFilesRequest = z.infer<typeof searchStorefrontFilesRequestSchema>;
|
|
6599
|
+
export declare const storefrontFileSearchResultSchema: z.ZodObject<{
|
|
6600
|
+
matches: z.ZodArray<z.ZodObject<{
|
|
6601
|
+
path: z.ZodString;
|
|
6602
|
+
line: z.ZodNumber;
|
|
6603
|
+
column: z.ZodOptional<z.ZodNumber>;
|
|
6604
|
+
text: z.ZodString;
|
|
6605
|
+
}, z.core.$strip>>;
|
|
6606
|
+
truncated: z.ZodBoolean;
|
|
6607
|
+
}, z.core.$strip>;
|
|
6608
|
+
export type StorefrontFileSearchResult = z.infer<typeof storefrontFileSearchResultSchema>;
|
|
6609
|
+
/**
|
|
6610
|
+
* `POST /v1/storefront/site/checks` (202) — 작업 트리에 명령 하나를 돌린다(`typecheck` 타입 검사 · `lint` · `test`). 편집 환경이
|
|
6611
|
+
* 없어도 된다(일회용 검사 컨테이너에서 돈다). 검사는 30초를 넘길 수 있어 **항상 202로 검사 id만 주고** 결과는
|
|
6612
|
+
* `GET /v1/storefront/site/checks/{checkId}`로 조회한다(권장 2~3초 간격). 사이트당 끝나지 않은 검사는 하나다 — 같은 종류가 돌고
|
|
6613
|
+
* 있으면 그 검사를 다시 돌려주고, 다른 종류면 409 `CHECK_RUNNING`(`error.details.checkId`)이다. 출력은 꼬리만 준다.
|
|
6614
|
+
*/
|
|
6615
|
+
export declare const runStorefrontCheckRequestSchema: z.ZodObject<{
|
|
6616
|
+
check: z.ZodEnum<{
|
|
6617
|
+
typecheck: "typecheck";
|
|
6618
|
+
lint: "lint";
|
|
6619
|
+
test: "test";
|
|
6620
|
+
}>;
|
|
6621
|
+
}, z.core.$strip>;
|
|
6622
|
+
export type RunStorefrontCheckRequest = z.infer<typeof runStorefrontCheckRequestSchema>;
|
|
6623
|
+
export declare const storefrontCheckStatusSchema: z.ZodEnum<{
|
|
6624
|
+
FAILED: "FAILED";
|
|
6625
|
+
UNKNOWN: "UNKNOWN";
|
|
6626
|
+
RUNNING: "RUNNING";
|
|
6627
|
+
QUEUED: "QUEUED";
|
|
6628
|
+
PASSED: "PASSED";
|
|
6629
|
+
TIMED_OUT: "TIMED_OUT";
|
|
6630
|
+
}>;
|
|
6631
|
+
export type StorefrontCheckStatus = z.infer<typeof storefrontCheckStatusSchema>;
|
|
6632
|
+
/** 끝난 검사 상태 */
|
|
6633
|
+
export declare const STOREFRONT_CHECK_TERMINAL_STATUSES: readonly StorefrontCheckStatus[];
|
|
6634
|
+
export declare const storefrontCheckSchema: z.ZodObject<{
|
|
6635
|
+
checkId: z.ZodString;
|
|
6636
|
+
check: z.ZodString;
|
|
6637
|
+
status: z.ZodEnum<{
|
|
6638
|
+
FAILED: "FAILED";
|
|
6639
|
+
UNKNOWN: "UNKNOWN";
|
|
6640
|
+
RUNNING: "RUNNING";
|
|
6641
|
+
QUEUED: "QUEUED";
|
|
6642
|
+
PASSED: "PASSED";
|
|
6643
|
+
TIMED_OUT: "TIMED_OUT";
|
|
6644
|
+
}>;
|
|
6645
|
+
exitCode: z.ZodNullable<z.ZodNumber>;
|
|
6646
|
+
durationMs: z.ZodNullable<z.ZodNumber>;
|
|
6647
|
+
outputTail: z.ZodNullable<z.ZodString>;
|
|
6648
|
+
errorCode: z.ZodNullable<z.ZodString>;
|
|
6649
|
+
message: z.ZodNullable<z.ZodString>;
|
|
6650
|
+
createdAt: z.ZodString;
|
|
6651
|
+
startedAt: z.ZodNullable<z.ZodString>;
|
|
6652
|
+
finishedAt: z.ZodNullable<z.ZodString>;
|
|
6653
|
+
}, z.core.$strip>;
|
|
6654
|
+
export type StorefrontCheck = z.infer<typeof storefrontCheckSchema>;
|
|
6655
|
+
/** 규칙 심각도 — `error`는 버전 발행을 막는다(빌드 `VERIFY` 실패), `warning`은 알리기만 한다. 없으면 `error`로 본다 */
|
|
6656
|
+
export declare const storefrontRuleSeveritySchema: z.ZodEnum<{
|
|
6657
|
+
error: "error";
|
|
6658
|
+
warning: "warning";
|
|
6659
|
+
}>;
|
|
6660
|
+
export type StorefrontRuleSeverity = z.infer<typeof storefrontRuleSeveritySchema>;
|
|
6661
|
+
/** 규칙 하나의 검사 결과 — MCP 계측(`mcpRuleResultSchema`)과 같은 모양에 심각도를 더한다 */
|
|
6662
|
+
export declare const storefrontRuleResultSchema: z.ZodObject<{
|
|
6663
|
+
ruleId: z.ZodString;
|
|
6664
|
+
status: z.ZodEnum<{
|
|
6665
|
+
pass: "pass";
|
|
6666
|
+
violation: "violation";
|
|
6667
|
+
}>;
|
|
6668
|
+
count: z.ZodNumber;
|
|
6669
|
+
severity: z.ZodOptional<z.ZodEnum<{
|
|
6670
|
+
error: "error";
|
|
6671
|
+
warning: "warning";
|
|
6672
|
+
}>>;
|
|
6673
|
+
}, z.core.$strip>;
|
|
6674
|
+
export type StorefrontRuleResult = z.infer<typeof storefrontRuleResultSchema>;
|
|
6675
|
+
/**
|
|
6676
|
+
* 규칙 검증 보고서 — `@sayren/mcp`의 `verify_storefront`와 같은 모양이다(원천 `apps/mcp/src/verify.ts`). 위반마다
|
|
6677
|
+
* 고칠 자리(`file`·`line`)와 방법(`fix`·`example`)을 싣는다. `POST /v1/storefront/site/verify`(편집 환경이 잠들어 있어도
|
|
6678
|
+
* 된다)와 빌드의 `verify`가 이 모양이다.
|
|
6679
|
+
*/
|
|
6680
|
+
export declare const storefrontVerifyReportSchema: z.ZodObject<{
|
|
6681
|
+
ok: z.ZodBoolean;
|
|
6682
|
+
checkedFiles: z.ZodNumber;
|
|
6683
|
+
summary: z.ZodObject<{
|
|
6684
|
+
rules: z.ZodNumber;
|
|
6685
|
+
passed: z.ZodNumber;
|
|
6686
|
+
violated: z.ZodNumber;
|
|
6687
|
+
findings: z.ZodNumber;
|
|
6688
|
+
}, z.core.$strip>;
|
|
6689
|
+
results: z.ZodArray<z.ZodObject<{
|
|
6690
|
+
ruleId: z.ZodString;
|
|
6691
|
+
status: z.ZodEnum<{
|
|
6692
|
+
pass: "pass";
|
|
6693
|
+
violation: "violation";
|
|
6694
|
+
}>;
|
|
6695
|
+
count: z.ZodNumber;
|
|
6696
|
+
severity: z.ZodOptional<z.ZodEnum<{
|
|
6697
|
+
error: "error";
|
|
6698
|
+
warning: "warning";
|
|
6699
|
+
}>>;
|
|
6700
|
+
}, z.core.$strip>>;
|
|
6701
|
+
findings: z.ZodArray<z.ZodObject<{
|
|
6702
|
+
ruleId: z.ZodString;
|
|
6703
|
+
rule: z.ZodString;
|
|
6704
|
+
file: z.ZodString;
|
|
6705
|
+
line: z.ZodOptional<z.ZodNumber>;
|
|
6706
|
+
detail: z.ZodString;
|
|
6707
|
+
cause: z.ZodString;
|
|
6708
|
+
fix: z.ZodString;
|
|
6709
|
+
example: z.ZodString;
|
|
6710
|
+
doc: z.ZodString;
|
|
6711
|
+
docUrl: z.ZodString;
|
|
6712
|
+
templateFile: z.ZodOptional<z.ZodString>;
|
|
6713
|
+
severity: z.ZodOptional<z.ZodEnum<{
|
|
6714
|
+
error: "error";
|
|
6715
|
+
warning: "warning";
|
|
6716
|
+
}>>;
|
|
6717
|
+
}, z.core.$strip>>;
|
|
6718
|
+
message: z.ZodString;
|
|
6719
|
+
nextSteps: z.ZodArray<z.ZodString>;
|
|
6720
|
+
}, z.core.$strip>;
|
|
6721
|
+
export type StorefrontVerifyReport = z.infer<typeof storefrontVerifyReportSchema>;
|
|
6722
|
+
export declare const storefrontBuildStatusSchema: z.ZodEnum<{
|
|
6723
|
+
FAILED: "FAILED";
|
|
6724
|
+
SUCCEEDED: "SUCCEEDED";
|
|
6725
|
+
RUNNING: "RUNNING";
|
|
6726
|
+
QUEUED: "QUEUED";
|
|
6727
|
+
TIMED_OUT: "TIMED_OUT";
|
|
6728
|
+
}>;
|
|
6729
|
+
export type StorefrontBuildStatus = z.infer<typeof storefrontBuildStatusSchema>;
|
|
6730
|
+
/** 끝난 빌드 상태 */
|
|
6731
|
+
export declare const STOREFRONT_BUILD_TERMINAL_STATUSES: readonly StorefrontBuildStatus[];
|
|
6732
|
+
/**
|
|
6733
|
+
* 빌드 단계 — 이 순서로 돈다. 첫 실패에서 멈추지만 규칙 검증(`VERIFY`)은 실패해도 타입 검사까지 이어서 해 한 번에 알려 준다.
|
|
6734
|
+
* `UPLOAD`는 사이트 버전 Worker 업로드다(성공하면 발행할 수 있다). 값은 늘어날 수 있다.
|
|
6735
|
+
*/
|
|
6736
|
+
export declare const STOREFRONT_BUILD_STAGES: readonly ["VERIFY", "RESTORE", "INSTALL", "TYPECHECK", "BUILD", "BUNDLE", "PACK", "UPLOAD"];
|
|
6737
|
+
export declare const storefrontBuildSchema: z.ZodObject<{
|
|
6738
|
+
buildId: z.ZodString;
|
|
6739
|
+
versionId: z.ZodString;
|
|
6740
|
+
versionNumber: z.ZodNumber;
|
|
6741
|
+
status: z.ZodEnum<{
|
|
6742
|
+
FAILED: "FAILED";
|
|
6743
|
+
SUCCEEDED: "SUCCEEDED";
|
|
6744
|
+
RUNNING: "RUNNING";
|
|
6745
|
+
QUEUED: "QUEUED";
|
|
6746
|
+
TIMED_OUT: "TIMED_OUT";
|
|
6747
|
+
}>;
|
|
6748
|
+
failureStage: z.ZodNullable<z.ZodString>;
|
|
6749
|
+
errorCode: z.ZodNullable<z.ZodString>;
|
|
6750
|
+
logTail: z.ZodNullable<z.ZodString>;
|
|
6751
|
+
stages: z.ZodArray<z.ZodObject<{
|
|
6752
|
+
stage: z.ZodString;
|
|
6753
|
+
ok: z.ZodBoolean;
|
|
6754
|
+
durationMs: z.ZodNumber;
|
|
6755
|
+
}, z.core.$strip>>;
|
|
6756
|
+
verify: z.ZodNullable<z.ZodObject<{
|
|
6757
|
+
ok: z.ZodBoolean;
|
|
6758
|
+
checkedFiles: z.ZodNumber;
|
|
6759
|
+
summary: z.ZodObject<{
|
|
6760
|
+
rules: z.ZodNumber;
|
|
6761
|
+
passed: z.ZodNumber;
|
|
6762
|
+
violated: z.ZodNumber;
|
|
6763
|
+
findings: z.ZodNumber;
|
|
6764
|
+
}, z.core.$strip>;
|
|
6765
|
+
results: z.ZodArray<z.ZodObject<{
|
|
6766
|
+
ruleId: z.ZodString;
|
|
6767
|
+
status: z.ZodEnum<{
|
|
6768
|
+
pass: "pass";
|
|
6769
|
+
violation: "violation";
|
|
6770
|
+
}>;
|
|
6771
|
+
count: z.ZodNumber;
|
|
6772
|
+
severity: z.ZodOptional<z.ZodEnum<{
|
|
6773
|
+
error: "error";
|
|
6774
|
+
warning: "warning";
|
|
6775
|
+
}>>;
|
|
6776
|
+
}, z.core.$strip>>;
|
|
6777
|
+
findings: z.ZodArray<z.ZodObject<{
|
|
6778
|
+
ruleId: z.ZodString;
|
|
6779
|
+
rule: z.ZodString;
|
|
6780
|
+
file: z.ZodString;
|
|
6781
|
+
line: z.ZodOptional<z.ZodNumber>;
|
|
6782
|
+
detail: z.ZodString;
|
|
6783
|
+
cause: z.ZodString;
|
|
6784
|
+
fix: z.ZodString;
|
|
6785
|
+
example: z.ZodString;
|
|
6786
|
+
doc: z.ZodString;
|
|
6787
|
+
docUrl: z.ZodString;
|
|
6788
|
+
templateFile: z.ZodOptional<z.ZodString>;
|
|
6789
|
+
severity: z.ZodOptional<z.ZodEnum<{
|
|
6790
|
+
error: "error";
|
|
6791
|
+
warning: "warning";
|
|
6792
|
+
}>>;
|
|
6793
|
+
}, z.core.$strip>>;
|
|
6794
|
+
message: z.ZodString;
|
|
6795
|
+
nextSteps: z.ZodArray<z.ZodString>;
|
|
6796
|
+
}, z.core.$strip>>;
|
|
6797
|
+
queuedAt: z.ZodString;
|
|
6798
|
+
startedAt: z.ZodNullable<z.ZodString>;
|
|
6799
|
+
finishedAt: z.ZodNullable<z.ZodString>;
|
|
6800
|
+
durationMs: z.ZodNullable<z.ZodNumber>;
|
|
6801
|
+
}, z.core.$strip>;
|
|
6802
|
+
export type StorefrontBuild = z.infer<typeof storefrontBuildSchema>;
|
|
6803
|
+
export declare const storefrontBuildListQuerySchema: z.ZodObject<{
|
|
6804
|
+
limit: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
|
|
6448
6805
|
}, z.core.$strip>;
|
|
6449
|
-
export type ChangeStorefrontTemplateRequest = z.infer<typeof changeStorefrontTemplateRequestSchema>;
|
|
6450
6806
|
/**
|
|
6451
|
-
*
|
|
6452
|
-
*
|
|
6453
|
-
* 이미 그 버전이 발행돼 있으면 아무것도 바꾸지 않고 200이다(같은 요청의 재실행이 안전하다).
|
|
6807
|
+
* `POST /v1/storefront/site/versions` — 지금 작업 트리를 고정해 버전을 만든다(빌드 시작). 사이트당 끝나지 않은 빌드는
|
|
6808
|
+
* 하나다(409 `STOREFRONT_BUILD_IN_PROGRESS`). 편집 환경이 없어도 된다.
|
|
6454
6809
|
*/
|
|
6455
|
-
export declare const
|
|
6456
|
-
|
|
6457
|
-
}, z.core.$strip>;
|
|
6458
|
-
export type PublishStorefrontVersionRequest = z.infer<typeof publishStorefrontVersionRequestSchema>;
|
|
6459
|
-
export declare const rollbackStorefrontRequestSchema: z.ZodObject<{
|
|
6460
|
-
versionId: z.ZodOptional<z.ZodString>;
|
|
6461
|
-
expectedPublishedVersionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
6462
|
-
}, z.core.$strip>;
|
|
6463
|
-
export type RollbackStorefrontRequest = z.infer<typeof rollbackStorefrontRequestSchema>;
|
|
6464
|
-
export declare const changeStorefrontSlugRequestSchema: z.ZodObject<{
|
|
6465
|
-
slug: z.ZodString;
|
|
6466
|
-
}, z.core.$strip>;
|
|
6467
|
-
export type ChangeStorefrontSlugRequest = z.infer<typeof changeStorefrontSlugRequestSchema>;
|
|
6468
|
-
export declare const setStorefrontVisibilityRequestSchema: z.ZodObject<{
|
|
6469
|
-
visibility: z.ZodEnum<{
|
|
6470
|
-
COMING_SOON: "COMING_SOON";
|
|
6471
|
-
PUBLIC: "PUBLIC";
|
|
6472
|
-
}>;
|
|
6473
|
-
expectedVisibility: z.ZodOptional<z.ZodEnum<{
|
|
6474
|
-
COMING_SOON: "COMING_SOON";
|
|
6475
|
-
PUBLIC: "PUBLIC";
|
|
6476
|
-
}>>;
|
|
6477
|
-
}, z.core.$strip>;
|
|
6478
|
-
export type SetStorefrontVisibilityRequest = z.infer<typeof setStorefrontVisibilityRequestSchema>;
|
|
6479
|
-
/** 호스팅 끄기 — 사이트를 닫고(`CLOSED`) 슬러그를 보류한다. 확인 입력은 현재 슬러그다 */
|
|
6480
|
-
export declare const disableStorefrontHostingRequestSchema: z.ZodObject<{
|
|
6481
|
-
confirmSlug: z.ZodString;
|
|
6810
|
+
export declare const createStorefrontVersionRequestSchema: z.ZodObject<{
|
|
6811
|
+
message: z.ZodOptional<z.ZodString>;
|
|
6482
6812
|
}, z.core.$strip>;
|
|
6483
|
-
export type
|
|
6484
|
-
|
|
6485
|
-
|
|
6813
|
+
export type CreateStorefrontVersionRequest = z.infer<typeof createStorefrontVersionRequestSchema>;
|
|
6814
|
+
/** 버전 만들기 응답 (201) — 버전은 `BUILDING`, 빌드는 `QUEUED`로 시작한다. 결과는 `GET builds/{buildId}`로 본다 */
|
|
6815
|
+
export declare const storefrontVersionCreatedSchema: z.ZodObject<{
|
|
6816
|
+
version: z.ZodObject<{
|
|
6817
|
+
versionId: z.ZodString;
|
|
6818
|
+
number: z.ZodNumber;
|
|
6819
|
+
templateId: z.ZodString;
|
|
6820
|
+
templateVersion: z.ZodString;
|
|
6821
|
+
status: z.ZodEnum<{
|
|
6822
|
+
FAILED: "FAILED";
|
|
6823
|
+
BUILDING: "BUILDING";
|
|
6824
|
+
READY: "READY";
|
|
6825
|
+
}>;
|
|
6826
|
+
published: z.ZodBoolean;
|
|
6827
|
+
publishedAt: z.ZodNullable<z.ZodString>;
|
|
6828
|
+
message: z.ZodNullable<z.ZodString>;
|
|
6829
|
+
source: z.ZodEnum<{
|
|
6830
|
+
TEMPLATE: "TEMPLATE";
|
|
6831
|
+
EDIT: "EDIT";
|
|
6832
|
+
}>;
|
|
6833
|
+
buildId: z.ZodNullable<z.ZodString>;
|
|
6834
|
+
createdByType: z.ZodString;
|
|
6835
|
+
createdAt: z.ZodString;
|
|
6836
|
+
}, z.core.$strip>;
|
|
6837
|
+
build: z.ZodObject<{
|
|
6838
|
+
buildId: z.ZodString;
|
|
6839
|
+
versionId: z.ZodString;
|
|
6840
|
+
versionNumber: z.ZodNumber;
|
|
6841
|
+
status: z.ZodEnum<{
|
|
6842
|
+
FAILED: "FAILED";
|
|
6843
|
+
SUCCEEDED: "SUCCEEDED";
|
|
6844
|
+
RUNNING: "RUNNING";
|
|
6845
|
+
QUEUED: "QUEUED";
|
|
6846
|
+
TIMED_OUT: "TIMED_OUT";
|
|
6847
|
+
}>;
|
|
6848
|
+
failureStage: z.ZodNullable<z.ZodString>;
|
|
6849
|
+
errorCode: z.ZodNullable<z.ZodString>;
|
|
6850
|
+
logTail: z.ZodNullable<z.ZodString>;
|
|
6851
|
+
stages: z.ZodArray<z.ZodObject<{
|
|
6852
|
+
stage: z.ZodString;
|
|
6853
|
+
ok: z.ZodBoolean;
|
|
6854
|
+
durationMs: z.ZodNumber;
|
|
6855
|
+
}, z.core.$strip>>;
|
|
6856
|
+
verify: z.ZodNullable<z.ZodObject<{
|
|
6857
|
+
ok: z.ZodBoolean;
|
|
6858
|
+
checkedFiles: z.ZodNumber;
|
|
6859
|
+
summary: z.ZodObject<{
|
|
6860
|
+
rules: z.ZodNumber;
|
|
6861
|
+
passed: z.ZodNumber;
|
|
6862
|
+
violated: z.ZodNumber;
|
|
6863
|
+
findings: z.ZodNumber;
|
|
6864
|
+
}, z.core.$strip>;
|
|
6865
|
+
results: z.ZodArray<z.ZodObject<{
|
|
6866
|
+
ruleId: z.ZodString;
|
|
6867
|
+
status: z.ZodEnum<{
|
|
6868
|
+
pass: "pass";
|
|
6869
|
+
violation: "violation";
|
|
6870
|
+
}>;
|
|
6871
|
+
count: z.ZodNumber;
|
|
6872
|
+
severity: z.ZodOptional<z.ZodEnum<{
|
|
6873
|
+
error: "error";
|
|
6874
|
+
warning: "warning";
|
|
6875
|
+
}>>;
|
|
6876
|
+
}, z.core.$strip>>;
|
|
6877
|
+
findings: z.ZodArray<z.ZodObject<{
|
|
6878
|
+
ruleId: z.ZodString;
|
|
6879
|
+
rule: z.ZodString;
|
|
6880
|
+
file: z.ZodString;
|
|
6881
|
+
line: z.ZodOptional<z.ZodNumber>;
|
|
6882
|
+
detail: z.ZodString;
|
|
6883
|
+
cause: z.ZodString;
|
|
6884
|
+
fix: z.ZodString;
|
|
6885
|
+
example: z.ZodString;
|
|
6886
|
+
doc: z.ZodString;
|
|
6887
|
+
docUrl: z.ZodString;
|
|
6888
|
+
templateFile: z.ZodOptional<z.ZodString>;
|
|
6889
|
+
severity: z.ZodOptional<z.ZodEnum<{
|
|
6890
|
+
error: "error";
|
|
6891
|
+
warning: "warning";
|
|
6892
|
+
}>>;
|
|
6893
|
+
}, z.core.$strip>>;
|
|
6894
|
+
message: z.ZodString;
|
|
6895
|
+
nextSteps: z.ZodArray<z.ZodString>;
|
|
6896
|
+
}, z.core.$strip>>;
|
|
6897
|
+
queuedAt: z.ZodString;
|
|
6898
|
+
startedAt: z.ZodNullable<z.ZodString>;
|
|
6899
|
+
finishedAt: z.ZodNullable<z.ZodString>;
|
|
6900
|
+
durationMs: z.ZodNullable<z.ZodNumber>;
|
|
6901
|
+
}, z.core.$strip>;
|
|
6486
6902
|
}, z.core.$strip>;
|
|
6903
|
+
export type StorefrontVersionCreated = z.infer<typeof storefrontVersionCreatedSchema>;
|
|
6487
6904
|
/**
|
|
6488
|
-
*
|
|
6489
|
-
*
|
|
6490
|
-
*
|
|
6905
|
+
* `POST /v1/storefront/site/editing/preview-link` — 편집 미리보기(dev 서버) 링크. 콘솔에서 로그인한 OWNER·ADMIN만
|
|
6906
|
+
* 받는다(PAT·에이전트 불가). 5분 안에 열면 그 브라우저에 미리보기 호스트 전용 쿠키(12시간)가 생긴다. 편집 환경이
|
|
6907
|
+
* 없으면 409 `EDIT_SESSION_REQUIRED`다(편집 환경이 `STARTING`이면 링크는 주고, 미리보기 화면이 기동 대기를 보여 준다).
|
|
6491
6908
|
*/
|
|
6492
|
-
export declare const
|
|
6909
|
+
export declare const createStorefrontEditPreviewLinkRequestSchema: z.ZodObject<{
|
|
6493
6910
|
path: z.ZodOptional<z.ZodString>;
|
|
6494
6911
|
}, z.core.$strip>;
|
|
6495
|
-
export type
|
|
6496
|
-
export declare const storefrontPreviewLinkSchema: z.ZodObject<{
|
|
6497
|
-
url: z.ZodString;
|
|
6498
|
-
expiresAt: z.ZodString;
|
|
6499
|
-
}, z.core.$strip>;
|
|
6500
|
-
export type StorefrontPreviewLink = z.infer<typeof storefrontPreviewLinkSchema>;
|
|
6912
|
+
export type CreateStorefrontEditPreviewLinkRequest = CreateStorefrontPreviewLinkRequest;
|
|
6501
6913
|
//#endregion
|
|
6502
6914
|
//#region src/schemas/upload.d.ts
|
|
6503
6915
|
/**
|
|
@@ -6505,13 +6917,10 @@ export type StorefrontPreviewLink = z.infer<typeof storefrontPreviewLinkSchema>;
|
|
|
6505
6917
|
*
|
|
6506
6918
|
* - `product-image`: 상품 목록·상세의 상품 이미지. 목록 썸네일로 쓰이므로 정지 이미지만 받는다.
|
|
6507
6919
|
* - `description`: 상세설명 본문에 삽입하는 미디어. 동영상과 svg도 받는다.
|
|
6508
|
-
* - `digital-asset`: 파일 다운로드 상품의 판매 파일(이슈 #48). **비공개 객체**로 올라가고 공개 주소가 없다 — 구매자는 제공된
|
|
6509
|
-
* 주문상품에서 수명 300초의 서명 주소로만 받는다.
|
|
6510
6920
|
*/
|
|
6511
6921
|
export declare const uploadPurposeSchema: z.ZodEnum<{
|
|
6512
6922
|
"product-image": "product-image";
|
|
6513
6923
|
description: "description";
|
|
6514
|
-
"digital-asset": "digital-asset";
|
|
6515
6924
|
}>;
|
|
6516
6925
|
export type UploadPurpose = z.infer<typeof uploadPurposeSchema>;
|
|
6517
6926
|
export interface UploadPurposeLimit {
|
|
@@ -6526,8 +6935,6 @@ export interface UploadPurposeLimit {
|
|
|
6526
6935
|
* 직접 PUT되므로 이 검사는 셀러가 올리기 전에 알게 하는 장치이고, 실제 상한은 CDN이 강제한다.
|
|
6527
6936
|
*/
|
|
6528
6937
|
export declare const UPLOAD_PURPOSE_LIMITS: Record<UploadPurpose, UploadPurposeLimit>;
|
|
6529
|
-
/** 비공개 업로드(판매 파일)의 PUT 필수 헤더 — CDN이 이 값으로 공개 조회를 막는다 */
|
|
6530
|
-
export declare const PRIVATE_UPLOAD_HEADERS: Readonly<Record<string, string>>;
|
|
6531
6938
|
/** 파일명의 소문자 확장자. 확장자가 없으면 `""` */
|
|
6532
6939
|
export declare function uploadExtensionOf(filename: string): string;
|
|
6533
6940
|
export interface UploadRejection {
|
|
@@ -6553,7 +6960,6 @@ export declare const uploadRequestSchema: z.ZodObject<{
|
|
|
6553
6960
|
purpose: z.ZodDefault<z.ZodEnum<{
|
|
6554
6961
|
"product-image": "product-image";
|
|
6555
6962
|
description: "description";
|
|
6556
|
-
"digital-asset": "digital-asset";
|
|
6557
6963
|
}>>;
|
|
6558
6964
|
size: z.ZodOptional<z.ZodNumber>;
|
|
6559
6965
|
}, z.core.$strip>;
|
|
@@ -6561,8 +6967,6 @@ export type UploadRequest = z.infer<typeof uploadRequestSchema>;
|
|
|
6561
6967
|
export declare const uploadTicketSchema: z.ZodObject<{
|
|
6562
6968
|
url: z.ZodURL;
|
|
6563
6969
|
uploadUrl: z.ZodURL;
|
|
6564
|
-
key: z.ZodOptional<z.ZodString>;
|
|
6565
|
-
headers: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
|
|
6566
6970
|
}, z.core.$strip>;
|
|
6567
6971
|
export type UploadTicket = z.infer<typeof uploadTicketSchema>;
|
|
6568
6972
|
//#endregion
|
|
@@ -6844,8 +7248,6 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
6844
7248
|
create: (body: UploadRequest) => Promise<{
|
|
6845
7249
|
url: string;
|
|
6846
7250
|
uploadUrl: string;
|
|
6847
|
-
headers: Record<string, string>;
|
|
6848
|
-
key?: string | undefined;
|
|
6849
7251
|
}>;
|
|
6850
7252
|
/**
|
|
6851
7253
|
* 자리 발급 + 바이트 PUT을 한 번에 — 끝나면 `url`이 공개 주소다.
|
|
@@ -6912,7 +7314,31 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
6912
7314
|
weightGram: number | null;
|
|
6913
7315
|
sellerCode: string | null;
|
|
6914
7316
|
usable: boolean;
|
|
7317
|
+
hasOrders?: boolean | undefined;
|
|
7318
|
+
}[];
|
|
7319
|
+
addonGroups: {
|
|
7320
|
+
groupId: string;
|
|
7321
|
+
name: string;
|
|
7322
|
+
sortOrder: number;
|
|
7323
|
+
required: boolean;
|
|
7324
|
+
values: {
|
|
7325
|
+
valueId: string;
|
|
7326
|
+
name: string;
|
|
7327
|
+
sortOrder: number;
|
|
7328
|
+
additionalPrice: number;
|
|
7329
|
+
usable: boolean;
|
|
7330
|
+
}[];
|
|
7331
|
+
}[];
|
|
7332
|
+
customInputs: {
|
|
7333
|
+
inputId: string;
|
|
7334
|
+
label: string;
|
|
7335
|
+
placeholder: string | null;
|
|
7336
|
+
maxLength: number;
|
|
7337
|
+
required: boolean;
|
|
7338
|
+
usable: boolean;
|
|
7339
|
+
sortOrder: number;
|
|
6915
7340
|
}[];
|
|
7341
|
+
optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
|
|
6916
7342
|
fulfillment: UnknownFulfillment | {
|
|
6917
7343
|
type: "SHIPPING";
|
|
6918
7344
|
shipping: {
|
|
@@ -6923,29 +7349,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
6923
7349
|
returnAddressId: string | null;
|
|
6924
7350
|
};
|
|
6925
7351
|
} | {
|
|
6926
|
-
type: "
|
|
6927
|
-
download: {
|
|
6928
|
-
limit: number;
|
|
6929
|
-
days: number;
|
|
6930
|
-
stockTracking: boolean;
|
|
6931
|
-
withdrawalRestricted: boolean;
|
|
6932
|
-
};
|
|
6933
|
-
} | {
|
|
6934
|
-
type: "CODE";
|
|
6935
|
-
code: {
|
|
6936
|
-
mode: "AUTO" | "MANUAL";
|
|
6937
|
-
withdrawalRestricted: boolean;
|
|
6938
|
-
};
|
|
6939
|
-
} | {
|
|
6940
|
-
type: "SERVICE";
|
|
6941
|
-
service: {
|
|
6942
|
-
mode: "AUTO" | "MANUAL";
|
|
6943
|
-
};
|
|
6944
|
-
} | {
|
|
6945
|
-
type: "PICKUP";
|
|
6946
|
-
pickup: {
|
|
6947
|
-
addressId: string | null;
|
|
6948
|
-
};
|
|
7352
|
+
type: "MANUAL";
|
|
6949
7353
|
};
|
|
6950
7354
|
fulfillmentTypeLocked: boolean;
|
|
6951
7355
|
refundPolicy: {
|
|
@@ -7006,7 +7410,31 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7006
7410
|
weightGram: number | null;
|
|
7007
7411
|
sellerCode: string | null;
|
|
7008
7412
|
usable: boolean;
|
|
7413
|
+
hasOrders?: boolean | undefined;
|
|
7414
|
+
}[];
|
|
7415
|
+
addonGroups: {
|
|
7416
|
+
groupId: string;
|
|
7417
|
+
name: string;
|
|
7418
|
+
sortOrder: number;
|
|
7419
|
+
required: boolean;
|
|
7420
|
+
values: {
|
|
7421
|
+
valueId: string;
|
|
7422
|
+
name: string;
|
|
7423
|
+
sortOrder: number;
|
|
7424
|
+
additionalPrice: number;
|
|
7425
|
+
usable: boolean;
|
|
7426
|
+
}[];
|
|
7427
|
+
}[];
|
|
7428
|
+
customInputs: {
|
|
7429
|
+
inputId: string;
|
|
7430
|
+
label: string;
|
|
7431
|
+
placeholder: string | null;
|
|
7432
|
+
maxLength: number;
|
|
7433
|
+
required: boolean;
|
|
7434
|
+
usable: boolean;
|
|
7435
|
+
sortOrder: number;
|
|
7009
7436
|
}[];
|
|
7437
|
+
optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
|
|
7010
7438
|
fulfillment: UnknownFulfillment | {
|
|
7011
7439
|
type: "SHIPPING";
|
|
7012
7440
|
shipping: {
|
|
@@ -7017,29 +7445,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7017
7445
|
returnAddressId: string | null;
|
|
7018
7446
|
};
|
|
7019
7447
|
} | {
|
|
7020
|
-
type: "
|
|
7021
|
-
download: {
|
|
7022
|
-
limit: number;
|
|
7023
|
-
days: number;
|
|
7024
|
-
stockTracking: boolean;
|
|
7025
|
-
withdrawalRestricted: boolean;
|
|
7026
|
-
};
|
|
7027
|
-
} | {
|
|
7028
|
-
type: "CODE";
|
|
7029
|
-
code: {
|
|
7030
|
-
mode: "AUTO" | "MANUAL";
|
|
7031
|
-
withdrawalRestricted: boolean;
|
|
7032
|
-
};
|
|
7033
|
-
} | {
|
|
7034
|
-
type: "SERVICE";
|
|
7035
|
-
service: {
|
|
7036
|
-
mode: "AUTO" | "MANUAL";
|
|
7037
|
-
};
|
|
7038
|
-
} | {
|
|
7039
|
-
type: "PICKUP";
|
|
7040
|
-
pickup: {
|
|
7041
|
-
addressId: string | null;
|
|
7042
|
-
};
|
|
7448
|
+
type: "MANUAL";
|
|
7043
7449
|
};
|
|
7044
7450
|
fulfillmentTypeLocked: boolean;
|
|
7045
7451
|
refundPolicy: {
|
|
@@ -7100,7 +7506,31 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7100
7506
|
weightGram: number | null;
|
|
7101
7507
|
sellerCode: string | null;
|
|
7102
7508
|
usable: boolean;
|
|
7509
|
+
hasOrders?: boolean | undefined;
|
|
7510
|
+
}[];
|
|
7511
|
+
addonGroups: {
|
|
7512
|
+
groupId: string;
|
|
7513
|
+
name: string;
|
|
7514
|
+
sortOrder: number;
|
|
7515
|
+
required: boolean;
|
|
7516
|
+
values: {
|
|
7517
|
+
valueId: string;
|
|
7518
|
+
name: string;
|
|
7519
|
+
sortOrder: number;
|
|
7520
|
+
additionalPrice: number;
|
|
7521
|
+
usable: boolean;
|
|
7522
|
+
}[];
|
|
7523
|
+
}[];
|
|
7524
|
+
customInputs: {
|
|
7525
|
+
inputId: string;
|
|
7526
|
+
label: string;
|
|
7527
|
+
placeholder: string | null;
|
|
7528
|
+
maxLength: number;
|
|
7529
|
+
required: boolean;
|
|
7530
|
+
usable: boolean;
|
|
7531
|
+
sortOrder: number;
|
|
7103
7532
|
}[];
|
|
7533
|
+
optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
|
|
7104
7534
|
fulfillment: UnknownFulfillment | {
|
|
7105
7535
|
type: "SHIPPING";
|
|
7106
7536
|
shipping: {
|
|
@@ -7111,29 +7541,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7111
7541
|
returnAddressId: string | null;
|
|
7112
7542
|
};
|
|
7113
7543
|
} | {
|
|
7114
|
-
type: "
|
|
7115
|
-
download: {
|
|
7116
|
-
limit: number;
|
|
7117
|
-
days: number;
|
|
7118
|
-
stockTracking: boolean;
|
|
7119
|
-
withdrawalRestricted: boolean;
|
|
7120
|
-
};
|
|
7121
|
-
} | {
|
|
7122
|
-
type: "CODE";
|
|
7123
|
-
code: {
|
|
7124
|
-
mode: "AUTO" | "MANUAL";
|
|
7125
|
-
withdrawalRestricted: boolean;
|
|
7126
|
-
};
|
|
7127
|
-
} | {
|
|
7128
|
-
type: "SERVICE";
|
|
7129
|
-
service: {
|
|
7130
|
-
mode: "AUTO" | "MANUAL";
|
|
7131
|
-
};
|
|
7132
|
-
} | {
|
|
7133
|
-
type: "PICKUP";
|
|
7134
|
-
pickup: {
|
|
7135
|
-
addressId: string | null;
|
|
7136
|
-
};
|
|
7544
|
+
type: "MANUAL";
|
|
7137
7545
|
};
|
|
7138
7546
|
fulfillmentTypeLocked: boolean;
|
|
7139
7547
|
refundPolicy: {
|
|
@@ -7198,7 +7606,31 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7198
7606
|
weightGram: number | null;
|
|
7199
7607
|
sellerCode: string | null;
|
|
7200
7608
|
usable: boolean;
|
|
7609
|
+
hasOrders?: boolean | undefined;
|
|
7610
|
+
}[];
|
|
7611
|
+
addonGroups: {
|
|
7612
|
+
groupId: string;
|
|
7613
|
+
name: string;
|
|
7614
|
+
sortOrder: number;
|
|
7615
|
+
required: boolean;
|
|
7616
|
+
values: {
|
|
7617
|
+
valueId: string;
|
|
7618
|
+
name: string;
|
|
7619
|
+
sortOrder: number;
|
|
7620
|
+
additionalPrice: number;
|
|
7621
|
+
usable: boolean;
|
|
7622
|
+
}[];
|
|
7623
|
+
}[];
|
|
7624
|
+
customInputs: {
|
|
7625
|
+
inputId: string;
|
|
7626
|
+
label: string;
|
|
7627
|
+
placeholder: string | null;
|
|
7628
|
+
maxLength: number;
|
|
7629
|
+
required: boolean;
|
|
7630
|
+
usable: boolean;
|
|
7631
|
+
sortOrder: number;
|
|
7201
7632
|
}[];
|
|
7633
|
+
optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
|
|
7202
7634
|
}>;
|
|
7203
7635
|
/**
|
|
7204
7636
|
* 옵션 모델 전체 교체 — variants는 valueNames로 축 값을 지목한다.
|
|
@@ -7227,7 +7659,31 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7227
7659
|
weightGram: number | null;
|
|
7228
7660
|
sellerCode: string | null;
|
|
7229
7661
|
usable: boolean;
|
|
7662
|
+
hasOrders?: boolean | undefined;
|
|
7663
|
+
}[];
|
|
7664
|
+
addonGroups: {
|
|
7665
|
+
groupId: string;
|
|
7666
|
+
name: string;
|
|
7667
|
+
sortOrder: number;
|
|
7668
|
+
required: boolean;
|
|
7669
|
+
values: {
|
|
7670
|
+
valueId: string;
|
|
7671
|
+
name: string;
|
|
7672
|
+
sortOrder: number;
|
|
7673
|
+
additionalPrice: number;
|
|
7674
|
+
usable: boolean;
|
|
7675
|
+
}[];
|
|
7676
|
+
}[];
|
|
7677
|
+
customInputs: {
|
|
7678
|
+
inputId: string;
|
|
7679
|
+
label: string;
|
|
7680
|
+
placeholder: string | null;
|
|
7681
|
+
maxLength: number;
|
|
7682
|
+
required: boolean;
|
|
7683
|
+
usable: boolean;
|
|
7684
|
+
sortOrder: number;
|
|
7230
7685
|
}[];
|
|
7686
|
+
optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
|
|
7231
7687
|
}>;
|
|
7232
7688
|
/** 재고 변경 — stockQuantity(절대값) 또는 adjustment(증감) 하나만 전달한다 */
|
|
7233
7689
|
updateVariantStock: (productId: string, variantId: string, body: VariantStockRequest) => Promise<{
|
|
@@ -7251,109 +7707,139 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7251
7707
|
endAt: string | null;
|
|
7252
7708
|
}>;
|
|
7253
7709
|
removeDiscount: (productId: string) => Promise<void>;
|
|
7254
|
-
|
|
7255
|
-
|
|
7256
|
-
|
|
7257
|
-
|
|
7258
|
-
|
|
7259
|
-
|
|
7260
|
-
|
|
7261
|
-
variantId: string;
|
|
7262
|
-
total: number;
|
|
7263
|
-
accepted: number;
|
|
7264
|
-
duplicates: number;
|
|
7265
|
-
rejected: {
|
|
7266
|
-
line: number;
|
|
7267
|
-
reason: string;
|
|
7268
|
-
}[];
|
|
7269
|
-
expiresAt: string | null;
|
|
7270
|
-
createdAt: string;
|
|
7271
|
-
}>;
|
|
7272
|
-
/** 코드 목록 — 가린 값(`hint`)만 싣는다. `available`은 필터와 무관한 판매 가능 코드 수다 */
|
|
7273
|
-
listCodes: (productId: string, params?: PageParams & Omit<z.input<typeof fulfillmentCodeListQuerySchema>, "page" | "size">) => Promise<{
|
|
7710
|
+
};
|
|
7711
|
+
/**
|
|
7712
|
+
* 저장 옵션 (이슈 #59) — 자주 쓰는 옵션 구성. 불러오기는 복사라 저장 옵션을 고쳐도 불러온 상품은 바뀌지 않는다.
|
|
7713
|
+
* 권한은 상품과 같다(`product:r`·`product:rw`).
|
|
7714
|
+
*/
|
|
7715
|
+
savedOptionSets: {
|
|
7716
|
+
list: (params?: SavedOptionSetListParams) => Promise<{
|
|
7274
7717
|
page: number;
|
|
7275
7718
|
size: number;
|
|
7276
7719
|
totalElements: number;
|
|
7277
7720
|
totalPages: number;
|
|
7278
7721
|
contents: {
|
|
7279
|
-
|
|
7280
|
-
|
|
7281
|
-
|
|
7282
|
-
|
|
7283
|
-
|
|
7284
|
-
|
|
7285
|
-
|
|
7286
|
-
|
|
7287
|
-
|
|
7288
|
-
|
|
7722
|
+
optionSetId: string;
|
|
7723
|
+
name: string;
|
|
7724
|
+
optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
|
|
7725
|
+
groups: {
|
|
7726
|
+
name: string;
|
|
7727
|
+
kind: string;
|
|
7728
|
+
required: boolean;
|
|
7729
|
+
values: {
|
|
7730
|
+
name: string;
|
|
7731
|
+
additionalPrice: number;
|
|
7732
|
+
}[];
|
|
7733
|
+
}[];
|
|
7734
|
+
customInputs: {
|
|
7735
|
+
label: string;
|
|
7736
|
+
placeholder: string | null;
|
|
7737
|
+
maxLength: number;
|
|
7738
|
+
required: boolean;
|
|
7739
|
+
}[];
|
|
7740
|
+
importedProductCount: number;
|
|
7289
7741
|
createdAt: string;
|
|
7742
|
+
updatedAt: string;
|
|
7290
7743
|
}[];
|
|
7291
|
-
available: number;
|
|
7292
7744
|
}>;
|
|
7293
|
-
|
|
7294
|
-
|
|
7295
|
-
|
|
7296
|
-
|
|
7297
|
-
|
|
7298
|
-
|
|
7299
|
-
|
|
7300
|
-
|
|
7301
|
-
|
|
7302
|
-
|
|
7303
|
-
|
|
7304
|
-
|
|
7745
|
+
get: (optionSetId: string) => Promise<{
|
|
7746
|
+
optionSetId: string;
|
|
7747
|
+
name: string;
|
|
7748
|
+
optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
|
|
7749
|
+
groups: {
|
|
7750
|
+
name: string;
|
|
7751
|
+
kind: string;
|
|
7752
|
+
required: boolean;
|
|
7753
|
+
values: {
|
|
7754
|
+
name: string;
|
|
7755
|
+
additionalPrice: number;
|
|
7756
|
+
}[];
|
|
7757
|
+
}[];
|
|
7758
|
+
customInputs: {
|
|
7759
|
+
label: string;
|
|
7760
|
+
placeholder: string | null;
|
|
7761
|
+
maxLength: number;
|
|
7762
|
+
required: boolean;
|
|
7763
|
+
}[];
|
|
7764
|
+
importedProductCount: number;
|
|
7305
7765
|
createdAt: string;
|
|
7766
|
+
updatedAt: string;
|
|
7306
7767
|
}>;
|
|
7307
|
-
/**
|
|
7308
|
-
|
|
7309
|
-
|
|
7310
|
-
|
|
7311
|
-
|
|
7312
|
-
|
|
7313
|
-
|
|
7314
|
-
|
|
7315
|
-
|
|
7316
|
-
|
|
7317
|
-
|
|
7318
|
-
|
|
7768
|
+
/** 이름이 겹치면 409 `OPTION_SET_NAME_TAKEN`, 스토어당 200개를 넘으면 409 `OPTION_SET_LIMIT_EXCEEDED` */
|
|
7769
|
+
create: (body: SavedOptionSetRequestInput) => Promise<{
|
|
7770
|
+
optionSetId: string;
|
|
7771
|
+
name: string;
|
|
7772
|
+
optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
|
|
7773
|
+
groups: {
|
|
7774
|
+
name: string;
|
|
7775
|
+
kind: string;
|
|
7776
|
+
required: boolean;
|
|
7777
|
+
values: {
|
|
7778
|
+
name: string;
|
|
7779
|
+
additionalPrice: number;
|
|
7780
|
+
}[];
|
|
7781
|
+
}[];
|
|
7782
|
+
customInputs: {
|
|
7783
|
+
label: string;
|
|
7784
|
+
placeholder: string | null;
|
|
7785
|
+
maxLength: number;
|
|
7786
|
+
required: boolean;
|
|
7787
|
+
}[];
|
|
7788
|
+
importedProductCount: number;
|
|
7319
7789
|
createdAt: string;
|
|
7790
|
+
updatedAt: string;
|
|
7320
7791
|
}>;
|
|
7321
|
-
/**
|
|
7322
|
-
|
|
7323
|
-
|
|
7324
|
-
|
|
7325
|
-
|
|
7326
|
-
|
|
7327
|
-
|
|
7328
|
-
|
|
7329
|
-
|
|
7330
|
-
|
|
7331
|
-
|
|
7332
|
-
|
|
7333
|
-
|
|
7334
|
-
|
|
7335
|
-
|
|
7336
|
-
|
|
7337
|
-
|
|
7338
|
-
|
|
7339
|
-
|
|
7340
|
-
|
|
7792
|
+
/** 통째로 바꾼다. 불러온 상품은 바뀌지 않는다 */
|
|
7793
|
+
update: (optionSetId: string, body: SavedOptionSetRequestInput) => Promise<{
|
|
7794
|
+
optionSetId: string;
|
|
7795
|
+
name: string;
|
|
7796
|
+
optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
|
|
7797
|
+
groups: {
|
|
7798
|
+
name: string;
|
|
7799
|
+
kind: string;
|
|
7800
|
+
required: boolean;
|
|
7801
|
+
values: {
|
|
7802
|
+
name: string;
|
|
7803
|
+
additionalPrice: number;
|
|
7804
|
+
}[];
|
|
7805
|
+
}[];
|
|
7806
|
+
customInputs: {
|
|
7807
|
+
label: string;
|
|
7808
|
+
placeholder: string | null;
|
|
7809
|
+
maxLength: number;
|
|
7810
|
+
required: boolean;
|
|
7811
|
+
}[];
|
|
7812
|
+
importedProductCount: number;
|
|
7341
7813
|
createdAt: string;
|
|
7814
|
+
updatedAt: string;
|
|
7342
7815
|
}>;
|
|
7343
|
-
|
|
7344
|
-
|
|
7345
|
-
|
|
7346
|
-
|
|
7347
|
-
|
|
7348
|
-
|
|
7349
|
-
|
|
7350
|
-
|
|
7351
|
-
|
|
7352
|
-
|
|
7353
|
-
|
|
7354
|
-
|
|
7355
|
-
|
|
7356
|
-
|
|
7816
|
+
remove: (optionSetId: string) => Promise<void>;
|
|
7817
|
+
/** 상품의 현재 옵션을 저장 옵션으로 만든다(또는 `replaceOptionSetId`를 덮어쓴다) */
|
|
7818
|
+
saveFromProduct: (body: SavedOptionSetFromProductRequestInput) => Promise<{
|
|
7819
|
+
optionSet: {
|
|
7820
|
+
optionSetId: string;
|
|
7821
|
+
name: string;
|
|
7822
|
+
optionSort: "REGISTERED" | "NAME" | "PRICE_ASC" | "PRICE_DESC";
|
|
7823
|
+
groups: {
|
|
7824
|
+
name: string;
|
|
7825
|
+
kind: string;
|
|
7826
|
+
required: boolean;
|
|
7827
|
+
values: {
|
|
7828
|
+
name: string;
|
|
7829
|
+
additionalPrice: number;
|
|
7830
|
+
}[];
|
|
7831
|
+
}[];
|
|
7832
|
+
customInputs: {
|
|
7833
|
+
label: string;
|
|
7834
|
+
placeholder: string | null;
|
|
7835
|
+
maxLength: number;
|
|
7836
|
+
required: boolean;
|
|
7837
|
+
}[];
|
|
7838
|
+
importedProductCount: number;
|
|
7839
|
+
createdAt: string;
|
|
7840
|
+
updatedAt: string;
|
|
7841
|
+
};
|
|
7842
|
+
additionalPriceDropped: boolean;
|
|
7357
7843
|
}>;
|
|
7358
7844
|
};
|
|
7359
7845
|
categories: {
|
|
@@ -7372,7 +7858,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7372
7858
|
visible: boolean;
|
|
7373
7859
|
showPc: boolean;
|
|
7374
7860
|
showMobile: boolean;
|
|
7375
|
-
productSort: "
|
|
7861
|
+
productSort: "NAME" | "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH";
|
|
7376
7862
|
metaTitle: string | null;
|
|
7377
7863
|
metaDescription: string | null;
|
|
7378
7864
|
metaKeywords: string | null;
|
|
@@ -7392,7 +7878,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7392
7878
|
visible: boolean;
|
|
7393
7879
|
showPc: boolean;
|
|
7394
7880
|
showMobile: boolean;
|
|
7395
|
-
productSort: "
|
|
7881
|
+
productSort: "NAME" | "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH";
|
|
7396
7882
|
metaTitle: string | null;
|
|
7397
7883
|
metaDescription: string | null;
|
|
7398
7884
|
metaKeywords: string | null;
|
|
@@ -7411,7 +7897,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7411
7897
|
visible: boolean;
|
|
7412
7898
|
showPc: boolean;
|
|
7413
7899
|
showMobile: boolean;
|
|
7414
|
-
productSort: "
|
|
7900
|
+
productSort: "NAME" | "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH";
|
|
7415
7901
|
metaTitle: string | null;
|
|
7416
7902
|
metaDescription: string | null;
|
|
7417
7903
|
metaKeywords: string | null;
|
|
@@ -7431,7 +7917,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7431
7917
|
visible: boolean;
|
|
7432
7918
|
showPc: boolean;
|
|
7433
7919
|
showMobile: boolean;
|
|
7434
|
-
productSort: "
|
|
7920
|
+
productSort: "NAME" | "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH";
|
|
7435
7921
|
metaTitle: string | null;
|
|
7436
7922
|
metaDescription: string | null;
|
|
7437
7923
|
metaKeywords: string | null;
|
|
@@ -7450,7 +7936,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7450
7936
|
visible: boolean;
|
|
7451
7937
|
showPc: boolean;
|
|
7452
7938
|
showMobile: boolean;
|
|
7453
|
-
productSort: "
|
|
7939
|
+
productSort: "NAME" | "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH";
|
|
7454
7940
|
metaTitle: string | null;
|
|
7455
7941
|
metaDescription: string | null;
|
|
7456
7942
|
metaKeywords: string | null;
|
|
@@ -7479,7 +7965,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7479
7965
|
visible: boolean;
|
|
7480
7966
|
showPc: boolean;
|
|
7481
7967
|
showMobile: boolean;
|
|
7482
|
-
productSort: "
|
|
7968
|
+
productSort: "NAME" | "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH";
|
|
7483
7969
|
metaTitle: string | null;
|
|
7484
7970
|
metaDescription: string | null;
|
|
7485
7971
|
metaKeywords: string | null;
|
|
@@ -7498,7 +7984,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7498
7984
|
visible: boolean;
|
|
7499
7985
|
showPc: boolean;
|
|
7500
7986
|
showMobile: boolean;
|
|
7501
|
-
productSort: "
|
|
7987
|
+
productSort: "NAME" | "RECENT" | "POPULAR" | "PRICE_LOW" | "PRICE_HIGH";
|
|
7502
7988
|
metaTitle: string | null;
|
|
7503
7989
|
metaDescription: string | null;
|
|
7504
7990
|
metaKeywords: string | null;
|
|
@@ -7585,7 +8071,6 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7585
8071
|
updatedAt: string;
|
|
7586
8072
|
} | null;
|
|
7587
8073
|
};
|
|
7588
|
-
withdrawalAgreedAt: string | null;
|
|
7589
8074
|
testPayment: boolean;
|
|
7590
8075
|
items: {
|
|
7591
8076
|
orderItemId: string;
|
|
@@ -7596,6 +8081,16 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7596
8081
|
productName: string;
|
|
7597
8082
|
optionId: string | null;
|
|
7598
8083
|
optionName: string | null;
|
|
8084
|
+
optionSelections: {
|
|
8085
|
+
kind: string;
|
|
8086
|
+
groupName: string;
|
|
8087
|
+
valueName: string;
|
|
8088
|
+
additionalPrice: number;
|
|
8089
|
+
}[];
|
|
8090
|
+
customInputs: {
|
|
8091
|
+
label: string;
|
|
8092
|
+
value: string;
|
|
8093
|
+
}[];
|
|
7599
8094
|
sellerCode: string | null;
|
|
7600
8095
|
fulfillmentSnapshot: UnknownFulfillment | {
|
|
7601
8096
|
type: "SHIPPING";
|
|
@@ -7604,29 +8099,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7604
8099
|
returnAddressId: string | null;
|
|
7605
8100
|
};
|
|
7606
8101
|
} | {
|
|
7607
|
-
type: "
|
|
7608
|
-
download: {
|
|
7609
|
-
limit: number;
|
|
7610
|
-
days: number;
|
|
7611
|
-
stockTracked: boolean;
|
|
7612
|
-
withdrawalRestricted: boolean;
|
|
7613
|
-
};
|
|
7614
|
-
} | {
|
|
7615
|
-
type: "CODE";
|
|
7616
|
-
code: {
|
|
7617
|
-
mode: string;
|
|
7618
|
-
withdrawalRestricted: boolean;
|
|
7619
|
-
};
|
|
7620
|
-
} | {
|
|
7621
|
-
type: "SERVICE";
|
|
7622
|
-
service: {
|
|
7623
|
-
mode: string;
|
|
7624
|
-
};
|
|
7625
|
-
} | {
|
|
7626
|
-
type: "PICKUP";
|
|
7627
|
-
pickup: {
|
|
7628
|
-
addressId: string | null;
|
|
7629
|
-
};
|
|
8102
|
+
type: "MANUAL";
|
|
7630
8103
|
};
|
|
7631
8104
|
quantity: number;
|
|
7632
8105
|
canceledQuantity: number;
|
|
@@ -7641,31 +8114,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7641
8114
|
} | null;
|
|
7642
8115
|
fulfillment: {
|
|
7643
8116
|
status: string;
|
|
7644
|
-
mode: string | null;
|
|
7645
8117
|
fulfilledAt: string;
|
|
7646
8118
|
note: string | null;
|
|
7647
|
-
|
|
7648
|
-
codeId: string;
|
|
7649
|
-
hint: string;
|
|
7650
|
-
status: string;
|
|
7651
|
-
revealedAt: string | null;
|
|
7652
|
-
}[];
|
|
7653
|
-
download: {
|
|
7654
|
-
count: number;
|
|
7655
|
-
limit: number;
|
|
7656
|
-
expiresAt: string | null;
|
|
7657
|
-
firstDownloadedAt: string | null;
|
|
7658
|
-
files: {
|
|
7659
|
-
assetId: string;
|
|
7660
|
-
fileName: string;
|
|
7661
|
-
sizeBytes: number | null;
|
|
7662
|
-
}[];
|
|
7663
|
-
} | null;
|
|
7664
|
-
mail: {
|
|
7665
|
-
status: string;
|
|
7666
|
-
sentAt: string | null;
|
|
7667
|
-
errorCode: string | null;
|
|
7668
|
-
} | null;
|
|
8119
|
+
mode?: string | undefined;
|
|
7669
8120
|
} | null;
|
|
7670
8121
|
autoDecisionDate: string | null;
|
|
7671
8122
|
sellerMemo: string | null;
|
|
@@ -7715,6 +8166,16 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7715
8166
|
productName: string;
|
|
7716
8167
|
optionId: string | null;
|
|
7717
8168
|
optionName: string | null;
|
|
8169
|
+
optionSelections: {
|
|
8170
|
+
kind: string;
|
|
8171
|
+
groupName: string;
|
|
8172
|
+
valueName: string;
|
|
8173
|
+
additionalPrice: number;
|
|
8174
|
+
}[];
|
|
8175
|
+
customInputs: {
|
|
8176
|
+
label: string;
|
|
8177
|
+
value: string;
|
|
8178
|
+
}[];
|
|
7718
8179
|
sellerCode: string | null;
|
|
7719
8180
|
fulfillmentSnapshot: UnknownFulfillment | {
|
|
7720
8181
|
type: "SHIPPING";
|
|
@@ -7723,29 +8184,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7723
8184
|
returnAddressId: string | null;
|
|
7724
8185
|
};
|
|
7725
8186
|
} | {
|
|
7726
|
-
type: "
|
|
7727
|
-
download: {
|
|
7728
|
-
limit: number;
|
|
7729
|
-
days: number;
|
|
7730
|
-
stockTracked: boolean;
|
|
7731
|
-
withdrawalRestricted: boolean;
|
|
7732
|
-
};
|
|
7733
|
-
} | {
|
|
7734
|
-
type: "CODE";
|
|
7735
|
-
code: {
|
|
7736
|
-
mode: string;
|
|
7737
|
-
withdrawalRestricted: boolean;
|
|
7738
|
-
};
|
|
7739
|
-
} | {
|
|
7740
|
-
type: "SERVICE";
|
|
7741
|
-
service: {
|
|
7742
|
-
mode: string;
|
|
7743
|
-
};
|
|
7744
|
-
} | {
|
|
7745
|
-
type: "PICKUP";
|
|
7746
|
-
pickup: {
|
|
7747
|
-
addressId: string | null;
|
|
7748
|
-
};
|
|
8187
|
+
type: "MANUAL";
|
|
7749
8188
|
};
|
|
7750
8189
|
quantity: number;
|
|
7751
8190
|
canceledQuantity: number;
|
|
@@ -7760,31 +8199,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7760
8199
|
} | null;
|
|
7761
8200
|
fulfillment: {
|
|
7762
8201
|
status: string;
|
|
7763
|
-
mode: string | null;
|
|
7764
8202
|
fulfilledAt: string;
|
|
7765
8203
|
note: string | null;
|
|
7766
|
-
|
|
7767
|
-
codeId: string;
|
|
7768
|
-
hint: string;
|
|
7769
|
-
status: string;
|
|
7770
|
-
revealedAt: string | null;
|
|
7771
|
-
}[];
|
|
7772
|
-
download: {
|
|
7773
|
-
count: number;
|
|
7774
|
-
limit: number;
|
|
7775
|
-
expiresAt: string | null;
|
|
7776
|
-
firstDownloadedAt: string | null;
|
|
7777
|
-
files: {
|
|
7778
|
-
assetId: string;
|
|
7779
|
-
fileName: string;
|
|
7780
|
-
sizeBytes: number | null;
|
|
7781
|
-
}[];
|
|
7782
|
-
} | null;
|
|
7783
|
-
mail: {
|
|
7784
|
-
status: string;
|
|
7785
|
-
sentAt: string | null;
|
|
7786
|
-
errorCode: string | null;
|
|
7787
|
-
} | null;
|
|
8204
|
+
mode?: string | undefined;
|
|
7788
8205
|
} | null;
|
|
7789
8206
|
autoDecisionDate: string | null;
|
|
7790
8207
|
sellerMemo: string | null;
|
|
@@ -7862,6 +8279,16 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7862
8279
|
productName: string;
|
|
7863
8280
|
optionId: string | null;
|
|
7864
8281
|
optionName: string | null;
|
|
8282
|
+
optionSelections: {
|
|
8283
|
+
kind: string;
|
|
8284
|
+
groupName: string;
|
|
8285
|
+
valueName: string;
|
|
8286
|
+
additionalPrice: number;
|
|
8287
|
+
}[];
|
|
8288
|
+
customInputs: {
|
|
8289
|
+
label: string;
|
|
8290
|
+
value: string;
|
|
8291
|
+
}[];
|
|
7865
8292
|
sellerCode: string | null;
|
|
7866
8293
|
fulfillmentSnapshot: UnknownFulfillment | {
|
|
7867
8294
|
type: "SHIPPING";
|
|
@@ -7870,29 +8297,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7870
8297
|
returnAddressId: string | null;
|
|
7871
8298
|
};
|
|
7872
8299
|
} | {
|
|
7873
|
-
type: "
|
|
7874
|
-
download: {
|
|
7875
|
-
limit: number;
|
|
7876
|
-
days: number;
|
|
7877
|
-
stockTracked: boolean;
|
|
7878
|
-
withdrawalRestricted: boolean;
|
|
7879
|
-
};
|
|
7880
|
-
} | {
|
|
7881
|
-
type: "CODE";
|
|
7882
|
-
code: {
|
|
7883
|
-
mode: string;
|
|
7884
|
-
withdrawalRestricted: boolean;
|
|
7885
|
-
};
|
|
7886
|
-
} | {
|
|
7887
|
-
type: "SERVICE";
|
|
7888
|
-
service: {
|
|
7889
|
-
mode: string;
|
|
7890
|
-
};
|
|
7891
|
-
} | {
|
|
7892
|
-
type: "PICKUP";
|
|
7893
|
-
pickup: {
|
|
7894
|
-
addressId: string | null;
|
|
7895
|
-
};
|
|
8300
|
+
type: "MANUAL";
|
|
7896
8301
|
};
|
|
7897
8302
|
quantity: number;
|
|
7898
8303
|
canceledQuantity: number;
|
|
@@ -7907,31 +8312,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7907
8312
|
} | null;
|
|
7908
8313
|
fulfillment: {
|
|
7909
8314
|
status: string;
|
|
7910
|
-
mode: string | null;
|
|
7911
8315
|
fulfilledAt: string;
|
|
7912
8316
|
note: string | null;
|
|
7913
|
-
|
|
7914
|
-
codeId: string;
|
|
7915
|
-
hint: string;
|
|
7916
|
-
status: string;
|
|
7917
|
-
revealedAt: string | null;
|
|
7918
|
-
}[];
|
|
7919
|
-
download: {
|
|
7920
|
-
count: number;
|
|
7921
|
-
limit: number;
|
|
7922
|
-
expiresAt: string | null;
|
|
7923
|
-
firstDownloadedAt: string | null;
|
|
7924
|
-
files: {
|
|
7925
|
-
assetId: string;
|
|
7926
|
-
fileName: string;
|
|
7927
|
-
sizeBytes: number | null;
|
|
7928
|
-
}[];
|
|
7929
|
-
} | null;
|
|
7930
|
-
mail: {
|
|
7931
|
-
status: string;
|
|
7932
|
-
sentAt: string | null;
|
|
7933
|
-
errorCode: string | null;
|
|
7934
|
-
} | null;
|
|
8317
|
+
mode?: string | undefined;
|
|
7935
8318
|
} | null;
|
|
7936
8319
|
autoDecisionDate: string | null;
|
|
7937
8320
|
sellerMemo: string | null;
|
|
@@ -7952,14 +8335,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7952
8335
|
}[];
|
|
7953
8336
|
}>;
|
|
7954
8337
|
/**
|
|
7955
|
-
* 제공
|
|
7956
|
-
* 코드·파일 주소는 메일에 없다
|
|
7957
|
-
*/
|
|
7958
|
-
resendFulfillmentMail: (orderItemId: string) => Promise<{
|
|
7959
|
-
mailStatus: string;
|
|
7960
|
-
}>;
|
|
7961
|
-
/**
|
|
7962
|
-
* 제공 처리 (이슈 #48) — 수동 제공 비실물 주문상품(이용권·방문 수령)을 `PAID`·`CONFIRMED`에서 제공 완료(`DELIVERED`)로
|
|
8338
|
+
* 제공 처리 (이슈 #48) — 배송 없는 주문상품(`MANUAL`)을 `PAID`·`CONFIRMED`에서 제공 완료(`DELIVERED`)로
|
|
7963
8339
|
* 바꾼다. `note`는 구매자 주문 상세에 이용 안내로 실린다. 배송 상품은 409 `SHIPPING_REQUIRED`
|
|
7964
8340
|
*/
|
|
7965
8341
|
fulfill: (orderItemId: string, body?: FulfillRequest, idempotencyKey?: string) => Promise<{
|
|
@@ -7971,6 +8347,16 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7971
8347
|
productName: string;
|
|
7972
8348
|
optionId: string | null;
|
|
7973
8349
|
optionName: string | null;
|
|
8350
|
+
optionSelections: {
|
|
8351
|
+
kind: string;
|
|
8352
|
+
groupName: string;
|
|
8353
|
+
valueName: string;
|
|
8354
|
+
additionalPrice: number;
|
|
8355
|
+
}[];
|
|
8356
|
+
customInputs: {
|
|
8357
|
+
label: string;
|
|
8358
|
+
value: string;
|
|
8359
|
+
}[];
|
|
7974
8360
|
sellerCode: string | null;
|
|
7975
8361
|
fulfillmentSnapshot: UnknownFulfillment | {
|
|
7976
8362
|
type: "SHIPPING";
|
|
@@ -7979,29 +8365,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
7979
8365
|
returnAddressId: string | null;
|
|
7980
8366
|
};
|
|
7981
8367
|
} | {
|
|
7982
|
-
type: "
|
|
7983
|
-
download: {
|
|
7984
|
-
limit: number;
|
|
7985
|
-
days: number;
|
|
7986
|
-
stockTracked: boolean;
|
|
7987
|
-
withdrawalRestricted: boolean;
|
|
7988
|
-
};
|
|
7989
|
-
} | {
|
|
7990
|
-
type: "CODE";
|
|
7991
|
-
code: {
|
|
7992
|
-
mode: string;
|
|
7993
|
-
withdrawalRestricted: boolean;
|
|
7994
|
-
};
|
|
7995
|
-
} | {
|
|
7996
|
-
type: "SERVICE";
|
|
7997
|
-
service: {
|
|
7998
|
-
mode: string;
|
|
7999
|
-
};
|
|
8000
|
-
} | {
|
|
8001
|
-
type: "PICKUP";
|
|
8002
|
-
pickup: {
|
|
8003
|
-
addressId: string | null;
|
|
8004
|
-
};
|
|
8368
|
+
type: "MANUAL";
|
|
8005
8369
|
};
|
|
8006
8370
|
quantity: number;
|
|
8007
8371
|
canceledQuantity: number;
|
|
@@ -8016,31 +8380,9 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
8016
8380
|
} | null;
|
|
8017
8381
|
fulfillment: {
|
|
8018
8382
|
status: string;
|
|
8019
|
-
mode: string | null;
|
|
8020
8383
|
fulfilledAt: string;
|
|
8021
8384
|
note: string | null;
|
|
8022
|
-
|
|
8023
|
-
codeId: string;
|
|
8024
|
-
hint: string;
|
|
8025
|
-
status: string;
|
|
8026
|
-
revealedAt: string | null;
|
|
8027
|
-
}[];
|
|
8028
|
-
download: {
|
|
8029
|
-
count: number;
|
|
8030
|
-
limit: number;
|
|
8031
|
-
expiresAt: string | null;
|
|
8032
|
-
firstDownloadedAt: string | null;
|
|
8033
|
-
files: {
|
|
8034
|
-
assetId: string;
|
|
8035
|
-
fileName: string;
|
|
8036
|
-
sizeBytes: number | null;
|
|
8037
|
-
}[];
|
|
8038
|
-
} | null;
|
|
8039
|
-
mail: {
|
|
8040
|
-
status: string;
|
|
8041
|
-
sentAt: string | null;
|
|
8042
|
-
errorCode: string | null;
|
|
8043
|
-
} | null;
|
|
8385
|
+
mode?: string | undefined;
|
|
8044
8386
|
} | null;
|
|
8045
8387
|
autoDecisionDate: string | null;
|
|
8046
8388
|
sellerMemo: string | null;
|
|
@@ -10294,7 +10636,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10294
10636
|
list: (params?: ApprovalListOptions) => Promise<{
|
|
10295
10637
|
items: {
|
|
10296
10638
|
approvalId: string;
|
|
10297
|
-
status: "
|
|
10639
|
+
status: "PENDING" | "FAILED" | "SUCCEEDED" | "EXECUTING" | "UNKNOWN" | "REJECTED" | "EXPIRED";
|
|
10298
10640
|
operationId: string;
|
|
10299
10641
|
method: string;
|
|
10300
10642
|
path: string;
|
|
@@ -10344,7 +10686,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10344
10686
|
}>;
|
|
10345
10687
|
get: (approvalId: string) => Promise<{
|
|
10346
10688
|
approvalId: string;
|
|
10347
|
-
status: "
|
|
10689
|
+
status: "PENDING" | "FAILED" | "SUCCEEDED" | "EXECUTING" | "UNKNOWN" | "REJECTED" | "EXPIRED";
|
|
10348
10690
|
operationId: string;
|
|
10349
10691
|
method: string;
|
|
10350
10692
|
path: string;
|
|
@@ -10396,7 +10738,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10396
10738
|
*/
|
|
10397
10739
|
approve: (approvalId: string, body?: ApprovalDecisionRequest) => Promise<{
|
|
10398
10740
|
approvalId: string;
|
|
10399
|
-
status: "
|
|
10741
|
+
status: "PENDING" | "FAILED" | "SUCCEEDED" | "EXECUTING" | "UNKNOWN" | "REJECTED" | "EXPIRED";
|
|
10400
10742
|
operationId: string;
|
|
10401
10743
|
method: string;
|
|
10402
10744
|
path: string;
|
|
@@ -10444,7 +10786,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10444
10786
|
}>;
|
|
10445
10787
|
reject: (approvalId: string, body?: ApprovalDecisionRequest) => Promise<{
|
|
10446
10788
|
approvalId: string;
|
|
10447
|
-
status: "
|
|
10789
|
+
status: "PENDING" | "FAILED" | "SUCCEEDED" | "EXECUTING" | "UNKNOWN" | "REJECTED" | "EXPIRED";
|
|
10448
10790
|
operationId: string;
|
|
10449
10791
|
method: string;
|
|
10450
10792
|
path: string;
|
|
@@ -10541,7 +10883,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10541
10883
|
sellerAddresses: {
|
|
10542
10884
|
list: (type?: AddressType) => Promise<{
|
|
10543
10885
|
addressId: string;
|
|
10544
|
-
type: "SHIPPING" | "
|
|
10886
|
+
type: "SHIPPING" | "RETURN";
|
|
10545
10887
|
name: string;
|
|
10546
10888
|
isDefault: boolean;
|
|
10547
10889
|
contactName: string;
|
|
@@ -10576,6 +10918,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10576
10918
|
get: () => Promise<{
|
|
10577
10919
|
enabled: boolean;
|
|
10578
10920
|
domain: string;
|
|
10921
|
+
editingEnabled: boolean;
|
|
10579
10922
|
site: {
|
|
10580
10923
|
siteId: string;
|
|
10581
10924
|
slug: string;
|
|
@@ -10601,6 +10944,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10601
10944
|
published: boolean;
|
|
10602
10945
|
publishedAt: string | null;
|
|
10603
10946
|
message: string | null;
|
|
10947
|
+
source: "TEMPLATE" | "EDIT";
|
|
10948
|
+
buildId: string | null;
|
|
10604
10949
|
createdByType: string;
|
|
10605
10950
|
createdAt: string;
|
|
10606
10951
|
} | null;
|
|
@@ -10609,9 +10954,16 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10609
10954
|
lastErrorCode: string | null;
|
|
10610
10955
|
syncedAt: string | null;
|
|
10611
10956
|
};
|
|
10957
|
+
editPreview: {
|
|
10958
|
+
hostname: string | null;
|
|
10959
|
+
};
|
|
10612
10960
|
slugChangesRemaining: number;
|
|
10613
10961
|
createdAt: string;
|
|
10614
10962
|
updatedAt: string;
|
|
10963
|
+
suspension?: {
|
|
10964
|
+
reason: string | null;
|
|
10965
|
+
suspendedAt: string | null;
|
|
10966
|
+
} | null | undefined;
|
|
10615
10967
|
} | null;
|
|
10616
10968
|
}>;
|
|
10617
10969
|
/** `GET /v1/storefront/slug-availability?slug=` — 슬러그를 쓸 수 있는가 */
|
|
@@ -10646,6 +10998,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10646
10998
|
published: boolean;
|
|
10647
10999
|
publishedAt: string | null;
|
|
10648
11000
|
message: string | null;
|
|
11001
|
+
source: "TEMPLATE" | "EDIT";
|
|
11002
|
+
buildId: string | null;
|
|
10649
11003
|
createdByType: string;
|
|
10650
11004
|
createdAt: string;
|
|
10651
11005
|
} | null;
|
|
@@ -10654,9 +11008,16 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10654
11008
|
lastErrorCode: string | null;
|
|
10655
11009
|
syncedAt: string | null;
|
|
10656
11010
|
};
|
|
11011
|
+
editPreview: {
|
|
11012
|
+
hostname: string | null;
|
|
11013
|
+
};
|
|
10657
11014
|
slugChangesRemaining: number;
|
|
10658
11015
|
createdAt: string;
|
|
10659
11016
|
updatedAt: string;
|
|
11017
|
+
suspension?: {
|
|
11018
|
+
reason: string | null;
|
|
11019
|
+
suspendedAt: string | null;
|
|
11020
|
+
} | null | undefined;
|
|
10660
11021
|
}>;
|
|
10661
11022
|
/** `POST /v1/storefront/site/template` — 템플릿을 바꾼다. 새 버전을 만들고 기본으로 곧바로 발행한다 */
|
|
10662
11023
|
changeTemplate: (body: ChangeStorefrontTemplateRequest) => Promise<{
|
|
@@ -10684,6 +11045,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10684
11045
|
published: boolean;
|
|
10685
11046
|
publishedAt: string | null;
|
|
10686
11047
|
message: string | null;
|
|
11048
|
+
source: "TEMPLATE" | "EDIT";
|
|
11049
|
+
buildId: string | null;
|
|
10687
11050
|
createdByType: string;
|
|
10688
11051
|
createdAt: string;
|
|
10689
11052
|
} | null;
|
|
@@ -10692,9 +11055,16 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10692
11055
|
lastErrorCode: string | null;
|
|
10693
11056
|
syncedAt: string | null;
|
|
10694
11057
|
};
|
|
11058
|
+
editPreview: {
|
|
11059
|
+
hostname: string | null;
|
|
11060
|
+
};
|
|
10695
11061
|
slugChangesRemaining: number;
|
|
10696
11062
|
createdAt: string;
|
|
10697
11063
|
updatedAt: string;
|
|
11064
|
+
suspension?: {
|
|
11065
|
+
reason: string | null;
|
|
11066
|
+
suspendedAt: string | null;
|
|
11067
|
+
} | null | undefined;
|
|
10698
11068
|
}>;
|
|
10699
11069
|
/** `GET /v1/storefront/site/versions` — 버전 목록(최신 먼저) */
|
|
10700
11070
|
listVersions: () => Promise<{
|
|
@@ -10706,6 +11076,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10706
11076
|
published: boolean;
|
|
10707
11077
|
publishedAt: string | null;
|
|
10708
11078
|
message: string | null;
|
|
11079
|
+
source: "TEMPLATE" | "EDIT";
|
|
11080
|
+
buildId: string | null;
|
|
10709
11081
|
createdByType: string;
|
|
10710
11082
|
createdAt: string;
|
|
10711
11083
|
}[]>;
|
|
@@ -10735,6 +11107,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10735
11107
|
published: boolean;
|
|
10736
11108
|
publishedAt: string | null;
|
|
10737
11109
|
message: string | null;
|
|
11110
|
+
source: "TEMPLATE" | "EDIT";
|
|
11111
|
+
buildId: string | null;
|
|
10738
11112
|
createdByType: string;
|
|
10739
11113
|
createdAt: string;
|
|
10740
11114
|
} | null;
|
|
@@ -10743,9 +11117,16 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10743
11117
|
lastErrorCode: string | null;
|
|
10744
11118
|
syncedAt: string | null;
|
|
10745
11119
|
};
|
|
11120
|
+
editPreview: {
|
|
11121
|
+
hostname: string | null;
|
|
11122
|
+
};
|
|
10746
11123
|
slugChangesRemaining: number;
|
|
10747
11124
|
createdAt: string;
|
|
10748
11125
|
updatedAt: string;
|
|
11126
|
+
suspension?: {
|
|
11127
|
+
reason: string | null;
|
|
11128
|
+
suspendedAt: string | null;
|
|
11129
|
+
} | null | undefined;
|
|
10749
11130
|
}>;
|
|
10750
11131
|
/** `POST /v1/storefront/site/rollback` — 이전 발행 버전으로 되돌린다(재빌드 없음) */
|
|
10751
11132
|
rollback: (body?: RollbackStorefrontRequest) => Promise<{
|
|
@@ -10773,6 +11154,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10773
11154
|
published: boolean;
|
|
10774
11155
|
publishedAt: string | null;
|
|
10775
11156
|
message: string | null;
|
|
11157
|
+
source: "TEMPLATE" | "EDIT";
|
|
11158
|
+
buildId: string | null;
|
|
10776
11159
|
createdByType: string;
|
|
10777
11160
|
createdAt: string;
|
|
10778
11161
|
} | null;
|
|
@@ -10781,9 +11164,16 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10781
11164
|
lastErrorCode: string | null;
|
|
10782
11165
|
syncedAt: string | null;
|
|
10783
11166
|
};
|
|
11167
|
+
editPreview: {
|
|
11168
|
+
hostname: string | null;
|
|
11169
|
+
};
|
|
10784
11170
|
slugChangesRemaining: number;
|
|
10785
11171
|
createdAt: string;
|
|
10786
11172
|
updatedAt: string;
|
|
11173
|
+
suspension?: {
|
|
11174
|
+
reason: string | null;
|
|
11175
|
+
suspendedAt: string | null;
|
|
11176
|
+
} | null | undefined;
|
|
10787
11177
|
}>;
|
|
10788
11178
|
/** `PUT /v1/storefront/site/slug` — 슬러그를 바꾼다. 옛 슬러그는 90일 보류되고 새 주소로 301한다 */
|
|
10789
11179
|
changeSlug: (body: ChangeStorefrontSlugRequest) => Promise<{
|
|
@@ -10811,6 +11201,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10811
11201
|
published: boolean;
|
|
10812
11202
|
publishedAt: string | null;
|
|
10813
11203
|
message: string | null;
|
|
11204
|
+
source: "TEMPLATE" | "EDIT";
|
|
11205
|
+
buildId: string | null;
|
|
10814
11206
|
createdByType: string;
|
|
10815
11207
|
createdAt: string;
|
|
10816
11208
|
} | null;
|
|
@@ -10819,9 +11211,16 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10819
11211
|
lastErrorCode: string | null;
|
|
10820
11212
|
syncedAt: string | null;
|
|
10821
11213
|
};
|
|
11214
|
+
editPreview: {
|
|
11215
|
+
hostname: string | null;
|
|
11216
|
+
};
|
|
10822
11217
|
slugChangesRemaining: number;
|
|
10823
11218
|
createdAt: string;
|
|
10824
11219
|
updatedAt: string;
|
|
11220
|
+
suspension?: {
|
|
11221
|
+
reason: string | null;
|
|
11222
|
+
suspendedAt: string | null;
|
|
11223
|
+
} | null | undefined;
|
|
10825
11224
|
}>;
|
|
10826
11225
|
/** `PUT /v1/storefront/site/visibility` — 오픈 준비 중 ↔ 공개 */
|
|
10827
11226
|
setVisibility: (body: SetStorefrontVisibilityRequest) => Promise<{
|
|
@@ -10849,6 +11248,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10849
11248
|
published: boolean;
|
|
10850
11249
|
publishedAt: string | null;
|
|
10851
11250
|
message: string | null;
|
|
11251
|
+
source: "TEMPLATE" | "EDIT";
|
|
11252
|
+
buildId: string | null;
|
|
10852
11253
|
createdByType: string;
|
|
10853
11254
|
createdAt: string;
|
|
10854
11255
|
} | null;
|
|
@@ -10857,9 +11258,16 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10857
11258
|
lastErrorCode: string | null;
|
|
10858
11259
|
syncedAt: string | null;
|
|
10859
11260
|
};
|
|
11261
|
+
editPreview: {
|
|
11262
|
+
hostname: string | null;
|
|
11263
|
+
};
|
|
10860
11264
|
slugChangesRemaining: number;
|
|
10861
11265
|
createdAt: string;
|
|
10862
11266
|
updatedAt: string;
|
|
11267
|
+
suspension?: {
|
|
11268
|
+
reason: string | null;
|
|
11269
|
+
suspendedAt: string | null;
|
|
11270
|
+
} | null | undefined;
|
|
10863
11271
|
}>;
|
|
10864
11272
|
/**
|
|
10865
11273
|
* `POST /v1/storefront/site/preview-link` — 오픈 준비 중인 사이트를 구성원이 볼 수 있는 5분짜리 링크.
|
|
@@ -10895,6 +11303,8 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10895
11303
|
published: boolean;
|
|
10896
11304
|
publishedAt: string | null;
|
|
10897
11305
|
message: string | null;
|
|
11306
|
+
source: "TEMPLATE" | "EDIT";
|
|
11307
|
+
buildId: string | null;
|
|
10898
11308
|
createdByType: string;
|
|
10899
11309
|
createdAt: string;
|
|
10900
11310
|
} | null;
|
|
@@ -10903,9 +11313,392 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10903
11313
|
lastErrorCode: string | null;
|
|
10904
11314
|
syncedAt: string | null;
|
|
10905
11315
|
};
|
|
11316
|
+
editPreview: {
|
|
11317
|
+
hostname: string | null;
|
|
11318
|
+
};
|
|
10906
11319
|
slugChangesRemaining: number;
|
|
10907
11320
|
createdAt: string;
|
|
10908
11321
|
updatedAt: string;
|
|
11322
|
+
suspension?: {
|
|
11323
|
+
reason: string | null;
|
|
11324
|
+
suspendedAt: string | null;
|
|
11325
|
+
} | null | undefined;
|
|
11326
|
+
}>;
|
|
11327
|
+
/** `GET /v1/storefront/site/editing` — 편집 환경 상태(열린 환경·동시 상한·미리보기 인증서) */
|
|
11328
|
+
getEditing: () => Promise<{
|
|
11329
|
+
enabled: boolean;
|
|
11330
|
+
session: {
|
|
11331
|
+
sessionId: string;
|
|
11332
|
+
status: "STARTING" | "RUNNING";
|
|
11333
|
+
startStage: string | null;
|
|
11334
|
+
startedAt: string;
|
|
11335
|
+
lastEditedAt: string | null;
|
|
11336
|
+
lastActiveAt: string;
|
|
11337
|
+
idleExpiresAt: string;
|
|
11338
|
+
closesAt: string;
|
|
11339
|
+
} | null;
|
|
11340
|
+
capacity: {
|
|
11341
|
+
limit: number;
|
|
11342
|
+
inUse: number;
|
|
11343
|
+
};
|
|
11344
|
+
preview: {
|
|
11345
|
+
hostname: string | null;
|
|
11346
|
+
};
|
|
11347
|
+
workingTree: {
|
|
11348
|
+
modified: boolean;
|
|
11349
|
+
lastEditedAt: string | null;
|
|
11350
|
+
};
|
|
11351
|
+
}>;
|
|
11352
|
+
/**
|
|
11353
|
+
* `POST /v1/storefront/site/editing` — 편집 환경을 연다(이미 열려 있으면 그대로). 플랫폼 동시 상한에 걸리면 409
|
|
11354
|
+
* `EDIT_CAPACITY_FULL`(`details.retryAfterSeconds`). 띄우는 데 보통 30초가 걸린다(`session.status: STARTING`)
|
|
11355
|
+
*/
|
|
11356
|
+
startEditing: () => Promise<{
|
|
11357
|
+
enabled: boolean;
|
|
11358
|
+
session: {
|
|
11359
|
+
sessionId: string;
|
|
11360
|
+
status: "STARTING" | "RUNNING";
|
|
11361
|
+
startStage: string | null;
|
|
11362
|
+
startedAt: string;
|
|
11363
|
+
lastEditedAt: string | null;
|
|
11364
|
+
lastActiveAt: string;
|
|
11365
|
+
idleExpiresAt: string;
|
|
11366
|
+
closesAt: string;
|
|
11367
|
+
} | null;
|
|
11368
|
+
capacity: {
|
|
11369
|
+
limit: number;
|
|
11370
|
+
inUse: number;
|
|
11371
|
+
};
|
|
11372
|
+
preview: {
|
|
11373
|
+
hostname: string | null;
|
|
11374
|
+
};
|
|
11375
|
+
workingTree: {
|
|
11376
|
+
modified: boolean;
|
|
11377
|
+
lastEditedAt: string | null;
|
|
11378
|
+
};
|
|
11379
|
+
}>;
|
|
11380
|
+
/** `DELETE /v1/storefront/site/editing` — 편집 환경을 닫는다(작업 트리는 보존된다) */
|
|
11381
|
+
stopEditing: () => Promise<{
|
|
11382
|
+
enabled: boolean;
|
|
11383
|
+
session: {
|
|
11384
|
+
sessionId: string;
|
|
11385
|
+
status: "STARTING" | "RUNNING";
|
|
11386
|
+
startStage: string | null;
|
|
11387
|
+
startedAt: string;
|
|
11388
|
+
lastEditedAt: string | null;
|
|
11389
|
+
lastActiveAt: string;
|
|
11390
|
+
idleExpiresAt: string;
|
|
11391
|
+
closesAt: string;
|
|
11392
|
+
} | null;
|
|
11393
|
+
capacity: {
|
|
11394
|
+
limit: number;
|
|
11395
|
+
inUse: number;
|
|
11396
|
+
};
|
|
11397
|
+
preview: {
|
|
11398
|
+
hostname: string | null;
|
|
11399
|
+
};
|
|
11400
|
+
workingTree: {
|
|
11401
|
+
modified: boolean;
|
|
11402
|
+
lastEditedAt: string | null;
|
|
11403
|
+
};
|
|
11404
|
+
}>;
|
|
11405
|
+
/**
|
|
11406
|
+
* `POST /v1/storefront/site/editing/preview-link` — 편집 미리보기(dev 서버) 5분짜리 링크.
|
|
11407
|
+
* 콘솔에서 로그인한 OWNER·ADMIN만 받는다(에이전트 불가)
|
|
11408
|
+
*/
|
|
11409
|
+
createEditPreviewLink: (body?: CreateStorefrontEditPreviewLinkRequest) => Promise<{
|
|
11410
|
+
url: string;
|
|
11411
|
+
expiresAt: string;
|
|
11412
|
+
}>;
|
|
11413
|
+
/** `GET /v1/storefront/site/files?prefix=` — 작업 트리 파일 목록 */
|
|
11414
|
+
listFiles: (params?: {
|
|
11415
|
+
prefix?: string;
|
|
11416
|
+
}) => Promise<{
|
|
11417
|
+
files: {
|
|
11418
|
+
path: string;
|
|
11419
|
+
size: number;
|
|
11420
|
+
hash: string;
|
|
11421
|
+
}[];
|
|
11422
|
+
totalBytes: number;
|
|
11423
|
+
}>;
|
|
11424
|
+
/** `GET /v1/storefront/site/files/content?path=` — 파일 하나 읽기 */
|
|
11425
|
+
readFile: (filePath: string) => Promise<{
|
|
11426
|
+
path: string;
|
|
11427
|
+
content: string;
|
|
11428
|
+
encoding: "utf8" | "base64";
|
|
11429
|
+
hash: string;
|
|
11430
|
+
size: number;
|
|
11431
|
+
}>;
|
|
11432
|
+
/**
|
|
11433
|
+
* `POST /v1/storefront/site/files/batch` — 여러 파일 쓰기(해시 조건). 조건이 하나라도 어긋나면 아무것도 쓰지 않고 409
|
|
11434
|
+
* `FILE_CHANGED`(`details.conflicts`). 편집 환경이 없으면 연다
|
|
11435
|
+
*/
|
|
11436
|
+
writeFiles: (body: WriteStorefrontFilesRequest) => Promise<{
|
|
11437
|
+
files: {
|
|
11438
|
+
path: string;
|
|
11439
|
+
size: number;
|
|
11440
|
+
hash: string;
|
|
11441
|
+
}[];
|
|
11442
|
+
}>;
|
|
11443
|
+
/** `POST /v1/storefront/site/files/delete` */
|
|
11444
|
+
deleteFile: (body: DeleteStorefrontFileRequest) => Promise<{
|
|
11445
|
+
path: string;
|
|
11446
|
+
deleted: boolean;
|
|
11447
|
+
}>;
|
|
11448
|
+
/** `POST /v1/storefront/site/files/move` */
|
|
11449
|
+
moveFile: (body: MoveStorefrontFileRequest) => Promise<{
|
|
11450
|
+
from: string;
|
|
11451
|
+
to: string;
|
|
11452
|
+
hash: string;
|
|
11453
|
+
size: number;
|
|
11454
|
+
}>;
|
|
11455
|
+
/** `POST /v1/storefront/site/files/search` — 내용 검색 */
|
|
11456
|
+
searchFiles: (body: SearchStorefrontFilesRequest) => Promise<{
|
|
11457
|
+
matches: {
|
|
11458
|
+
path: string;
|
|
11459
|
+
line: number;
|
|
11460
|
+
text: string;
|
|
11461
|
+
column?: number | undefined;
|
|
11462
|
+
}[];
|
|
11463
|
+
truncated: boolean;
|
|
11464
|
+
}>;
|
|
11465
|
+
/**
|
|
11466
|
+
* `POST /v1/storefront/site/checks` (202) — 타입 검사·lint·test 하나를 시작한다. 결과는 `getCheck`로 끝날 때까지 조회한다
|
|
11467
|
+
* (`STOREFRONT_CHECK_TERMINAL_STATUSES`)
|
|
11468
|
+
*/
|
|
11469
|
+
runCheck: (body: RunStorefrontCheckRequest) => Promise<{
|
|
11470
|
+
checkId: string;
|
|
11471
|
+
check: string;
|
|
11472
|
+
status: "FAILED" | "UNKNOWN" | "RUNNING" | "QUEUED" | "PASSED" | "TIMED_OUT";
|
|
11473
|
+
exitCode: number | null;
|
|
11474
|
+
durationMs: number | null;
|
|
11475
|
+
outputTail: string | null;
|
|
11476
|
+
errorCode: string | null;
|
|
11477
|
+
message: string | null;
|
|
11478
|
+
createdAt: string;
|
|
11479
|
+
startedAt: string | null;
|
|
11480
|
+
finishedAt: string | null;
|
|
11481
|
+
}>;
|
|
11482
|
+
/** `GET /v1/storefront/site/checks/{checkId}` — 검사 상태·종료 코드·출력 꼬리 */
|
|
11483
|
+
getCheck: (checkId: string) => Promise<{
|
|
11484
|
+
checkId: string;
|
|
11485
|
+
check: string;
|
|
11486
|
+
status: "FAILED" | "UNKNOWN" | "RUNNING" | "QUEUED" | "PASSED" | "TIMED_OUT";
|
|
11487
|
+
exitCode: number | null;
|
|
11488
|
+
durationMs: number | null;
|
|
11489
|
+
outputTail: string | null;
|
|
11490
|
+
errorCode: string | null;
|
|
11491
|
+
message: string | null;
|
|
11492
|
+
createdAt: string;
|
|
11493
|
+
startedAt: string | null;
|
|
11494
|
+
finishedAt: string | null;
|
|
11495
|
+
}>;
|
|
11496
|
+
/** `POST /v1/storefront/site/verify` — 작업 트리 규칙 검증(`verify_storefront`와 같은 보고서) */
|
|
11497
|
+
verify: () => Promise<{
|
|
11498
|
+
ok: boolean;
|
|
11499
|
+
checkedFiles: number;
|
|
11500
|
+
summary: {
|
|
11501
|
+
rules: number;
|
|
11502
|
+
passed: number;
|
|
11503
|
+
violated: number;
|
|
11504
|
+
findings: number;
|
|
11505
|
+
};
|
|
11506
|
+
results: {
|
|
11507
|
+
ruleId: string;
|
|
11508
|
+
status: "pass" | "violation";
|
|
11509
|
+
count: number;
|
|
11510
|
+
severity?: "error" | "warning" | undefined;
|
|
11511
|
+
}[];
|
|
11512
|
+
findings: {
|
|
11513
|
+
ruleId: string;
|
|
11514
|
+
rule: string;
|
|
11515
|
+
file: string;
|
|
11516
|
+
detail: string;
|
|
11517
|
+
cause: string;
|
|
11518
|
+
fix: string;
|
|
11519
|
+
example: string;
|
|
11520
|
+
doc: string;
|
|
11521
|
+
docUrl: string;
|
|
11522
|
+
line?: number | undefined;
|
|
11523
|
+
templateFile?: string | undefined;
|
|
11524
|
+
severity?: "error" | "warning" | undefined;
|
|
11525
|
+
}[];
|
|
11526
|
+
message: string;
|
|
11527
|
+
nextSteps: string[];
|
|
11528
|
+
}>;
|
|
11529
|
+
/**
|
|
11530
|
+
* `POST /v1/storefront/site/versions` (201) — 지금 작업 트리로 버전을 만든다(빌드 시작). 버전은 `BUILDING`, 빌드가
|
|
11531
|
+
* 끝나면 `READY` 또는 `FAILED`다
|
|
11532
|
+
*/
|
|
11533
|
+
createVersion: (body?: CreateStorefrontVersionRequest) => Promise<{
|
|
11534
|
+
version: {
|
|
11535
|
+
versionId: string;
|
|
11536
|
+
number: number;
|
|
11537
|
+
templateId: string;
|
|
11538
|
+
templateVersion: string;
|
|
11539
|
+
status: "FAILED" | "BUILDING" | "READY";
|
|
11540
|
+
published: boolean;
|
|
11541
|
+
publishedAt: string | null;
|
|
11542
|
+
message: string | null;
|
|
11543
|
+
source: "TEMPLATE" | "EDIT";
|
|
11544
|
+
buildId: string | null;
|
|
11545
|
+
createdByType: string;
|
|
11546
|
+
createdAt: string;
|
|
11547
|
+
};
|
|
11548
|
+
build: {
|
|
11549
|
+
buildId: string;
|
|
11550
|
+
versionId: string;
|
|
11551
|
+
versionNumber: number;
|
|
11552
|
+
status: "FAILED" | "SUCCEEDED" | "RUNNING" | "QUEUED" | "TIMED_OUT";
|
|
11553
|
+
failureStage: string | null;
|
|
11554
|
+
errorCode: string | null;
|
|
11555
|
+
logTail: string | null;
|
|
11556
|
+
stages: {
|
|
11557
|
+
stage: string;
|
|
11558
|
+
ok: boolean;
|
|
11559
|
+
durationMs: number;
|
|
11560
|
+
}[];
|
|
11561
|
+
verify: {
|
|
11562
|
+
ok: boolean;
|
|
11563
|
+
checkedFiles: number;
|
|
11564
|
+
summary: {
|
|
11565
|
+
rules: number;
|
|
11566
|
+
passed: number;
|
|
11567
|
+
violated: number;
|
|
11568
|
+
findings: number;
|
|
11569
|
+
};
|
|
11570
|
+
results: {
|
|
11571
|
+
ruleId: string;
|
|
11572
|
+
status: "pass" | "violation";
|
|
11573
|
+
count: number;
|
|
11574
|
+
severity?: "error" | "warning" | undefined;
|
|
11575
|
+
}[];
|
|
11576
|
+
findings: {
|
|
11577
|
+
ruleId: string;
|
|
11578
|
+
rule: string;
|
|
11579
|
+
file: string;
|
|
11580
|
+
detail: string;
|
|
11581
|
+
cause: string;
|
|
11582
|
+
fix: string;
|
|
11583
|
+
example: string;
|
|
11584
|
+
doc: string;
|
|
11585
|
+
docUrl: string;
|
|
11586
|
+
line?: number | undefined;
|
|
11587
|
+
templateFile?: string | undefined;
|
|
11588
|
+
severity?: "error" | "warning" | undefined;
|
|
11589
|
+
}[];
|
|
11590
|
+
message: string;
|
|
11591
|
+
nextSteps: string[];
|
|
11592
|
+
} | null;
|
|
11593
|
+
queuedAt: string;
|
|
11594
|
+
startedAt: string | null;
|
|
11595
|
+
finishedAt: string | null;
|
|
11596
|
+
durationMs: number | null;
|
|
11597
|
+
};
|
|
11598
|
+
}>;
|
|
11599
|
+
/** `GET /v1/storefront/site/builds?limit=` — 빌드 목록(최신 먼저) */
|
|
11600
|
+
listBuilds: (params?: {
|
|
11601
|
+
limit?: number;
|
|
11602
|
+
}) => Promise<{
|
|
11603
|
+
buildId: string;
|
|
11604
|
+
versionId: string;
|
|
11605
|
+
versionNumber: number;
|
|
11606
|
+
status: "FAILED" | "SUCCEEDED" | "RUNNING" | "QUEUED" | "TIMED_OUT";
|
|
11607
|
+
failureStage: string | null;
|
|
11608
|
+
errorCode: string | null;
|
|
11609
|
+
logTail: string | null;
|
|
11610
|
+
stages: {
|
|
11611
|
+
stage: string;
|
|
11612
|
+
ok: boolean;
|
|
11613
|
+
durationMs: number;
|
|
11614
|
+
}[];
|
|
11615
|
+
verify: {
|
|
11616
|
+
ok: boolean;
|
|
11617
|
+
checkedFiles: number;
|
|
11618
|
+
summary: {
|
|
11619
|
+
rules: number;
|
|
11620
|
+
passed: number;
|
|
11621
|
+
violated: number;
|
|
11622
|
+
findings: number;
|
|
11623
|
+
};
|
|
11624
|
+
results: {
|
|
11625
|
+
ruleId: string;
|
|
11626
|
+
status: "pass" | "violation";
|
|
11627
|
+
count: number;
|
|
11628
|
+
severity?: "error" | "warning" | undefined;
|
|
11629
|
+
}[];
|
|
11630
|
+
findings: {
|
|
11631
|
+
ruleId: string;
|
|
11632
|
+
rule: string;
|
|
11633
|
+
file: string;
|
|
11634
|
+
detail: string;
|
|
11635
|
+
cause: string;
|
|
11636
|
+
fix: string;
|
|
11637
|
+
example: string;
|
|
11638
|
+
doc: string;
|
|
11639
|
+
docUrl: string;
|
|
11640
|
+
line?: number | undefined;
|
|
11641
|
+
templateFile?: string | undefined;
|
|
11642
|
+
severity?: "error" | "warning" | undefined;
|
|
11643
|
+
}[];
|
|
11644
|
+
message: string;
|
|
11645
|
+
nextSteps: string[];
|
|
11646
|
+
} | null;
|
|
11647
|
+
queuedAt: string;
|
|
11648
|
+
startedAt: string | null;
|
|
11649
|
+
finishedAt: string | null;
|
|
11650
|
+
durationMs: number | null;
|
|
11651
|
+
}[]>;
|
|
11652
|
+
/** `GET /v1/storefront/site/builds/{buildId}` — 빌드 상태·실패 단계·로그 꼬리·규칙 결과 */
|
|
11653
|
+
getBuild: (buildId: string) => Promise<{
|
|
11654
|
+
buildId: string;
|
|
11655
|
+
versionId: string;
|
|
11656
|
+
versionNumber: number;
|
|
11657
|
+
status: "FAILED" | "SUCCEEDED" | "RUNNING" | "QUEUED" | "TIMED_OUT";
|
|
11658
|
+
failureStage: string | null;
|
|
11659
|
+
errorCode: string | null;
|
|
11660
|
+
logTail: string | null;
|
|
11661
|
+
stages: {
|
|
11662
|
+
stage: string;
|
|
11663
|
+
ok: boolean;
|
|
11664
|
+
durationMs: number;
|
|
11665
|
+
}[];
|
|
11666
|
+
verify: {
|
|
11667
|
+
ok: boolean;
|
|
11668
|
+
checkedFiles: number;
|
|
11669
|
+
summary: {
|
|
11670
|
+
rules: number;
|
|
11671
|
+
passed: number;
|
|
11672
|
+
violated: number;
|
|
11673
|
+
findings: number;
|
|
11674
|
+
};
|
|
11675
|
+
results: {
|
|
11676
|
+
ruleId: string;
|
|
11677
|
+
status: "pass" | "violation";
|
|
11678
|
+
count: number;
|
|
11679
|
+
severity?: "error" | "warning" | undefined;
|
|
11680
|
+
}[];
|
|
11681
|
+
findings: {
|
|
11682
|
+
ruleId: string;
|
|
11683
|
+
rule: string;
|
|
11684
|
+
file: string;
|
|
11685
|
+
detail: string;
|
|
11686
|
+
cause: string;
|
|
11687
|
+
fix: string;
|
|
11688
|
+
example: string;
|
|
11689
|
+
doc: string;
|
|
11690
|
+
docUrl: string;
|
|
11691
|
+
line?: number | undefined;
|
|
11692
|
+
templateFile?: string | undefined;
|
|
11693
|
+
severity?: "error" | "warning" | undefined;
|
|
11694
|
+
}[];
|
|
11695
|
+
message: string;
|
|
11696
|
+
nextSteps: string[];
|
|
11697
|
+
} | null;
|
|
11698
|
+
queuedAt: string;
|
|
11699
|
+
startedAt: string | null;
|
|
11700
|
+
finishedAt: string | null;
|
|
11701
|
+
durationMs: number | null;
|
|
10909
11702
|
}>;
|
|
10910
11703
|
};
|
|
10911
11704
|
store: {
|
|
@@ -10921,8 +11714,6 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10921
11714
|
analyticsAllowedOrigins: string[];
|
|
10922
11715
|
storefrontOrigins: string[];
|
|
10923
11716
|
guestCheckoutEnabled: boolean;
|
|
10924
|
-
fulfillmentMailEnabled: boolean;
|
|
10925
|
-
withdrawalNotice: string | null;
|
|
10926
11717
|
autoDeliverDays: number;
|
|
10927
11718
|
autoConfirmDays: number;
|
|
10928
11719
|
refundPolicy: {
|
|
@@ -10964,8 +11755,6 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
10964
11755
|
analyticsAllowedOrigins: string[];
|
|
10965
11756
|
storefrontOrigins: string[];
|
|
10966
11757
|
guestCheckoutEnabled: boolean;
|
|
10967
|
-
fulfillmentMailEnabled: boolean;
|
|
10968
|
-
withdrawalNotice: string | null;
|
|
10969
11758
|
autoDeliverDays: number;
|
|
10970
11759
|
autoConfirmDays: number;
|
|
10971
11760
|
refundPolicy: {
|
|
@@ -11012,7 +11801,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
11012
11801
|
invitationId: string;
|
|
11013
11802
|
email: string;
|
|
11014
11803
|
role: "ADMIN" | "STAFF";
|
|
11015
|
-
status: "
|
|
11804
|
+
status: "PENDING" | "EXPIRED" | "ACCEPTED" | "CANCELED";
|
|
11016
11805
|
invitedBy: string;
|
|
11017
11806
|
expiresAt: string;
|
|
11018
11807
|
createdAt: string;
|
|
@@ -11030,7 +11819,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
11030
11819
|
invitationId: string;
|
|
11031
11820
|
email: string;
|
|
11032
11821
|
role: "ADMIN" | "STAFF";
|
|
11033
|
-
status: "
|
|
11822
|
+
status: "PENDING" | "EXPIRED" | "ACCEPTED" | "CANCELED";
|
|
11034
11823
|
invitedBy: string;
|
|
11035
11824
|
expiresAt: string;
|
|
11036
11825
|
createdAt: string;
|
|
@@ -11045,7 +11834,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
|
|
|
11045
11834
|
invitationId: string;
|
|
11046
11835
|
email: string;
|
|
11047
11836
|
role: "ADMIN" | "STAFF";
|
|
11048
|
-
status: "
|
|
11837
|
+
status: "PENDING" | "EXPIRED" | "ACCEPTED" | "CANCELED";
|
|
11049
11838
|
invitedBy: string;
|
|
11050
11839
|
expiresAt: string;
|
|
11051
11840
|
createdAt: string;
|
|
@@ -11206,6 +11995,7 @@ export declare const couponRejectReasonSchema: z.ZodEnum<{
|
|
|
11206
11995
|
NO_ELIGIBLE_ITEMS: "NO_ELIGIBLE_ITEMS";
|
|
11207
11996
|
MIN_ORDER_AMOUNT: "MIN_ORDER_AMOUNT";
|
|
11208
11997
|
LINE_NOT_ELIGIBLE: "LINE_NOT_ELIGIBLE";
|
|
11998
|
+
LINE_AMBIGUOUS: "LINE_AMBIGUOUS";
|
|
11209
11999
|
NO_DISCOUNT: "NO_DISCOUNT";
|
|
11210
12000
|
}>;
|
|
11211
12001
|
export type CouponRejectReason = z.infer<typeof couponRejectReasonSchema>;
|
|
@@ -11868,41 +12658,31 @@ export declare const orderWebhookEventDataSchema: z.ZodObject<{
|
|
|
11868
12658
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
11869
12659
|
}, z.core.$strip>;
|
|
11870
12660
|
}, z.core.$strip>, z.ZodObject<{
|
|
11871
|
-
type: z.ZodLiteral<"
|
|
11872
|
-
download: z.ZodObject<{
|
|
11873
|
-
limit: z.ZodNumber;
|
|
11874
|
-
days: z.ZodNumber;
|
|
11875
|
-
stockTracked: z.ZodBoolean;
|
|
11876
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
11877
|
-
}, z.core.$strip>;
|
|
11878
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
11879
|
-
type: z.ZodLiteral<"CODE">;
|
|
11880
|
-
code: z.ZodObject<{
|
|
11881
|
-
mode: z.ZodString;
|
|
11882
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
11883
|
-
}, z.core.$strip>;
|
|
11884
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
11885
|
-
type: z.ZodLiteral<"SERVICE">;
|
|
11886
|
-
service: z.ZodObject<{
|
|
11887
|
-
mode: z.ZodString;
|
|
11888
|
-
}, z.core.$strip>;
|
|
11889
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
11890
|
-
type: z.ZodLiteral<"PICKUP">;
|
|
11891
|
-
pickup: z.ZodObject<{
|
|
11892
|
-
addressId: z.ZodNullable<z.ZodString>;
|
|
11893
|
-
}, z.core.$strip>;
|
|
12661
|
+
type: z.ZodLiteral<"MANUAL">;
|
|
11894
12662
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
11895
12663
|
type: z.ZodString;
|
|
11896
12664
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
11897
12665
|
[x: string]: unknown;
|
|
11898
12666
|
type: string;
|
|
11899
12667
|
}>>]>>;
|
|
12668
|
+
itemOptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
12669
|
+
orderItemId: z.ZodString;
|
|
12670
|
+
optionSelections: z.ZodArray<z.ZodObject<{
|
|
12671
|
+
kind: z.ZodString;
|
|
12672
|
+
groupName: z.ZodString;
|
|
12673
|
+
valueName: z.ZodString;
|
|
12674
|
+
additionalPrice: z.ZodNumber;
|
|
12675
|
+
}, z.core.$strip>>;
|
|
12676
|
+
customInputs: z.ZodArray<z.ZodObject<{
|
|
12677
|
+
label: z.ZodString;
|
|
12678
|
+
value: z.ZodString;
|
|
12679
|
+
}, z.core.$strip>>;
|
|
12680
|
+
}, z.core.$strip>>>;
|
|
11900
12681
|
}, z.core.$strip>;
|
|
11901
12682
|
export type OrderWebhookEventData = z.infer<typeof orderWebhookEventDataSchema>;
|
|
11902
12683
|
/**
|
|
11903
|
-
* `ORDER.FULFILLED` —
|
|
11904
|
-
*
|
|
11905
|
-
* `ORDER.DELIVERED`도 함께 보낸다. **코드·파일 주소는 싣지 않는다** — 관리 API로 조회한다.
|
|
12684
|
+
* `ORDER.FULFILLED` — 배송 없는 주문상품(`MANUAL`)을 제공했다(이슈 #48). 셀러의 제공 처리
|
|
12685
|
+
* (`POST /v1/order-items/{orderItemId}/fulfill`)로 온다. 기존 구독자를 위해 같은 순간 `ORDER.DELIVERED`도 함께 보낸다.
|
|
11906
12686
|
*/
|
|
11907
12687
|
export declare const orderFulfilledWebhookEventDataSchema: z.ZodObject<{
|
|
11908
12688
|
orderId: z.ZodString;
|
|
@@ -11924,38 +12704,16 @@ export declare const orderFulfilledWebhookEventDataSchema: z.ZodObject<{
|
|
|
11924
12704
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
11925
12705
|
}, z.core.$strip>;
|
|
11926
12706
|
}, z.core.$strip>, z.ZodObject<{
|
|
11927
|
-
type: z.ZodLiteral<"
|
|
11928
|
-
download: z.ZodObject<{
|
|
11929
|
-
limit: z.ZodNumber;
|
|
11930
|
-
days: z.ZodNumber;
|
|
11931
|
-
stockTracked: z.ZodBoolean;
|
|
11932
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
11933
|
-
}, z.core.$strip>;
|
|
11934
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
11935
|
-
type: z.ZodLiteral<"CODE">;
|
|
11936
|
-
code: z.ZodObject<{
|
|
11937
|
-
mode: z.ZodString;
|
|
11938
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
11939
|
-
}, z.core.$strip>;
|
|
11940
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
11941
|
-
type: z.ZodLiteral<"SERVICE">;
|
|
11942
|
-
service: z.ZodObject<{
|
|
11943
|
-
mode: z.ZodString;
|
|
11944
|
-
}, z.core.$strip>;
|
|
11945
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
11946
|
-
type: z.ZodLiteral<"PICKUP">;
|
|
11947
|
-
pickup: z.ZodObject<{
|
|
11948
|
-
addressId: z.ZodNullable<z.ZodString>;
|
|
11949
|
-
}, z.core.$strip>;
|
|
12707
|
+
type: z.ZodLiteral<"MANUAL">;
|
|
11950
12708
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
11951
12709
|
type: z.ZodString;
|
|
11952
12710
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
11953
12711
|
[x: string]: unknown;
|
|
11954
12712
|
type: string;
|
|
11955
12713
|
}>>]>;
|
|
11956
|
-
fulfillment: z.ZodObject<{
|
|
12714
|
+
fulfillment: z.ZodOptional<z.ZodObject<{
|
|
11957
12715
|
mode: z.ZodString;
|
|
11958
|
-
}, z.core.$strip
|
|
12716
|
+
}, z.core.$strip>>;
|
|
11959
12717
|
fulfilledAt: z.ZodString;
|
|
11960
12718
|
testPayment: z.ZodBoolean;
|
|
11961
12719
|
}, z.core.$strip>;
|
|
@@ -12076,35 +12834,26 @@ export declare const orderWebhookEventSchema: z.ZodObject<{
|
|
|
12076
12834
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
12077
12835
|
}, z.core.$strip>;
|
|
12078
12836
|
}, z.core.$strip>, z.ZodObject<{
|
|
12079
|
-
type: z.ZodLiteral<"
|
|
12080
|
-
download: z.ZodObject<{
|
|
12081
|
-
limit: z.ZodNumber;
|
|
12082
|
-
days: z.ZodNumber;
|
|
12083
|
-
stockTracked: z.ZodBoolean;
|
|
12084
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
12085
|
-
}, z.core.$strip>;
|
|
12086
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
12087
|
-
type: z.ZodLiteral<"CODE">;
|
|
12088
|
-
code: z.ZodObject<{
|
|
12089
|
-
mode: z.ZodString;
|
|
12090
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
12091
|
-
}, z.core.$strip>;
|
|
12092
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
12093
|
-
type: z.ZodLiteral<"SERVICE">;
|
|
12094
|
-
service: z.ZodObject<{
|
|
12095
|
-
mode: z.ZodString;
|
|
12096
|
-
}, z.core.$strip>;
|
|
12097
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
12098
|
-
type: z.ZodLiteral<"PICKUP">;
|
|
12099
|
-
pickup: z.ZodObject<{
|
|
12100
|
-
addressId: z.ZodNullable<z.ZodString>;
|
|
12101
|
-
}, z.core.$strip>;
|
|
12837
|
+
type: z.ZodLiteral<"MANUAL">;
|
|
12102
12838
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
12103
12839
|
type: z.ZodString;
|
|
12104
12840
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
12105
12841
|
[x: string]: unknown;
|
|
12106
12842
|
type: string;
|
|
12107
12843
|
}>>]>>;
|
|
12844
|
+
itemOptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
12845
|
+
orderItemId: z.ZodString;
|
|
12846
|
+
optionSelections: z.ZodArray<z.ZodObject<{
|
|
12847
|
+
kind: z.ZodString;
|
|
12848
|
+
groupName: z.ZodString;
|
|
12849
|
+
valueName: z.ZodString;
|
|
12850
|
+
additionalPrice: z.ZodNumber;
|
|
12851
|
+
}, z.core.$strip>>;
|
|
12852
|
+
customInputs: z.ZodArray<z.ZodObject<{
|
|
12853
|
+
label: z.ZodString;
|
|
12854
|
+
value: z.ZodString;
|
|
12855
|
+
}, z.core.$strip>>;
|
|
12856
|
+
}, z.core.$strip>>>;
|
|
12108
12857
|
}, z.core.$strip>;
|
|
12109
12858
|
id: z.ZodString;
|
|
12110
12859
|
createdAt: z.ZodString;
|
|
@@ -12133,38 +12882,16 @@ export declare const orderFulfilledWebhookEventSchema: z.ZodObject<{
|
|
|
12133
12882
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
12134
12883
|
}, z.core.$strip>;
|
|
12135
12884
|
}, z.core.$strip>, z.ZodObject<{
|
|
12136
|
-
type: z.ZodLiteral<"
|
|
12137
|
-
download: z.ZodObject<{
|
|
12138
|
-
limit: z.ZodNumber;
|
|
12139
|
-
days: z.ZodNumber;
|
|
12140
|
-
stockTracked: z.ZodBoolean;
|
|
12141
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
12142
|
-
}, z.core.$strip>;
|
|
12143
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
12144
|
-
type: z.ZodLiteral<"CODE">;
|
|
12145
|
-
code: z.ZodObject<{
|
|
12146
|
-
mode: z.ZodString;
|
|
12147
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
12148
|
-
}, z.core.$strip>;
|
|
12149
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
12150
|
-
type: z.ZodLiteral<"SERVICE">;
|
|
12151
|
-
service: z.ZodObject<{
|
|
12152
|
-
mode: z.ZodString;
|
|
12153
|
-
}, z.core.$strip>;
|
|
12154
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
12155
|
-
type: z.ZodLiteral<"PICKUP">;
|
|
12156
|
-
pickup: z.ZodObject<{
|
|
12157
|
-
addressId: z.ZodNullable<z.ZodString>;
|
|
12158
|
-
}, z.core.$strip>;
|
|
12885
|
+
type: z.ZodLiteral<"MANUAL">;
|
|
12159
12886
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
12160
12887
|
type: z.ZodString;
|
|
12161
12888
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
12162
12889
|
[x: string]: unknown;
|
|
12163
12890
|
type: string;
|
|
12164
12891
|
}>>]>;
|
|
12165
|
-
fulfillment: z.ZodObject<{
|
|
12892
|
+
fulfillment: z.ZodOptional<z.ZodObject<{
|
|
12166
12893
|
mode: z.ZodString;
|
|
12167
|
-
}, z.core.$strip
|
|
12894
|
+
}, z.core.$strip>>;
|
|
12168
12895
|
fulfilledAt: z.ZodString;
|
|
12169
12896
|
testPayment: z.ZodBoolean;
|
|
12170
12897
|
}, z.core.$strip>;
|
|
@@ -12320,35 +13047,26 @@ export declare const webhookEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
12320
13047
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
12321
13048
|
}, z.core.$strip>;
|
|
12322
13049
|
}, z.core.$strip>, z.ZodObject<{
|
|
12323
|
-
type: z.ZodLiteral<"
|
|
12324
|
-
download: z.ZodObject<{
|
|
12325
|
-
limit: z.ZodNumber;
|
|
12326
|
-
days: z.ZodNumber;
|
|
12327
|
-
stockTracked: z.ZodBoolean;
|
|
12328
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
12329
|
-
}, z.core.$strip>;
|
|
12330
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
12331
|
-
type: z.ZodLiteral<"CODE">;
|
|
12332
|
-
code: z.ZodObject<{
|
|
12333
|
-
mode: z.ZodString;
|
|
12334
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
12335
|
-
}, z.core.$strip>;
|
|
12336
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
12337
|
-
type: z.ZodLiteral<"SERVICE">;
|
|
12338
|
-
service: z.ZodObject<{
|
|
12339
|
-
mode: z.ZodString;
|
|
12340
|
-
}, z.core.$strip>;
|
|
12341
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
12342
|
-
type: z.ZodLiteral<"PICKUP">;
|
|
12343
|
-
pickup: z.ZodObject<{
|
|
12344
|
-
addressId: z.ZodNullable<z.ZodString>;
|
|
12345
|
-
}, z.core.$strip>;
|
|
13050
|
+
type: z.ZodLiteral<"MANUAL">;
|
|
12346
13051
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
12347
13052
|
type: z.ZodString;
|
|
12348
13053
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
12349
13054
|
[x: string]: unknown;
|
|
12350
13055
|
type: string;
|
|
12351
13056
|
}>>]>>;
|
|
13057
|
+
itemOptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
13058
|
+
orderItemId: z.ZodString;
|
|
13059
|
+
optionSelections: z.ZodArray<z.ZodObject<{
|
|
13060
|
+
kind: z.ZodString;
|
|
13061
|
+
groupName: z.ZodString;
|
|
13062
|
+
valueName: z.ZodString;
|
|
13063
|
+
additionalPrice: z.ZodNumber;
|
|
13064
|
+
}, z.core.$strip>>;
|
|
13065
|
+
customInputs: z.ZodArray<z.ZodObject<{
|
|
13066
|
+
label: z.ZodString;
|
|
13067
|
+
value: z.ZodString;
|
|
13068
|
+
}, z.core.$strip>>;
|
|
13069
|
+
}, z.core.$strip>>>;
|
|
12352
13070
|
}, z.core.$strip>;
|
|
12353
13071
|
id: z.ZodString;
|
|
12354
13072
|
createdAt: z.ZodString;
|
|
@@ -12376,38 +13094,16 @@ export declare const webhookEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
12376
13094
|
returnAddressId: z.ZodNullable<z.ZodString>;
|
|
12377
13095
|
}, z.core.$strip>;
|
|
12378
13096
|
}, z.core.$strip>, z.ZodObject<{
|
|
12379
|
-
type: z.ZodLiteral<"
|
|
12380
|
-
download: z.ZodObject<{
|
|
12381
|
-
limit: z.ZodNumber;
|
|
12382
|
-
days: z.ZodNumber;
|
|
12383
|
-
stockTracked: z.ZodBoolean;
|
|
12384
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
12385
|
-
}, z.core.$strip>;
|
|
12386
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
12387
|
-
type: z.ZodLiteral<"CODE">;
|
|
12388
|
-
code: z.ZodObject<{
|
|
12389
|
-
mode: z.ZodString;
|
|
12390
|
-
withdrawalRestricted: z.ZodBoolean;
|
|
12391
|
-
}, z.core.$strip>;
|
|
12392
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
12393
|
-
type: z.ZodLiteral<"SERVICE">;
|
|
12394
|
-
service: z.ZodObject<{
|
|
12395
|
-
mode: z.ZodString;
|
|
12396
|
-
}, z.core.$strip>;
|
|
12397
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
12398
|
-
type: z.ZodLiteral<"PICKUP">;
|
|
12399
|
-
pickup: z.ZodObject<{
|
|
12400
|
-
addressId: z.ZodNullable<z.ZodString>;
|
|
12401
|
-
}, z.core.$strip>;
|
|
13097
|
+
type: z.ZodLiteral<"MANUAL">;
|
|
12402
13098
|
}, z.core.$strip>], "type">, z.ZodPipe<z.ZodObject<{
|
|
12403
13099
|
type: z.ZodString;
|
|
12404
13100
|
}, z.core.$loose>, z.ZodTransform<UnknownFulfillment, {
|
|
12405
13101
|
[x: string]: unknown;
|
|
12406
13102
|
type: string;
|
|
12407
13103
|
}>>]>;
|
|
12408
|
-
fulfillment: z.ZodObject<{
|
|
13104
|
+
fulfillment: z.ZodOptional<z.ZodObject<{
|
|
12409
13105
|
mode: z.ZodString;
|
|
12410
|
-
}, z.core.$strip
|
|
13106
|
+
}, z.core.$strip>>;
|
|
12411
13107
|
fulfilledAt: z.ZodString;
|
|
12412
13108
|
testPayment: z.ZodBoolean;
|
|
12413
13109
|
}, z.core.$strip>;
|