@sayren/storefront-sdk 0.18.2 → 0.18.4
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/auth/index.mjs +1 -1
- package/dist/{checkout-PJk8g5DY.mjs → checkout-CCsO8PY2.mjs} +2 -1
- package/dist/{client-BNChG_51.mjs → client-5Nd-KG-G.mjs} +64 -2
- package/dist/{index-D2WiGpwr.d.mts → index-AQs_Qyhm.d.mts} +110 -8
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +3 -3
- package/dist/payments/index.d.mts +6 -1
- package/dist/payments/index.mjs +3 -2
- package/package.json +1 -1
- package/src/client.ts +20 -8
- package/src/payments/index.ts +6 -0
- package/src/schemas/checkout.ts +7 -0
- package/src/schemas/review.ts +111 -1
package/dist/auth/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { t as createStorefrontClient, yt as ApiError } from "../client-5Nd-KG-G.mjs";
|
|
2
2
|
//#region src/auth/index.ts
|
|
3
3
|
/** 소셜 로그인 실패 — 구매자가 취소했거나(`access_denied`) state가 맞지 않는다 */
|
|
4
4
|
var IdpCallbackError = class extends Error {
|
|
@@ -536,7 +536,8 @@ const paymentStatusSchema = z.object({
|
|
|
536
536
|
attemptId: z.string(),
|
|
537
537
|
category: z.string().describe("`PREPARE_FAILURE`·`DECLINED`·`USER_CANCELED`(값이 추가될 수 있다)"),
|
|
538
538
|
code: z.string().nullable().describe("PG가 준 실패 코드. 내부 사유는 null입니다. 화면 분기는 `category`로 하십시오"),
|
|
539
|
-
message: z.string().nullable().describe("구매자에게 보여 줄 안내 문구")
|
|
539
|
+
message: z.string().nullable().describe("구매자에게 보여 줄 안내 문구"),
|
|
540
|
+
optionUnavailable: z.boolean().optional().describe("true면 상점의 PG 설정 문제처럼 구매자가 고칠 수 없는 실패입니다(이슈 #86). 같은 결제 옵션으로 다시 시도해도 실패하므로 그 옵션을 고르지 못하게 하고 다른 결제수단을 고르게 하십시오. 이때 `message`는 그 안내입니다. 서버는 항상 싣습니다")
|
|
540
541
|
}).nullable().describe("현재 결제 시도가 실패·취소로 끝났으면 그 내용, 아니면 null"),
|
|
541
542
|
testPayment: z.boolean().describe("테스트 결제(샌드박스)인가. true면 실제로 돈이 나가지 않았습니다"),
|
|
542
543
|
expiresAt: z.string().describe("결제 요청 만료 시각")
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as ANALYTICS_VISITOR_HEADER, r as ANALYTICS_SESSION_HEADER } from "./analytics-CgD70OqH.mjs";
|
|
2
|
-
import { $ as lineFulfillmentSchema, A as startPaymentRequestSchema, C as paymentStartSchema, F as checkoutPricingSchema, J as customInputViewSchema, N as applicableCouponSchema, O as retryPaymentRequestSchema, P as checkoutPricingRequestSchema, U as addonGroupViewSchema, V as myCouponSchema, X as lineSelectionResponseShape, Y as lineSelectionRequestShape, d as createCheckoutRequestSchema, et as myOrderItemFulfillmentSnapshotSchema, f as deliveryQuoteRequestSchema, m as easyPayProviderResponseSchema, nt as productFulfillmentViewSchema, p as deliveryQuoteSchema, tt as productCardFulfillmentSchema, u as checkoutSessionSchema, w as paymentStatusSchema, y as paymentMethodSchema } from "./checkout-
|
|
2
|
+
import { $ as lineFulfillmentSchema, A as startPaymentRequestSchema, C as paymentStartSchema, F as checkoutPricingSchema, J as customInputViewSchema, N as applicableCouponSchema, O as retryPaymentRequestSchema, P as checkoutPricingRequestSchema, U as addonGroupViewSchema, V as myCouponSchema, X as lineSelectionResponseShape, Y as lineSelectionRequestShape, d as createCheckoutRequestSchema, et as myOrderItemFulfillmentSnapshotSchema, f as deliveryQuoteRequestSchema, m as easyPayProviderResponseSchema, nt as productFulfillmentViewSchema, p as deliveryQuoteSchema, tt as productCardFulfillmentSchema, u as checkoutSessionSchema, w as paymentStatusSchema, y as paymentMethodSchema } from "./checkout-CCsO8PY2.mjs";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
//#region src/http.ts
|
|
5
5
|
/** 표준 엔벨로프의 $.error 상세 */
|
|
@@ -714,6 +714,7 @@ const publicReviewSchema = z.object({
|
|
|
714
714
|
content: z.string(),
|
|
715
715
|
images: z.array(z.url()),
|
|
716
716
|
optionName: z.string().nullable(),
|
|
717
|
+
variantId: z.string().nullable().optional().describe("리뷰를 쓴 주문상품의 옵션(조합) id(이슈 #91). 상품 상세 `variants[].variantId`와 같은 값이고 리뷰 목록의 `variantId` 필터 키다. 옵션 없는 상품도 기본 조합 id가 있다. 주문상품을 찾지 못한 리뷰는 null이다. 서버는 항상 싣는다"),
|
|
717
718
|
writerMaskedName: z.string(),
|
|
718
719
|
sellerReply: z.object({
|
|
719
720
|
content: z.string(),
|
|
@@ -726,6 +727,28 @@ const reviewSummarySchema = z.object({
|
|
|
726
727
|
totalCount: z.number().int(),
|
|
727
728
|
distribution: z.record(z.string(), z.number().int())
|
|
728
729
|
});
|
|
730
|
+
/**
|
|
731
|
+
* 내가 쓴 리뷰 (이슈 #95) — `GET /me/reviews`. 수정·삭제(`PUT`·`DELETE /me/reviews/{reviewId}`)에 쓰는 `reviewId`와 상품 링크를 싣는다.
|
|
732
|
+
* 상품 정보는 주문 시점 값이고, 주문상품을 찾지 못하면 지금 상품의 값이다. 둘 다 없으면 null이다.
|
|
733
|
+
*/
|
|
734
|
+
const myReviewSchema = z.object({
|
|
735
|
+
reviewId: z.string(),
|
|
736
|
+
productId: z.string(),
|
|
737
|
+
productName: z.string().nullable().describe("주문 시점 상품명. 찾지 못하면 null"),
|
|
738
|
+
thumbnailUrl: z.url().nullable().describe("주문 시점 대표 이미지. 없으면 null"),
|
|
739
|
+
optionName: z.string().nullable(),
|
|
740
|
+
rating: z.number().int().min(1).max(5),
|
|
741
|
+
content: z.string(),
|
|
742
|
+
images: z.array(z.url()),
|
|
743
|
+
sellerReply: z.object({
|
|
744
|
+
content: z.string(),
|
|
745
|
+
repliedAt: z.string()
|
|
746
|
+
}).nullable(),
|
|
747
|
+
blinded: z.boolean().describe("판매자가 가린 리뷰. true면 상품 리뷰 목록에 보이지 않는다(작성자에게만 보인다)"),
|
|
748
|
+
editable: z.boolean().describe("지금 수정할 수 있는가. 작성 후 30일까지다. 지나면 `PUT /me/reviews/{reviewId}`가 409 `PERIOD_EXPIRED`다"),
|
|
749
|
+
editableUntil: z.string().describe("수정 기한(ISO 8601)"),
|
|
750
|
+
createdAt: z.string()
|
|
751
|
+
});
|
|
729
752
|
const writableReviewSchema = z.object({
|
|
730
753
|
orderItemId: z.string(),
|
|
731
754
|
productId: z.string(),
|
|
@@ -748,6 +771,37 @@ const updateReviewRequestSchema = z.object({
|
|
|
748
771
|
content: z.string().min(10).max(2e3).optional(),
|
|
749
772
|
images: z.array(z.url()).max(5).optional()
|
|
750
773
|
}).refine((value) => Object.values(value).some((v) => v !== void 0), { message: "최소 1개 필드가 필요합니다" });
|
|
774
|
+
/** 리뷰 정렬 — `helpful`(랭킹순)은 사진 있는 리뷰 → 평점 높은 순 → 최신 순이다(도움돼요 수 데이터는 없다, #97) */
|
|
775
|
+
const productReviewSortSchema = z.enum([
|
|
776
|
+
"latest",
|
|
777
|
+
"ratingDesc",
|
|
778
|
+
"ratingAsc",
|
|
779
|
+
"helpful"
|
|
780
|
+
]);
|
|
781
|
+
/** `GET /products/{productId}/reviews` 쿼리 — 문서용이다. 쿼리 문자열이라 값은 문자열로 받는다 */
|
|
782
|
+
const productReviewQuerySchema = z.object({
|
|
783
|
+
rating: z.string().optional().describe("이 평점(1~5)의 리뷰만"),
|
|
784
|
+
hasImage: z.string().optional().describe("`true`면 사진이 있는 리뷰만"),
|
|
785
|
+
variantId: z.string().optional().describe("이 옵션(조합)으로 산 리뷰만(이슈 #91). 상품 상세 `variants[].variantId`이고 리뷰 응답의 `variantId`와 같은 값이다. 다른 필터와 함께 쓰면 모두 만족하는 리뷰만 온다"),
|
|
786
|
+
sort: z.string().optional().describe("정렬. `latest`(기본, 최신 순)·`ratingDesc`(평점 높은 순)·`ratingAsc`(평점 낮은 순)·`helpful`(랭킹순 — 사진 있는 리뷰 먼저, 그다음 평점 높은 순, 같으면 최신 순. 도움돼요 수는 반영하지 않는다)"),
|
|
787
|
+
page: z.string().optional().describe("페이지 번호 (1부터)"),
|
|
788
|
+
size: z.string().optional().describe("페이지 크기")
|
|
789
|
+
});
|
|
790
|
+
/**
|
|
791
|
+
* 리뷰 사진 업로드 자리 발급 (이슈 #96) — `POST /me/uploads`(구매자 로그인). 파일 바이트는 api를 거치지 않는다.
|
|
792
|
+
* 응답 `uploadUrl`에 파일을 그대로 PUT하면 `url`이 공개 주소가 되고, 그 주소를 리뷰 작성·수정의 `images`에 넣는다.
|
|
793
|
+
* 형식·크기 제한은 관리 API 상품 이미지(`product-image`)와 같은 정지 이미지 규칙이다(값은 API 문서). 서버가 객체 키를 정하므로 파일명은 확장자만 쓰인다.
|
|
794
|
+
*/
|
|
795
|
+
const reviewImageUploadRequestSchema = z.object({
|
|
796
|
+
filename: z.string().min(1).max(255).describe("파일명. 확장자로 형식을 판정하고 이름은 저장하지 않는다"),
|
|
797
|
+
purpose: z.enum(["review-image"]).default("review-image").describe("업로드 용도. 지금은 `review-image`(리뷰 사진)뿐이다"),
|
|
798
|
+
size: z.number().int().positive().optional().describe("파일 바이트 크기. 주면 크기 상한을 발급 전에 검사한다")
|
|
799
|
+
});
|
|
800
|
+
/** 업로드 자리 — `uploadUrl`은 1시간 유효하다 */
|
|
801
|
+
const uploadTicketSchema = z.object({
|
|
802
|
+
url: z.url().describe("업로드가 끝나면 공개될 주소. 리뷰의 `images`에 넣는다"),
|
|
803
|
+
uploadUrl: z.url().describe("파일 바이트를 그대로 PUT할 주소. 1시간 유효")
|
|
804
|
+
});
|
|
751
805
|
/** `GET /products/{productId}/reviews` 응답 — 리뷰 페이지와 평점 분포 */
|
|
752
806
|
const reviewPageSchema = pageSchema(publicReviewSchema).extend({ summary: reviewSummarySchema.optional() });
|
|
753
807
|
/** `PUT /me/reviews/{reviewId}` 응답 */
|
|
@@ -880,6 +934,7 @@ get: () => http.request("GET", "/store", storefrontStoreSchema) },
|
|
|
880
934
|
listCategories: () => http.request("GET", "/categories", z.array(categoryNodeSchema)),
|
|
881
935
|
searchProducts: (params) => http.request("GET", "/products", productPageSchema, { query: params }),
|
|
882
936
|
getProduct: (productId) => http.request("GET", path`/products/${productId}`, productDetailSchema),
|
|
937
|
+
/** 상품 리뷰 목록 — `variantId`로 옵션(조합)별 리뷰만 받는다(상품 상세 `variants[].variantId`) */
|
|
883
938
|
listProductReviews: (productId, params) => http.request("GET", path`/products/${productId}/reviews`, reviewPageSchema, { query: params }),
|
|
884
939
|
listProductInquiries: (productId, params) => http.request("GET", path`/products/${productId}/inquiries`, pageSchema(publicInquirySchema), { query: params }),
|
|
885
940
|
createInquiry: (productId, body) => http.requestVoid("POST", path`/products/${productId}/inquiries`, { body })
|
|
@@ -977,7 +1032,14 @@ get: () => http.request("GET", "/store", storefrontStoreSchema) },
|
|
|
977
1032
|
removeWishlist: (productId) => http.requestVoid("DELETE", path`/me/wishlist/${productId}`)
|
|
978
1033
|
},
|
|
979
1034
|
reviews: {
|
|
1035
|
+
/** 내가 쓴 리뷰 — 최신순. 수정·삭제는 항목의 `reviewId`로 한다(이슈 #95) */
|
|
1036
|
+
listMine: (params) => http.request("GET", "/me/reviews", pageSchema(myReviewSchema), { query: params }),
|
|
980
1037
|
listWritable: () => http.request("GET", "/me/reviews/writable", z.array(writableReviewSchema)),
|
|
1038
|
+
/**
|
|
1039
|
+
* 리뷰 사진 업로드 자리(이슈 #96) — 응답 `uploadUrl`에 파일을 PUT한 뒤 `url`을 `create`·`update`의 `images`에 넣는다.
|
|
1040
|
+
* 형식·크기가 맞지 않으면 400 `UNSUPPORTED_FILE_TYPE`·413 `FILE_TOO_LARGE`, 연타하면 429 `TOO_MANY_REQUESTS`다
|
|
1041
|
+
*/
|
|
1042
|
+
createImageUpload: (body) => http.request("POST", "/me/uploads", uploadTicketSchema, { body: reviewImageUploadRequestSchema.parse(body) }),
|
|
981
1043
|
create: (orderItemId, body) => http.request("POST", path`/me/order-items/${orderItemId}/review`, createReviewResultSchema, { body: createReviewRequestSchema.parse(body) }),
|
|
982
1044
|
update: (reviewId, body) => http.requestVoid("PUT", path`/me/reviews/${reviewId}`, { body: updateReviewRequestSchema.parse(body) }),
|
|
983
1045
|
remove: (reviewId) => http.requestVoid("DELETE", path`/me/reviews/${reviewId}`)
|
|
@@ -995,4 +1057,4 @@ get: () => http.request("GET", "/store", storefrontStoreSchema) },
|
|
|
995
1057
|
};
|
|
996
1058
|
}
|
|
997
1059
|
//#endregion
|
|
998
|
-
export {
|
|
1060
|
+
export { orderItemStatusSchema as $, publicInquirySchema as A, claimReasonSchema as B, memberAddressSchema as C, createInquiryRequestSchema as D, wishlistAddResultSchema as E, consentKindSchema as F, myClaimSchema as G, claimTypeSchema as H, consentSourceSchema as I, productDetailSchema as J, categoryNodeSchema as K, consentStateSchema as L, customerInquiryCategorySchema as M, customerInquirySchema as N, createInquiryResultSchema as O, consentActionSchema as P, claimStatusSchema as Q, consentUpdateRequestSchema as R, memberAddressRequestSchema as S, unwrapData as St, updateProfileRequestSchema as T, createClaimRequestSchema as U, claimReturnAddressSchema as V, createClaimResultSchema as W, productPageSchema as X, productFacetsSchema as Y, productSortSchema as Z, myOrderItemSchema as _, withdrawRequestSchema as _t, myReviewSchema as a, updateCartItemRequestSchema as at, purchaseDecisionResultSchema as b, buildQuery as bt, publicReviewSchema as c, idpAuthorizeRequestSchema as ct, reviewSummarySchema as d, linkIdentityRequestSchema as dt, pageInfoSchema as et, updateReviewRequestSchema as f, loginRequestSchema as ft, deliveryTrackingSchema as g, tokenPairSchema as gt, writableReviewSchema as h, socialProviderSchema as ht, createReviewResultSchema as i, cartSchema as it, createCustomerInquiryRequestSchema as j, productInquiryCategorySchema as k, reviewImageUploadRequestSchema as l, idpAuthorizeResponseSchema as lt, uploadTicketSchema as m, signupRequestSchema as mt, storefrontStoreSchema as n, addCartItemRequestSchema as nt, productReviewQuerySchema as o, anonymousSessionSchema as ot, updateReviewResultSchema as p, memberIdentitiesSchema as pt, productCardSchema as q, createReviewRequestSchema as r, cartItemSchema as rt, productReviewSortSchema as s, idpAgreementsSchema as st, createStorefrontClient as t, pageSchema as tt, reviewPageSchema as u, idpTokenRequestSchema as ut, myOrderSchema as v, withdrawalBlockedDetailsSchema as vt, memberSchema as w, trackingStageResponseSchema as x, toApiError as xt, orderShippingAddressSchema as y, ApiError as yt, memberConsentsSchema as z };
|
|
@@ -328,12 +328,12 @@ declare const productDetailSchema: z.ZodObject<{
|
|
|
328
328
|
}, z.core.$strip>;
|
|
329
329
|
type ProductDetail = z.infer<typeof productDetailSchema>;
|
|
330
330
|
declare const productSortSchema: z.ZodEnum<{
|
|
331
|
-
latest: "latest";
|
|
332
|
-
ratingDesc: "ratingDesc";
|
|
333
331
|
reviewCount: "reviewCount";
|
|
334
332
|
recommend: "recommend";
|
|
333
|
+
latest: "latest";
|
|
335
334
|
priceAsc: "priceAsc";
|
|
336
335
|
priceDesc: "priceDesc";
|
|
336
|
+
ratingDesc: "ratingDesc";
|
|
337
337
|
}>;
|
|
338
338
|
type ProductSort = z.infer<typeof productSortSchema>;
|
|
339
339
|
interface ProductSearchParams extends PageParams {
|
|
@@ -1023,6 +1023,7 @@ declare const paymentStatusSchema: z.ZodObject<{
|
|
|
1023
1023
|
category: z.ZodString;
|
|
1024
1024
|
code: z.ZodNullable<z.ZodString>;
|
|
1025
1025
|
message: z.ZodNullable<z.ZodString>;
|
|
1026
|
+
optionUnavailable: z.ZodOptional<z.ZodBoolean>;
|
|
1026
1027
|
}, z.core.$strip>>;
|
|
1027
1028
|
testPayment: z.ZodBoolean;
|
|
1028
1029
|
expiresAt: z.ZodString;
|
|
@@ -1546,6 +1547,7 @@ declare const publicReviewSchema: z.ZodObject<{
|
|
|
1546
1547
|
content: z.ZodString;
|
|
1547
1548
|
images: z.ZodArray<z.ZodURL>;
|
|
1548
1549
|
optionName: z.ZodNullable<z.ZodString>;
|
|
1550
|
+
variantId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1549
1551
|
writerMaskedName: z.ZodString;
|
|
1550
1552
|
sellerReply: z.ZodNullable<z.ZodObject<{
|
|
1551
1553
|
content: z.ZodString;
|
|
@@ -1560,6 +1562,29 @@ declare const reviewSummarySchema: z.ZodObject<{
|
|
|
1560
1562
|
distribution: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
1561
1563
|
}, z.core.$strip>;
|
|
1562
1564
|
type ReviewSummary = z.infer<typeof reviewSummarySchema>;
|
|
1565
|
+
/**
|
|
1566
|
+
* 내가 쓴 리뷰 (이슈 #95) — `GET /me/reviews`. 수정·삭제(`PUT`·`DELETE /me/reviews/{reviewId}`)에 쓰는 `reviewId`와 상품 링크를 싣는다.
|
|
1567
|
+
* 상품 정보는 주문 시점 값이고, 주문상품을 찾지 못하면 지금 상품의 값이다. 둘 다 없으면 null이다.
|
|
1568
|
+
*/
|
|
1569
|
+
declare const myReviewSchema: z.ZodObject<{
|
|
1570
|
+
reviewId: z.ZodString;
|
|
1571
|
+
productId: z.ZodString;
|
|
1572
|
+
productName: z.ZodNullable<z.ZodString>;
|
|
1573
|
+
thumbnailUrl: z.ZodNullable<z.ZodURL>;
|
|
1574
|
+
optionName: z.ZodNullable<z.ZodString>;
|
|
1575
|
+
rating: z.ZodNumber;
|
|
1576
|
+
content: z.ZodString;
|
|
1577
|
+
images: z.ZodArray<z.ZodURL>;
|
|
1578
|
+
sellerReply: z.ZodNullable<z.ZodObject<{
|
|
1579
|
+
content: z.ZodString;
|
|
1580
|
+
repliedAt: z.ZodString;
|
|
1581
|
+
}, z.core.$strip>>;
|
|
1582
|
+
blinded: z.ZodBoolean;
|
|
1583
|
+
editable: z.ZodBoolean;
|
|
1584
|
+
editableUntil: z.ZodString;
|
|
1585
|
+
createdAt: z.ZodString;
|
|
1586
|
+
}, z.core.$strip>;
|
|
1587
|
+
type MyReview = z.infer<typeof myReviewSchema>;
|
|
1563
1588
|
declare const writableReviewSchema: z.ZodObject<{
|
|
1564
1589
|
orderItemId: z.ZodString;
|
|
1565
1590
|
productId: z.ZodString;
|
|
@@ -1586,6 +1611,50 @@ declare const updateReviewRequestSchema: z.ZodObject<{
|
|
|
1586
1611
|
images: z.ZodOptional<z.ZodArray<z.ZodURL>>;
|
|
1587
1612
|
}, z.core.$strip>;
|
|
1588
1613
|
type UpdateReviewRequest = z.infer<typeof updateReviewRequestSchema>;
|
|
1614
|
+
/** 리뷰 정렬 — `helpful`(랭킹순)은 사진 있는 리뷰 → 평점 높은 순 → 최신 순이다(도움돼요 수 데이터는 없다, #97) */
|
|
1615
|
+
declare const productReviewSortSchema: z.ZodEnum<{
|
|
1616
|
+
latest: "latest";
|
|
1617
|
+
ratingDesc: "ratingDesc";
|
|
1618
|
+
ratingAsc: "ratingAsc";
|
|
1619
|
+
helpful: "helpful";
|
|
1620
|
+
}>;
|
|
1621
|
+
type ProductReviewSort = z.infer<typeof productReviewSortSchema>;
|
|
1622
|
+
/** `GET /products/{productId}/reviews` 쿼리 — 문서용이다. 쿼리 문자열이라 값은 문자열로 받는다 */
|
|
1623
|
+
declare const productReviewQuerySchema: z.ZodObject<{
|
|
1624
|
+
rating: z.ZodOptional<z.ZodString>;
|
|
1625
|
+
hasImage: z.ZodOptional<z.ZodString>;
|
|
1626
|
+
variantId: z.ZodOptional<z.ZodString>;
|
|
1627
|
+
sort: z.ZodOptional<z.ZodString>;
|
|
1628
|
+
page: z.ZodOptional<z.ZodString>;
|
|
1629
|
+
size: z.ZodOptional<z.ZodString>;
|
|
1630
|
+
}, z.core.$strip>;
|
|
1631
|
+
/** 리뷰 목록 조회 파라미터 — `catalog.listProductReviews` */
|
|
1632
|
+
interface ProductReviewParams extends PageParams {
|
|
1633
|
+
rating?: number;
|
|
1634
|
+
hasImage?: boolean;
|
|
1635
|
+
/** 이 옵션(조합)으로 산 리뷰만 — 상품 상세 `variants[].variantId` */
|
|
1636
|
+
variantId?: string;
|
|
1637
|
+
sort?: ProductReviewSort;
|
|
1638
|
+
}
|
|
1639
|
+
/**
|
|
1640
|
+
* 리뷰 사진 업로드 자리 발급 (이슈 #96) — `POST /me/uploads`(구매자 로그인). 파일 바이트는 api를 거치지 않는다.
|
|
1641
|
+
* 응답 `uploadUrl`에 파일을 그대로 PUT하면 `url`이 공개 주소가 되고, 그 주소를 리뷰 작성·수정의 `images`에 넣는다.
|
|
1642
|
+
* 형식·크기 제한은 관리 API 상품 이미지(`product-image`)와 같은 정지 이미지 규칙이다(값은 API 문서). 서버가 객체 키를 정하므로 파일명은 확장자만 쓰인다.
|
|
1643
|
+
*/
|
|
1644
|
+
declare const reviewImageUploadRequestSchema: z.ZodObject<{
|
|
1645
|
+
filename: z.ZodString;
|
|
1646
|
+
purpose: z.ZodDefault<z.ZodEnum<{
|
|
1647
|
+
"review-image": "review-image";
|
|
1648
|
+
}>>;
|
|
1649
|
+
size: z.ZodOptional<z.ZodNumber>;
|
|
1650
|
+
}, z.core.$strip>;
|
|
1651
|
+
type ReviewImageUploadRequest = z.input<typeof reviewImageUploadRequestSchema>;
|
|
1652
|
+
/** 업로드 자리 — `uploadUrl`은 1시간 유효하다 */
|
|
1653
|
+
declare const uploadTicketSchema: z.ZodObject<{
|
|
1654
|
+
url: z.ZodURL;
|
|
1655
|
+
uploadUrl: z.ZodURL;
|
|
1656
|
+
}, z.core.$strip>;
|
|
1657
|
+
type UploadTicket = z.infer<typeof uploadTicketSchema>;
|
|
1589
1658
|
/** `GET /products/{productId}/reviews` 응답 — 리뷰 페이지와 평점 분포 */
|
|
1590
1659
|
declare const reviewPageSchema: z.ZodObject<{
|
|
1591
1660
|
page: z.ZodNumber;
|
|
@@ -1598,6 +1667,7 @@ declare const reviewPageSchema: z.ZodObject<{
|
|
|
1598
1667
|
content: z.ZodString;
|
|
1599
1668
|
images: z.ZodArray<z.ZodURL>;
|
|
1600
1669
|
optionName: z.ZodNullable<z.ZodString>;
|
|
1670
|
+
variantId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1601
1671
|
writerMaskedName: z.ZodString;
|
|
1602
1672
|
sellerReply: z.ZodNullable<z.ZodObject<{
|
|
1603
1673
|
content: z.ZodString;
|
|
@@ -1921,11 +1991,8 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
|
|
|
1921
1991
|
name: string;
|
|
1922
1992
|
}[];
|
|
1923
1993
|
}>;
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
hasImage?: boolean;
|
|
1927
|
-
sort?: "latest" | "ratingDesc" | "ratingAsc" | "helpful";
|
|
1928
|
-
}) => Promise<{
|
|
1994
|
+
/** 상품 리뷰 목록 — `variantId`로 옵션(조합)별 리뷰만 받는다(상품 상세 `variants[].variantId`) */
|
|
1995
|
+
listProductReviews: (productId: string, params?: ProductReviewParams) => Promise<{
|
|
1929
1996
|
page: number;
|
|
1930
1997
|
size: number;
|
|
1931
1998
|
totalElements: number;
|
|
@@ -1942,6 +2009,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
|
|
|
1942
2009
|
repliedAt: string;
|
|
1943
2010
|
} | null;
|
|
1944
2011
|
createdAt: string;
|
|
2012
|
+
variantId?: string | null | undefined;
|
|
1945
2013
|
}[];
|
|
1946
2014
|
summary?: {
|
|
1947
2015
|
averageRating: number;
|
|
@@ -2310,6 +2378,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
|
|
|
2310
2378
|
category: string;
|
|
2311
2379
|
code: string | null;
|
|
2312
2380
|
message: string | null;
|
|
2381
|
+
optionUnavailable?: boolean | undefined;
|
|
2313
2382
|
} | null;
|
|
2314
2383
|
testPayment: boolean;
|
|
2315
2384
|
expiresAt: string;
|
|
@@ -2758,6 +2827,31 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
|
|
|
2758
2827
|
removeWishlist: (productId: string) => Promise<void>;
|
|
2759
2828
|
};
|
|
2760
2829
|
reviews: {
|
|
2830
|
+
/** 내가 쓴 리뷰 — 최신순. 수정·삭제는 항목의 `reviewId`로 한다(이슈 #95) */
|
|
2831
|
+
listMine: (params?: PageParams) => Promise<{
|
|
2832
|
+
page: number;
|
|
2833
|
+
size: number;
|
|
2834
|
+
totalElements: number;
|
|
2835
|
+
totalPages: number;
|
|
2836
|
+
contents: {
|
|
2837
|
+
reviewId: string;
|
|
2838
|
+
productId: string;
|
|
2839
|
+
productName: string | null;
|
|
2840
|
+
thumbnailUrl: string | null;
|
|
2841
|
+
optionName: string | null;
|
|
2842
|
+
rating: number;
|
|
2843
|
+
content: string;
|
|
2844
|
+
images: string[];
|
|
2845
|
+
sellerReply: {
|
|
2846
|
+
content: string;
|
|
2847
|
+
repliedAt: string;
|
|
2848
|
+
} | null;
|
|
2849
|
+
blinded: boolean;
|
|
2850
|
+
editable: boolean;
|
|
2851
|
+
editableUntil: string;
|
|
2852
|
+
createdAt: string;
|
|
2853
|
+
}[];
|
|
2854
|
+
}>;
|
|
2761
2855
|
listWritable: () => Promise<{
|
|
2762
2856
|
orderItemId: string;
|
|
2763
2857
|
productId: string;
|
|
@@ -2766,6 +2860,14 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
|
|
|
2766
2860
|
thumbnailUrl: string | null;
|
|
2767
2861
|
writableUntil: string;
|
|
2768
2862
|
}[]>;
|
|
2863
|
+
/**
|
|
2864
|
+
* 리뷰 사진 업로드 자리(이슈 #96) — 응답 `uploadUrl`에 파일을 PUT한 뒤 `url`을 `create`·`update`의 `images`에 넣는다.
|
|
2865
|
+
* 형식·크기가 맞지 않으면 400 `UNSUPPORTED_FILE_TYPE`·413 `FILE_TOO_LARGE`, 연타하면 429 `TOO_MANY_REQUESTS`다
|
|
2866
|
+
*/
|
|
2867
|
+
createImageUpload: (body: ReviewImageUploadRequest) => Promise<{
|
|
2868
|
+
url: string;
|
|
2869
|
+
uploadUrl: string;
|
|
2870
|
+
}>;
|
|
2769
2871
|
create: (orderItemId: string, body: CreateReviewRequest) => Promise<{
|
|
2770
2872
|
reviewId: string;
|
|
2771
2873
|
rewardPoint: number;
|
|
@@ -3309,4 +3411,4 @@ declare const storefrontStoreSchema: z.ZodObject<{
|
|
|
3309
3411
|
}, z.core.$strip>;
|
|
3310
3412
|
type StorefrontStore = z.infer<typeof storefrontStoreSchema>;
|
|
3311
3413
|
//#endregion
|
|
3312
|
-
export { CreateReviewRequest as $,
|
|
3414
|
+
export { CreateReviewRequest as $, PaymentFailureCategory as $n, PageParams as $r, CouponResult as $t, ANALYTICS_MAX_BATCH_BYTES as A, MyClaim as An, paymentStatusSchema as Ar, memberAddressRequestSchema as At, analyticsBatchSchema as B, CashReceiptRequest as Bn, ProductFacets as Br, createInquiryResultSchema as Bt, PurchaseDecisionResult as C, consentUpdateRequestSchema as Cn, paymentFailureCategorySchema as Cr, uploadTicketSchema as Ct, orderShippingAddressSchema as D, ClaimType as Dn, paymentOptionListSchema as Dr, MemberAddressRequest as Dt, myOrderSchema as E, ClaimReturnAddress as En, paymentOptionKey as Er, MemberAddress as Et, AnalyticsBatch as F, createClaimResultSchema as Fn, shippingAddressInputSchema as Fr, CreateInquiryRequest as Ft, StorefrontClient as G, DeliveryQuoteRequest as Gn, productCardSchema as Gr, CustomerInquiryCategory as Gt, analyticsClientEventSchema as H, CheckoutDelivery as Hn, ProductSearchParams as Hr, publicInquirySchema as Ht, AnalyticsClientEvent as I, myClaimSchema as In, startPaymentRequestSchema as Ir, CreateInquiryResult as It, STOREFRONT_SESSION_KEYS as J, GuestInfo as Jn, productPageSchema as Jr, customerInquirySchema as Jt, StorefrontClientOptions as K, DeliveryQuoteResult as Kn, productDetailSchema as Kr, createCustomerInquiryRequestSchema as Kt, AnalyticsClientEventName as L, AvailablePaymentOption as Ln, CategoryNode as Lr, ProductInquiryCategory as Lt, ANALYTICS_SESSION_HEADER as M, claimReturnAddressSchema as Mn, remoteAreaSchema as Mr, memberSchema as Mt, ANALYTICS_VISITOR_COOKIE as N, claimTypeSchema as Nn, residentNumberLike as Nr, updateProfileRequestSchema as Nt, purchaseDecisionResultSchema as O, CreateClaimRequest as On, paymentOptionSchema as Or, UpdateProfileRequest as Ot, ANALYTICS_VISITOR_HEADER as P, createClaimRequestSchema as Pn, retryPaymentRequestSchema as Pr, wishlistAddResultSchema as Pt, createStorefrontSession as Q, PAYMENT_STATUS_VALUES as Qn, PageInfo as Qr, CouponApplication as Qt, AnalyticsEventName as R, CASH_RECEIPT_METHODS as Rn, ProductCard as Rr, PublicInquiry as Rt, OrderShippingAddress as S, consentStateSchema as Sn, guestInfoSchema as Sr, updateReviewResultSchema as St, myOrderItemSchema as T, ClaimReason as Tn, paymentMethodSchema as Tr, Member as Tt, analyticsIdSchema as U, CheckoutSession as Un, ProductSort as Ur, CreateCustomerInquiryRequest as Ut, analyticsClientEventNameSchema as V, CashReceiptType as Vn, ProductPage as Vr, productInquiryCategorySchema as Vt, analyticsServerEventNameSchema as W, CreateCheckoutRequest as Wn, categoryNodeSchema as Wr, CustomerInquiry as Wt, StorefrontSession as X, KnownPaymentStatus as Xn, ClaimStatus as Xr, CheckoutPricing as Xt, SessionStorage as Y, KnownPaymentResult as Yn, productSortSchema as Yr, ApplicableCoupon as Yt, StorefrontSessionOptions as Z, PAYMENT_RESULT_VALUES as Zn, OrderItemStatus as Zr, CheckoutPricingRequest as Zt, normalizeCustomInputValue as _, addCartItemRequestSchema as _i, ConsentUpdateRequest as _n, createCheckoutRequestSchema as _r, publicReviewSchema as _t, CustomInputEntry as a, MyOrderItemFulfillmentSnapshot as ai, checkoutPricingSchema as an, PgProvider as ar, ReviewImageUploadRequest as at, MyOrder as b, updateCartItemRequestSchema as bi, consentKindSchema as bn, easyPayProviderResponseSchema as br, reviewSummarySchema as bt, OptionSelectionView as c, UnknownFulfillmentView as ci, couponBenefitViewSchema as cn, ShippingAddressInput as cr, UpdateReviewRequest as ct, customInputEntrySchema as d, productCardFulfillmentSchema as di, myCouponSchema as dn, cashReceiptAvailable as dr, WritableReview as dt, claimStatusSchema as ei, MAX_COUPONS_PER_CHECKOUT as en, PaymentMessage as er, CreateReviewResult as et, customInputLength as f, productFulfillmentViewSchema as fi, pricingAmountsSchema as fn, cashReceiptIdentityTypeOf as fr, createReviewRequestSchema as ft, lineSelectionResponseShape as g, UpdateCartItemRequest as gi, ConsentState as gn, checkoutSessionSchema as gr, productReviewSortSchema as gt, lineSelectionRequestShape as h, CartItem as hi, ConsentSource as hn, checkoutDeliverySchema as hr, productReviewQuerySchema as ht, AddonSelection as i, LineFulfillment as ii, checkoutPricingRequestSchema as in, PaymentStatus as ir, PublicReview as it, ANALYTICS_SESSION_COOKIE as j, claimReasonSchema as jn, pgProviderSchema as jr, memberAddressSchema as jt, trackingStageResponseSchema as k, CreateClaimResult as kn, paymentStartSchema as kr, WishlistAddResult as kt, addonGroupViewSchema as l, lineFulfillmentSchema as li, couponResultSchema as ln, StartPaymentRequest as lr, UpdateReviewResult as lt, customInputViewSchema as m, Cart as mi, ConsentKind as mn, cashReceiptTypeSchema as mr, myReviewSchema as mt, storefrontStoreSchema as n, pageInfoSchema as ni, MyCoupon as nn, PaymentOption as nr, ProductReviewParams as nt, CustomInputValueView as o, ProductCardFulfillment as oi, couponApplicationListSchema as on, RemoteArea as or, ReviewPage as ot, customInputValueViewSchema as p, AddCartItemRequest as pi, ConsentAction as pn, cashReceiptRequestSchema as pr, createReviewResultSchema as pt, createStorefrontClient as q, EasyPayProvider as qn, productFacetsSchema as qr, customerInquiryCategorySchema as qt, AddonGroupView as r, pageSchema as ri, applicableCouponSchema as rn, PaymentStart as rr, ProductReviewSort as rt, CustomInputView as s, ProductFulfillmentView as si, couponApplicationSchema as sn, RetryPaymentRequest as sr, ReviewSummary as st, StorefrontStore as t, orderItemStatusSchema as ti, MIN_PAYMENT_AMOUNT as tn, PaymentMethod as tr, MyReview as tt, addonSelectionSchema as u, myOrderItemFulfillmentSnapshotSchema as ui, myCouponListQuerySchema as un, availablePaymentOptionSchema as ur, UploadTicket as ut, optionSelectionViewSchema as v, cartItemSchema as vi, MemberConsents as vn, deliveryQuoteRequestSchema as vr, reviewImageUploadRequestSchema as vt, deliveryTrackingSchema as w, memberConsentsSchema as wn, paymentMessageSchema as wr, writableReviewSchema as wt, MyOrderItem as x, analyticsIdsFromCookie as xi, consentSourceSchema as xn, easyPayProviderSchema as xr, updateReviewRequestSchema as xt, DeliveryTracking as y, cartSchema as yi, consentActionSchema as yn, deliveryQuoteSchema as yr, reviewPageSchema as yt, AnalyticsServerEventName as z, CashReceiptIdentityType as zn, ProductDetail as zr, createInquiryRequestSchema as zt };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { C as loginRequestSchema, D as tokenPairSchema, E as socialProviderSchema, O as withdrawRequestSchema, S as linkIdentityRequestSchema, T as signupRequestSchema, _ as anonymousSessionSchema, a as AnonymousSession, b as idpAuthorizeResponseSchema, c as IdpTokenRequest, d as MemberIdentities, f as SignupRequest, g as WithdrawalBlockedDetails, h as WithdrawRequest, i as buildQuery, k as withdrawalBlockedDetailsSchema, l as LinkIdentityRequest, m as TokenPair, n as Query, o as IdpAgreements, p as SocialProvider, r as TokenSource, s as IdpAuthorizeRequest, t as ApiError, u as LoginRequest, v as idpAgreementsSchema, w as memberIdentitiesSchema, x as idpTokenRequestSchema, y as idpAuthorizeRequestSchema } from "./http-1ab7tP4-.mjs";
|
|
2
|
-
import { $ as CreateReviewRequest, $n as
|
|
3
|
-
export { ANALYTICS_MAX_BATCH_BYTES, ANALYTICS_SESSION_COOKIE, ANALYTICS_SESSION_HEADER, ANALYTICS_VISITOR_COOKIE, ANALYTICS_VISITOR_HEADER, AddCartItemRequest, AddonGroupView, AddonSelection, AnalyticsBatch, AnalyticsClientEvent, AnalyticsClientEventName, AnalyticsEventName, AnalyticsServerEventName, AnonymousSession, ApiError, ApplicableCoupon, AvailablePaymentOption, CASH_RECEIPT_METHODS, Cart, CartItem, CashReceiptIdentityType, CashReceiptRequest, CashReceiptType, CategoryNode, CheckoutDelivery, CheckoutPricing, CheckoutPricingRequest, CheckoutSession, ClaimReason, ClaimReturnAddress, ClaimStatus, ClaimType, ConsentAction, ConsentKind, ConsentSource, ConsentState, ConsentUpdateRequest, CouponApplication, CouponResult, CreateCheckoutRequest, CreateClaimRequest, CreateClaimResult, CreateCustomerInquiryRequest, CreateInquiryRequest, CreateInquiryResult, CreateReviewRequest, CreateReviewResult, CustomInputEntry, CustomInputValueView, CustomInputView, CustomerInquiry, CustomerInquiryCategory, DeliveryQuoteRequest, DeliveryQuoteResult, DeliveryTracking, EasyPayProvider, GuestInfo, IdpAgreements, IdpAuthorizeRequest, IdpTokenRequest, KnownPaymentResult, KnownPaymentStatus, LineFulfillment, LinkIdentityRequest, LoginRequest, MAX_COUPONS_PER_CHECKOUT, MIN_PAYMENT_AMOUNT, Member, MemberAddress, MemberAddressRequest, MemberConsents, MemberIdentities, MyClaim, MyCoupon, MyOrder, MyOrderItem, MyOrderItemFulfillmentSnapshot, OptionSelectionView, OrderItemStatus, OrderShippingAddress, PAYMENT_RESULT_VALUES, PAYMENT_STATUS_VALUES, PageInfo, PageParams, PaymentFailureCategory, PaymentMessage, PaymentMethod, PaymentOption, PaymentStart, PaymentStatus, PgProvider, ProductCard, ProductCardFulfillment, ProductDetail, ProductFacets, ProductFulfillmentView, ProductInquiryCategory, ProductPage, ProductSearchParams, ProductSort, PublicInquiry, PublicReview, PurchaseDecisionResult, type Query, RemoteArea, RetryPaymentRequest, ReviewPage, ReviewSummary, STOREFRONT_SESSION_KEYS, type SessionStorage, ShippingAddressInput, SignupRequest, SocialProvider, StartPaymentRequest, type StorefrontClient, type StorefrontClientOptions, type StorefrontSession, type StorefrontSessionOptions, StorefrontStore, TokenPair, type TokenSource, UnknownFulfillmentView, UpdateCartItemRequest, UpdateProfileRequest, UpdateReviewRequest, UpdateReviewResult, WishlistAddResult, WithdrawRequest, WithdrawalBlockedDetails, WritableReview, addCartItemRequestSchema, addonGroupViewSchema, addonSelectionSchema, analyticsBatchSchema, analyticsClientEventNameSchema, analyticsClientEventSchema, analyticsIdSchema, analyticsIdsFromCookie, analyticsServerEventNameSchema, anonymousSessionSchema, applicableCouponSchema, availablePaymentOptionSchema, buildQuery, cartItemSchema, cartSchema, cashReceiptAvailable, cashReceiptIdentityTypeOf, cashReceiptRequestSchema, cashReceiptTypeSchema, categoryNodeSchema, checkoutDeliverySchema, checkoutPricingRequestSchema, checkoutPricingSchema, checkoutSessionSchema, claimReasonSchema, claimReturnAddressSchema, claimStatusSchema, claimTypeSchema, consentActionSchema, consentKindSchema, consentSourceSchema, consentStateSchema, consentUpdateRequestSchema, couponApplicationListSchema, couponApplicationSchema, couponBenefitViewSchema, couponResultSchema, createCheckoutRequestSchema, createClaimRequestSchema, createClaimResultSchema, createCustomerInquiryRequestSchema, createInquiryRequestSchema, createInquiryResultSchema, createReviewRequestSchema, createReviewResultSchema, createStorefrontClient, createStorefrontSession, customInputEntrySchema, customInputLength, customInputValueViewSchema, customInputViewSchema, customerInquiryCategorySchema, customerInquirySchema, deliveryQuoteRequestSchema, deliveryQuoteSchema, deliveryTrackingSchema, easyPayProviderResponseSchema, easyPayProviderSchema, guestInfoSchema, idpAgreementsSchema, idpAuthorizeRequestSchema, idpAuthorizeResponseSchema, idpTokenRequestSchema, lineFulfillmentSchema, lineSelectionRequestShape, lineSelectionResponseShape, linkIdentityRequestSchema, loginRequestSchema, memberAddressRequestSchema, memberAddressSchema, memberConsentsSchema, memberIdentitiesSchema, memberSchema, myClaimSchema, myCouponListQuerySchema, myCouponSchema, myOrderItemFulfillmentSnapshotSchema, myOrderItemSchema, myOrderSchema, normalizeCustomInputValue, optionSelectionViewSchema, orderItemStatusSchema, orderShippingAddressSchema, pageInfoSchema, pageSchema, paymentFailureCategorySchema, paymentMessageSchema, paymentMethodSchema, paymentOptionKey, paymentOptionListSchema, paymentOptionSchema, paymentStartSchema, paymentStatusSchema, pgProviderSchema, pricingAmountsSchema, productCardFulfillmentSchema, productCardSchema, productDetailSchema, productFacetsSchema, productFulfillmentViewSchema, productInquiryCategorySchema, productPageSchema, productSortSchema, publicInquirySchema, publicReviewSchema, purchaseDecisionResultSchema, remoteAreaSchema, residentNumberLike, retryPaymentRequestSchema, reviewPageSchema, reviewSummarySchema, shippingAddressInputSchema, signupRequestSchema, socialProviderSchema, startPaymentRequestSchema, storefrontStoreSchema, tokenPairSchema, trackingStageResponseSchema, updateCartItemRequestSchema, updateProfileRequestSchema, updateReviewRequestSchema, updateReviewResultSchema, wishlistAddResultSchema, withdrawRequestSchema, withdrawalBlockedDetailsSchema, writableReviewSchema };
|
|
2
|
+
import { $ as CreateReviewRequest, $n as PaymentFailureCategory, $r as PageParams, $t as CouponResult, A as ANALYTICS_MAX_BATCH_BYTES, An as MyClaim, Ar as paymentStatusSchema, At as memberAddressRequestSchema, B as analyticsBatchSchema, Bn as CashReceiptRequest, Br as ProductFacets, Bt as createInquiryResultSchema, C as PurchaseDecisionResult, Cn as consentUpdateRequestSchema, Cr as paymentFailureCategorySchema, Ct as uploadTicketSchema, D as orderShippingAddressSchema, Dn as ClaimType, Dr as paymentOptionListSchema, Dt as MemberAddressRequest, E as myOrderSchema, En as ClaimReturnAddress, Er as paymentOptionKey, Et as MemberAddress, F as AnalyticsBatch, Fn as createClaimResultSchema, Fr as shippingAddressInputSchema, Ft as CreateInquiryRequest, G as StorefrontClient, Gn as DeliveryQuoteRequest, Gr as productCardSchema, Gt as CustomerInquiryCategory, H as analyticsClientEventSchema, Hn as CheckoutDelivery, Hr as ProductSearchParams, Ht as publicInquirySchema, I as AnalyticsClientEvent, In as myClaimSchema, Ir as startPaymentRequestSchema, It as CreateInquiryResult, J as STOREFRONT_SESSION_KEYS, Jn as GuestInfo, Jr as productPageSchema, Jt as customerInquirySchema, K as StorefrontClientOptions, Kn as DeliveryQuoteResult, Kr as productDetailSchema, Kt as createCustomerInquiryRequestSchema, L as AnalyticsClientEventName, Ln as AvailablePaymentOption, Lr as CategoryNode, Lt as ProductInquiryCategory, M as ANALYTICS_SESSION_HEADER, Mn as claimReturnAddressSchema, Mr as remoteAreaSchema, Mt as memberSchema, N as ANALYTICS_VISITOR_COOKIE, Nn as claimTypeSchema, Nr as residentNumberLike, Nt as updateProfileRequestSchema, O as purchaseDecisionResultSchema, On as CreateClaimRequest, Or as paymentOptionSchema, Ot as UpdateProfileRequest, P as ANALYTICS_VISITOR_HEADER, Pn as createClaimRequestSchema, Pr as retryPaymentRequestSchema, Pt as wishlistAddResultSchema, Q as createStorefrontSession, Qn as PAYMENT_STATUS_VALUES, Qr as PageInfo, Qt as CouponApplication, R as AnalyticsEventName, Rn as CASH_RECEIPT_METHODS, Rr as ProductCard, Rt as PublicInquiry, S as OrderShippingAddress, Sn as consentStateSchema, Sr as guestInfoSchema, St as updateReviewResultSchema, T as myOrderItemSchema, Tn as ClaimReason, Tr as paymentMethodSchema, Tt as Member, U as analyticsIdSchema, Un as CheckoutSession, Ur as ProductSort, Ut as CreateCustomerInquiryRequest, V as analyticsClientEventNameSchema, Vn as CashReceiptType, Vr as ProductPage, Vt as productInquiryCategorySchema, W as analyticsServerEventNameSchema, Wn as CreateCheckoutRequest, Wr as categoryNodeSchema, Wt as CustomerInquiry, X as StorefrontSession, Xn as KnownPaymentStatus, Xr as ClaimStatus, Xt as CheckoutPricing, Y as SessionStorage, Yn as KnownPaymentResult, Yr as productSortSchema, Yt as ApplicableCoupon, Z as StorefrontSessionOptions, Zn as PAYMENT_RESULT_VALUES, Zr as OrderItemStatus, Zt as CheckoutPricingRequest, _ as normalizeCustomInputValue, _i as addCartItemRequestSchema, _n as ConsentUpdateRequest, _r as createCheckoutRequestSchema, _t as publicReviewSchema, a as CustomInputEntry, ai as MyOrderItemFulfillmentSnapshot, an as checkoutPricingSchema, ar as PgProvider, at as ReviewImageUploadRequest, b as MyOrder, bi as updateCartItemRequestSchema, bn as consentKindSchema, br as easyPayProviderResponseSchema, bt as reviewSummarySchema, c as OptionSelectionView, ci as UnknownFulfillmentView, cn as couponBenefitViewSchema, cr as ShippingAddressInput, ct as UpdateReviewRequest, d as customInputEntrySchema, di as productCardFulfillmentSchema, dn as myCouponSchema, dr as cashReceiptAvailable, dt as WritableReview, ei as claimStatusSchema, en as MAX_COUPONS_PER_CHECKOUT, er as PaymentMessage, et as CreateReviewResult, f as customInputLength, fi as productFulfillmentViewSchema, fn as pricingAmountsSchema, fr as cashReceiptIdentityTypeOf, ft as createReviewRequestSchema, g as lineSelectionResponseShape, gi as UpdateCartItemRequest, gn as ConsentState, gr as checkoutSessionSchema, gt as productReviewSortSchema, h as lineSelectionRequestShape, hi as CartItem, hn as ConsentSource, hr as checkoutDeliverySchema, ht as productReviewQuerySchema, i as AddonSelection, ii as LineFulfillment, in as checkoutPricingRequestSchema, ir as PaymentStatus, it as PublicReview, j as ANALYTICS_SESSION_COOKIE, jn as claimReasonSchema, jr as pgProviderSchema, jt as memberAddressSchema, k as trackingStageResponseSchema, kn as CreateClaimResult, kr as paymentStartSchema, kt as WishlistAddResult, l as addonGroupViewSchema, li as lineFulfillmentSchema, ln as couponResultSchema, lr as StartPaymentRequest, lt as UpdateReviewResult, m as customInputViewSchema, mi as Cart, mn as ConsentKind, mr as cashReceiptTypeSchema, mt as myReviewSchema, n as storefrontStoreSchema, ni as pageInfoSchema, nn as MyCoupon, nr as PaymentOption, nt as ProductReviewParams, o as CustomInputValueView, oi as ProductCardFulfillment, on as couponApplicationListSchema, or as RemoteArea, ot as ReviewPage, p as customInputValueViewSchema, pi as AddCartItemRequest, pn as ConsentAction, pr as cashReceiptRequestSchema, pt as createReviewResultSchema, q as createStorefrontClient, qn as EasyPayProvider, qr as productFacetsSchema, qt as customerInquiryCategorySchema, r as AddonGroupView, ri as pageSchema, rn as applicableCouponSchema, rr as PaymentStart, rt as ProductReviewSort, s as CustomInputView, si as ProductFulfillmentView, sn as couponApplicationSchema, sr as RetryPaymentRequest, st as ReviewSummary, t as StorefrontStore, ti as orderItemStatusSchema, tn as MIN_PAYMENT_AMOUNT, tr as PaymentMethod, tt as MyReview, u as addonSelectionSchema, ui as myOrderItemFulfillmentSnapshotSchema, un as myCouponListQuerySchema, ur as availablePaymentOptionSchema, ut as UploadTicket, v as optionSelectionViewSchema, vi as cartItemSchema, vn as MemberConsents, vr as deliveryQuoteRequestSchema, vt as reviewImageUploadRequestSchema, w as deliveryTrackingSchema, wn as memberConsentsSchema, wr as paymentMessageSchema, wt as writableReviewSchema, x as MyOrderItem, xi as analyticsIdsFromCookie, xn as consentSourceSchema, xr as easyPayProviderSchema, xt as updateReviewRequestSchema, y as DeliveryTracking, yi as cartSchema, yn as consentActionSchema, yr as deliveryQuoteSchema, yt as reviewPageSchema, z as AnalyticsServerEventName, zn as CashReceiptIdentityType, zr as ProductDetail, zt as createInquiryRequestSchema } from "./index-AQs_Qyhm.mjs";
|
|
3
|
+
export { ANALYTICS_MAX_BATCH_BYTES, ANALYTICS_SESSION_COOKIE, ANALYTICS_SESSION_HEADER, ANALYTICS_VISITOR_COOKIE, ANALYTICS_VISITOR_HEADER, AddCartItemRequest, AddonGroupView, AddonSelection, AnalyticsBatch, AnalyticsClientEvent, AnalyticsClientEventName, AnalyticsEventName, AnalyticsServerEventName, AnonymousSession, ApiError, ApplicableCoupon, AvailablePaymentOption, CASH_RECEIPT_METHODS, Cart, CartItem, CashReceiptIdentityType, CashReceiptRequest, CashReceiptType, CategoryNode, CheckoutDelivery, CheckoutPricing, CheckoutPricingRequest, CheckoutSession, ClaimReason, ClaimReturnAddress, ClaimStatus, ClaimType, ConsentAction, ConsentKind, ConsentSource, ConsentState, ConsentUpdateRequest, CouponApplication, CouponResult, CreateCheckoutRequest, CreateClaimRequest, CreateClaimResult, CreateCustomerInquiryRequest, CreateInquiryRequest, CreateInquiryResult, CreateReviewRequest, CreateReviewResult, CustomInputEntry, CustomInputValueView, CustomInputView, CustomerInquiry, CustomerInquiryCategory, DeliveryQuoteRequest, DeliveryQuoteResult, DeliveryTracking, EasyPayProvider, GuestInfo, IdpAgreements, IdpAuthorizeRequest, IdpTokenRequest, KnownPaymentResult, KnownPaymentStatus, LineFulfillment, LinkIdentityRequest, LoginRequest, MAX_COUPONS_PER_CHECKOUT, MIN_PAYMENT_AMOUNT, Member, MemberAddress, MemberAddressRequest, MemberConsents, MemberIdentities, MyClaim, MyCoupon, MyOrder, MyOrderItem, MyOrderItemFulfillmentSnapshot, MyReview, OptionSelectionView, OrderItemStatus, OrderShippingAddress, PAYMENT_RESULT_VALUES, PAYMENT_STATUS_VALUES, PageInfo, PageParams, PaymentFailureCategory, PaymentMessage, PaymentMethod, PaymentOption, PaymentStart, PaymentStatus, PgProvider, ProductCard, ProductCardFulfillment, ProductDetail, ProductFacets, ProductFulfillmentView, ProductInquiryCategory, ProductPage, ProductReviewParams, ProductReviewSort, ProductSearchParams, ProductSort, PublicInquiry, PublicReview, PurchaseDecisionResult, type Query, RemoteArea, RetryPaymentRequest, ReviewImageUploadRequest, ReviewPage, ReviewSummary, STOREFRONT_SESSION_KEYS, type SessionStorage, ShippingAddressInput, SignupRequest, SocialProvider, StartPaymentRequest, type StorefrontClient, type StorefrontClientOptions, type StorefrontSession, type StorefrontSessionOptions, StorefrontStore, TokenPair, type TokenSource, UnknownFulfillmentView, UpdateCartItemRequest, UpdateProfileRequest, UpdateReviewRequest, UpdateReviewResult, UploadTicket, WishlistAddResult, WithdrawRequest, WithdrawalBlockedDetails, WritableReview, addCartItemRequestSchema, addonGroupViewSchema, addonSelectionSchema, analyticsBatchSchema, analyticsClientEventNameSchema, analyticsClientEventSchema, analyticsIdSchema, analyticsIdsFromCookie, analyticsServerEventNameSchema, anonymousSessionSchema, applicableCouponSchema, availablePaymentOptionSchema, buildQuery, cartItemSchema, cartSchema, cashReceiptAvailable, cashReceiptIdentityTypeOf, cashReceiptRequestSchema, cashReceiptTypeSchema, categoryNodeSchema, checkoutDeliverySchema, checkoutPricingRequestSchema, checkoutPricingSchema, checkoutSessionSchema, claimReasonSchema, claimReturnAddressSchema, claimStatusSchema, claimTypeSchema, consentActionSchema, consentKindSchema, consentSourceSchema, consentStateSchema, consentUpdateRequestSchema, couponApplicationListSchema, couponApplicationSchema, couponBenefitViewSchema, couponResultSchema, createCheckoutRequestSchema, createClaimRequestSchema, createClaimResultSchema, createCustomerInquiryRequestSchema, createInquiryRequestSchema, createInquiryResultSchema, createReviewRequestSchema, createReviewResultSchema, createStorefrontClient, createStorefrontSession, customInputEntrySchema, customInputLength, customInputValueViewSchema, customInputViewSchema, customerInquiryCategorySchema, customerInquirySchema, deliveryQuoteRequestSchema, deliveryQuoteSchema, deliveryTrackingSchema, easyPayProviderResponseSchema, easyPayProviderSchema, guestInfoSchema, idpAgreementsSchema, idpAuthorizeRequestSchema, idpAuthorizeResponseSchema, idpTokenRequestSchema, lineFulfillmentSchema, lineSelectionRequestShape, lineSelectionResponseShape, linkIdentityRequestSchema, loginRequestSchema, memberAddressRequestSchema, memberAddressSchema, memberConsentsSchema, memberIdentitiesSchema, memberSchema, myClaimSchema, myCouponListQuerySchema, myCouponSchema, myOrderItemFulfillmentSnapshotSchema, myOrderItemSchema, myOrderSchema, myReviewSchema, normalizeCustomInputValue, optionSelectionViewSchema, orderItemStatusSchema, orderShippingAddressSchema, pageInfoSchema, pageSchema, paymentFailureCategorySchema, paymentMessageSchema, paymentMethodSchema, paymentOptionKey, paymentOptionListSchema, paymentOptionSchema, paymentStartSchema, paymentStatusSchema, pgProviderSchema, pricingAmountsSchema, productCardFulfillmentSchema, productCardSchema, productDetailSchema, productFacetsSchema, productFulfillmentViewSchema, productInquiryCategorySchema, productPageSchema, productReviewQuerySchema, productReviewSortSchema, productSortSchema, publicInquirySchema, publicReviewSchema, purchaseDecisionResultSchema, remoteAreaSchema, residentNumberLike, retryPaymentRequestSchema, reviewImageUploadRequestSchema, reviewPageSchema, reviewSummarySchema, shippingAddressInputSchema, signupRequestSchema, socialProviderSchema, startPaymentRequestSchema, storefrontStoreSchema, tokenPairSchema, trackingStageResponseSchema, updateCartItemRequestSchema, updateProfileRequestSchema, updateReviewRequestSchema, updateReviewResultSchema, uploadTicketSchema, wishlistAddResultSchema, withdrawRequestSchema, withdrawalBlockedDetailsSchema, writableReviewSchema };
|
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as ANALYTICS_VISITOR_HEADER, c as analyticsClientEventSchema, i as ANALYTICS_VISITOR_COOKIE, l as analyticsIdSchema, n as ANALYTICS_SESSION_COOKIE, o as analyticsBatchSchema, r as ANALYTICS_SESSION_HEADER, s as analyticsClientEventNameSchema, t as ANALYTICS_MAX_BATCH_BYTES, u as analyticsServerEventNameSchema } from "./analytics-CgD70OqH.mjs";
|
|
2
2
|
import { t as analyticsIdsFromCookie } from "./analytics-ids-COElZiI3.mjs";
|
|
3
|
-
import { $ as
|
|
4
|
-
import { $ as lineFulfillmentSchema, A as startPaymentRequestSchema, B as myCouponListQuerySchema, C as paymentStartSchema, D as residentNumberLike, E as remoteAreaSchema, F as checkoutPricingSchema, G as customInputEntrySchema, H as pricingAmountsSchema, I as couponApplicationListSchema, J as customInputViewSchema, K as customInputLength, L as couponApplicationSchema, M as MIN_PAYMENT_AMOUNT, N as applicableCouponSchema, O as retryPaymentRequestSchema, P as checkoutPricingRequestSchema, Q as optionSelectionViewSchema, R as couponBenefitViewSchema, S as paymentOptionSchema, T as pgProviderSchema, U as addonGroupViewSchema, V as myCouponSchema, W as addonSelectionSchema, X as lineSelectionResponseShape, Y as lineSelectionRequestShape, Z as normalizeCustomInputValue, _ as paymentFailureCategorySchema, a as cashReceiptAvailable, b as paymentOptionKey, c as cashReceiptTypeSchema, d as createCheckoutRequestSchema, et as myOrderItemFulfillmentSnapshotSchema, f as deliveryQuoteRequestSchema, g as guestInfoSchema, h as easyPayProviderSchema, i as availablePaymentOptionSchema, j as MAX_COUPONS_PER_CHECKOUT, k as shippingAddressInputSchema, l as checkoutDeliverySchema, m as easyPayProviderResponseSchema, n as PAYMENT_RESULT_VALUES, nt as productFulfillmentViewSchema, o as cashReceiptIdentityTypeOf, p as deliveryQuoteSchema, q as customInputValueViewSchema, r as PAYMENT_STATUS_VALUES, s as cashReceiptRequestSchema, t as CASH_RECEIPT_METHODS, tt as productCardFulfillmentSchema, u as checkoutSessionSchema, v as paymentMessageSchema, w as paymentStatusSchema, x as paymentOptionListSchema, y as paymentMethodSchema, z as couponResultSchema } from "./checkout-
|
|
3
|
+
import { $ as orderItemStatusSchema, A as publicInquirySchema, B as claimReasonSchema, C as memberAddressSchema, D as createInquiryRequestSchema, E as wishlistAddResultSchema, F as consentKindSchema, G as myClaimSchema, H as claimTypeSchema, I as consentSourceSchema, J as productDetailSchema, K as categoryNodeSchema, L as consentStateSchema, M as customerInquiryCategorySchema, N as customerInquirySchema, O as createInquiryResultSchema, P as consentActionSchema, Q as claimStatusSchema, R as consentUpdateRequestSchema, S as memberAddressRequestSchema, St as unwrapData, T as updateProfileRequestSchema, U as createClaimRequestSchema, V as claimReturnAddressSchema, W as createClaimResultSchema, X as productPageSchema, Y as productFacetsSchema, Z as productSortSchema, _ as myOrderItemSchema, _t as withdrawRequestSchema, a as myReviewSchema, at as updateCartItemRequestSchema, b as purchaseDecisionResultSchema, bt as buildQuery, c as publicReviewSchema, ct as idpAuthorizeRequestSchema, d as reviewSummarySchema, dt as linkIdentityRequestSchema, et as pageInfoSchema, f as updateReviewRequestSchema, ft as loginRequestSchema, g as deliveryTrackingSchema, gt as tokenPairSchema, h as writableReviewSchema, ht as socialProviderSchema, i as createReviewResultSchema, it as cartSchema, j as createCustomerInquiryRequestSchema, k as productInquiryCategorySchema, l as reviewImageUploadRequestSchema, lt as idpAuthorizeResponseSchema, m as uploadTicketSchema, mt as signupRequestSchema, n as storefrontStoreSchema, nt as addCartItemRequestSchema, o as productReviewQuerySchema, ot as anonymousSessionSchema, p as updateReviewResultSchema, pt as memberIdentitiesSchema, q as productCardSchema, r as createReviewRequestSchema, rt as cartItemSchema, s as productReviewSortSchema, st as idpAgreementsSchema, t as createStorefrontClient, tt as pageSchema, u as reviewPageSchema, ut as idpTokenRequestSchema, v as myOrderSchema, vt as withdrawalBlockedDetailsSchema, w as memberSchema, x as trackingStageResponseSchema, xt as toApiError, y as orderShippingAddressSchema, yt as ApiError, z as memberConsentsSchema } from "./client-5Nd-KG-G.mjs";
|
|
4
|
+
import { $ as lineFulfillmentSchema, A as startPaymentRequestSchema, B as myCouponListQuerySchema, C as paymentStartSchema, D as residentNumberLike, E as remoteAreaSchema, F as checkoutPricingSchema, G as customInputEntrySchema, H as pricingAmountsSchema, I as couponApplicationListSchema, J as customInputViewSchema, K as customInputLength, L as couponApplicationSchema, M as MIN_PAYMENT_AMOUNT, N as applicableCouponSchema, O as retryPaymentRequestSchema, P as checkoutPricingRequestSchema, Q as optionSelectionViewSchema, R as couponBenefitViewSchema, S as paymentOptionSchema, T as pgProviderSchema, U as addonGroupViewSchema, V as myCouponSchema, W as addonSelectionSchema, X as lineSelectionResponseShape, Y as lineSelectionRequestShape, Z as normalizeCustomInputValue, _ as paymentFailureCategorySchema, a as cashReceiptAvailable, b as paymentOptionKey, c as cashReceiptTypeSchema, d as createCheckoutRequestSchema, et as myOrderItemFulfillmentSnapshotSchema, f as deliveryQuoteRequestSchema, g as guestInfoSchema, h as easyPayProviderSchema, i as availablePaymentOptionSchema, j as MAX_COUPONS_PER_CHECKOUT, k as shippingAddressInputSchema, l as checkoutDeliverySchema, m as easyPayProviderResponseSchema, n as PAYMENT_RESULT_VALUES, nt as productFulfillmentViewSchema, o as cashReceiptIdentityTypeOf, p as deliveryQuoteSchema, q as customInputValueViewSchema, r as PAYMENT_STATUS_VALUES, s as cashReceiptRequestSchema, t as CASH_RECEIPT_METHODS, tt as productCardFulfillmentSchema, u as checkoutSessionSchema, v as paymentMessageSchema, w as paymentStatusSchema, x as paymentOptionListSchema, y as paymentMethodSchema, z as couponResultSchema } from "./checkout-CCsO8PY2.mjs";
|
|
5
5
|
//#region src/session.ts
|
|
6
6
|
/** 세션 키 상수 — SDK가 소유한다. store-sdk와 겹치지 않는 별도 네임스페이스. */
|
|
7
7
|
const STOREFRONT_SESSION_KEYS = {
|
|
@@ -125,4 +125,4 @@ function createStorefrontSession(options) {
|
|
|
125
125
|
};
|
|
126
126
|
}
|
|
127
127
|
//#endregion
|
|
128
|
-
export { ANALYTICS_MAX_BATCH_BYTES, ANALYTICS_SESSION_COOKIE, ANALYTICS_SESSION_HEADER, ANALYTICS_VISITOR_COOKIE, ANALYTICS_VISITOR_HEADER, ApiError, CASH_RECEIPT_METHODS, MAX_COUPONS_PER_CHECKOUT, MIN_PAYMENT_AMOUNT, PAYMENT_RESULT_VALUES, PAYMENT_STATUS_VALUES, STOREFRONT_SESSION_KEYS, addCartItemRequestSchema, addonGroupViewSchema, addonSelectionSchema, analyticsBatchSchema, analyticsClientEventNameSchema, analyticsClientEventSchema, analyticsIdSchema, analyticsIdsFromCookie, analyticsServerEventNameSchema, anonymousSessionSchema, applicableCouponSchema, availablePaymentOptionSchema, buildQuery, cartItemSchema, cartSchema, cashReceiptAvailable, cashReceiptIdentityTypeOf, cashReceiptRequestSchema, cashReceiptTypeSchema, categoryNodeSchema, checkoutDeliverySchema, checkoutPricingRequestSchema, checkoutPricingSchema, checkoutSessionSchema, claimReasonSchema, claimReturnAddressSchema, claimStatusSchema, claimTypeSchema, consentActionSchema, consentKindSchema, consentSourceSchema, consentStateSchema, consentUpdateRequestSchema, couponApplicationListSchema, couponApplicationSchema, couponBenefitViewSchema, couponResultSchema, createCheckoutRequestSchema, createClaimRequestSchema, createClaimResultSchema, createCustomerInquiryRequestSchema, createInquiryRequestSchema, createInquiryResultSchema, createReviewRequestSchema, createReviewResultSchema, createStorefrontClient, createStorefrontSession, customInputEntrySchema, customInputLength, customInputValueViewSchema, customInputViewSchema, customerInquiryCategorySchema, customerInquirySchema, deliveryQuoteRequestSchema, deliveryQuoteSchema, deliveryTrackingSchema, easyPayProviderResponseSchema, easyPayProviderSchema, guestInfoSchema, idpAgreementsSchema, idpAuthorizeRequestSchema, idpAuthorizeResponseSchema, idpTokenRequestSchema, lineFulfillmentSchema, lineSelectionRequestShape, lineSelectionResponseShape, linkIdentityRequestSchema, loginRequestSchema, memberAddressRequestSchema, memberAddressSchema, memberConsentsSchema, memberIdentitiesSchema, memberSchema, myClaimSchema, myCouponListQuerySchema, myCouponSchema, myOrderItemFulfillmentSnapshotSchema, myOrderItemSchema, myOrderSchema, normalizeCustomInputValue, optionSelectionViewSchema, orderItemStatusSchema, orderShippingAddressSchema, pageInfoSchema, pageSchema, paymentFailureCategorySchema, paymentMessageSchema, paymentMethodSchema, paymentOptionKey, paymentOptionListSchema, paymentOptionSchema, paymentStartSchema, paymentStatusSchema, pgProviderSchema, pricingAmountsSchema, productCardFulfillmentSchema, productCardSchema, productDetailSchema, productFacetsSchema, productFulfillmentViewSchema, productInquiryCategorySchema, productPageSchema, productSortSchema, publicInquirySchema, publicReviewSchema, purchaseDecisionResultSchema, remoteAreaSchema, residentNumberLike, retryPaymentRequestSchema, reviewPageSchema, reviewSummarySchema, shippingAddressInputSchema, signupRequestSchema, socialProviderSchema, startPaymentRequestSchema, storefrontStoreSchema, tokenPairSchema, trackingStageResponseSchema, updateCartItemRequestSchema, updateProfileRequestSchema, updateReviewRequestSchema, updateReviewResultSchema, wishlistAddResultSchema, withdrawRequestSchema, withdrawalBlockedDetailsSchema, writableReviewSchema };
|
|
128
|
+
export { ANALYTICS_MAX_BATCH_BYTES, ANALYTICS_SESSION_COOKIE, ANALYTICS_SESSION_HEADER, ANALYTICS_VISITOR_COOKIE, ANALYTICS_VISITOR_HEADER, ApiError, CASH_RECEIPT_METHODS, MAX_COUPONS_PER_CHECKOUT, MIN_PAYMENT_AMOUNT, PAYMENT_RESULT_VALUES, PAYMENT_STATUS_VALUES, STOREFRONT_SESSION_KEYS, addCartItemRequestSchema, addonGroupViewSchema, addonSelectionSchema, analyticsBatchSchema, analyticsClientEventNameSchema, analyticsClientEventSchema, analyticsIdSchema, analyticsIdsFromCookie, analyticsServerEventNameSchema, anonymousSessionSchema, applicableCouponSchema, availablePaymentOptionSchema, buildQuery, cartItemSchema, cartSchema, cashReceiptAvailable, cashReceiptIdentityTypeOf, cashReceiptRequestSchema, cashReceiptTypeSchema, categoryNodeSchema, checkoutDeliverySchema, checkoutPricingRequestSchema, checkoutPricingSchema, checkoutSessionSchema, claimReasonSchema, claimReturnAddressSchema, claimStatusSchema, claimTypeSchema, consentActionSchema, consentKindSchema, consentSourceSchema, consentStateSchema, consentUpdateRequestSchema, couponApplicationListSchema, couponApplicationSchema, couponBenefitViewSchema, couponResultSchema, createCheckoutRequestSchema, createClaimRequestSchema, createClaimResultSchema, createCustomerInquiryRequestSchema, createInquiryRequestSchema, createInquiryResultSchema, createReviewRequestSchema, createReviewResultSchema, createStorefrontClient, createStorefrontSession, customInputEntrySchema, customInputLength, customInputValueViewSchema, customInputViewSchema, customerInquiryCategorySchema, customerInquirySchema, deliveryQuoteRequestSchema, deliveryQuoteSchema, deliveryTrackingSchema, easyPayProviderResponseSchema, easyPayProviderSchema, guestInfoSchema, idpAgreementsSchema, idpAuthorizeRequestSchema, idpAuthorizeResponseSchema, idpTokenRequestSchema, lineFulfillmentSchema, lineSelectionRequestShape, lineSelectionResponseShape, linkIdentityRequestSchema, loginRequestSchema, memberAddressRequestSchema, memberAddressSchema, memberConsentsSchema, memberIdentitiesSchema, memberSchema, myClaimSchema, myCouponListQuerySchema, myCouponSchema, myOrderItemFulfillmentSnapshotSchema, myOrderItemSchema, myOrderSchema, myReviewSchema, normalizeCustomInputValue, optionSelectionViewSchema, orderItemStatusSchema, orderShippingAddressSchema, pageInfoSchema, pageSchema, paymentFailureCategorySchema, paymentMessageSchema, paymentMethodSchema, paymentOptionKey, paymentOptionListSchema, paymentOptionSchema, paymentStartSchema, paymentStatusSchema, pgProviderSchema, pricingAmountsSchema, productCardFulfillmentSchema, productCardSchema, productDetailSchema, productFacetsSchema, productFulfillmentViewSchema, productInquiryCategorySchema, productPageSchema, productReviewQuerySchema, productReviewSortSchema, productSortSchema, publicInquirySchema, publicReviewSchema, purchaseDecisionResultSchema, remoteAreaSchema, residentNumberLike, retryPaymentRequestSchema, reviewImageUploadRequestSchema, reviewPageSchema, reviewSummarySchema, shippingAddressInputSchema, signupRequestSchema, socialProviderSchema, startPaymentRequestSchema, storefrontStoreSchema, tokenPairSchema, trackingStageResponseSchema, updateCartItemRequestSchema, updateProfileRequestSchema, updateReviewRequestSchema, updateReviewResultSchema, uploadTicketSchema, wishlistAddResultSchema, withdrawRequestSchema, withdrawalBlockedDetailsSchema, writableReviewSchema };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Bn as CashReceiptRequest, Jn as GuestInfo, cr as ShippingAddressInput, ir as PaymentStatus, lr as StartPaymentRequest, nr as PaymentOption, q as createStorefrontClient, rr as PaymentStart } from "../index-AQs_Qyhm.mjs";
|
|
2
2
|
//#region src/payments/index.d.ts
|
|
3
3
|
/**
|
|
4
4
|
* 스토어프론트 결제 — 브라우저 전용(`@sayren/storefront-sdk/payments`).
|
|
@@ -47,6 +47,11 @@ export type PaymentResult = {
|
|
|
47
47
|
paymentId: string;
|
|
48
48
|
code: string;
|
|
49
49
|
message: string;
|
|
50
|
+
/**
|
|
51
|
+
* 상점의 PG 설정 문제처럼 구매자가 고칠 수 없는 실패다(`lastFailure.optionUnavailable`). 같은 옵션으로 다시 시도해도
|
|
52
|
+
* 실패하므로 그 옵션을 고르지 못하게 하고 다른 결제수단으로 `retry`하게 한다. `message`가 그 안내다
|
|
53
|
+
*/
|
|
54
|
+
optionUnavailable?: boolean;
|
|
50
55
|
} | {
|
|
51
56
|
/** 결과 확인 중 — `getStatus(paymentId)`로 확정될 때까지 조회한다 */
|
|
52
57
|
status: "PROCESSING";
|
package/dist/payments/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { v as paymentMessageSchema } from "../checkout-
|
|
1
|
+
import { v as paymentMessageSchema } from "../checkout-CCsO8PY2.mjs";
|
|
2
2
|
//#region src/payments/index.ts
|
|
3
3
|
/** 복귀 주소에 결제 서비스가 붙이는 쿼리 */
|
|
4
4
|
const RETURN_PAYMENT_ID = "sayrenPaymentId";
|
|
@@ -57,7 +57,8 @@ function paymentResultOf(status, options = {}) {
|
|
|
57
57
|
status: "FAILED",
|
|
58
58
|
paymentId,
|
|
59
59
|
code: lastFailure?.code ?? result,
|
|
60
|
-
message: lastFailure?.message ?? (result === "EXPIRED" ? "결제 요청이 만료됐습니다" : "결제에 실패했습니다")
|
|
60
|
+
message: lastFailure?.message ?? (result === "EXPIRED" ? "결제 요청이 만료됐습니다" : "결제에 실패했습니다"),
|
|
61
|
+
...lastFailure?.optionUnavailable ? { optionUnavailable: true } : {}
|
|
61
62
|
};
|
|
62
63
|
if (result === "PENDING") return options.popupClosed ? {
|
|
63
64
|
status: "CANCELED",
|
package/package.json
CHANGED
package/src/client.ts
CHANGED
|
@@ -91,9 +91,14 @@ import {
|
|
|
91
91
|
type CreateReviewRequest,
|
|
92
92
|
createReviewRequestSchema,
|
|
93
93
|
createReviewResultSchema,
|
|
94
|
+
myReviewSchema,
|
|
95
|
+
type ProductReviewParams,
|
|
96
|
+
type ReviewImageUploadRequest,
|
|
97
|
+
reviewImageUploadRequestSchema,
|
|
94
98
|
reviewPageSchema,
|
|
95
99
|
type UpdateReviewRequest,
|
|
96
100
|
updateReviewRequestSchema,
|
|
101
|
+
uploadTicketSchema,
|
|
97
102
|
writableReviewSchema,
|
|
98
103
|
} from "./schemas/review";
|
|
99
104
|
import { storefrontStoreSchema } from "./schemas/store";
|
|
@@ -243,14 +248,8 @@ export function createStorefrontClient(options: StorefrontClientOptions) {
|
|
|
243
248
|
http.request("GET", "/products", productPageSchema, { query: params as Query }),
|
|
244
249
|
getProduct: (productId: string) =>
|
|
245
250
|
http.request("GET", path`/products/${productId}`, productDetailSchema),
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
params?: PageParams & {
|
|
249
|
-
rating?: number;
|
|
250
|
-
hasImage?: boolean;
|
|
251
|
-
sort?: "latest" | "ratingDesc" | "ratingAsc" | "helpful";
|
|
252
|
-
},
|
|
253
|
-
) =>
|
|
251
|
+
/** 상품 리뷰 목록 — `variantId`로 옵션(조합)별 리뷰만 받는다(상품 상세 `variants[].variantId`) */
|
|
252
|
+
listProductReviews: (productId: string, params?: ProductReviewParams) =>
|
|
254
253
|
http.request("GET", path`/products/${productId}/reviews`, reviewPageSchema, {
|
|
255
254
|
query: params as Query,
|
|
256
255
|
}),
|
|
@@ -412,8 +411,21 @@ export function createStorefrontClient(options: StorefrontClientOptions) {
|
|
|
412
411
|
},
|
|
413
412
|
|
|
414
413
|
reviews: {
|
|
414
|
+
/** 내가 쓴 리뷰 — 최신순. 수정·삭제는 항목의 `reviewId`로 한다(이슈 #95) */
|
|
415
|
+
listMine: (params?: PageParams) =>
|
|
416
|
+
http.request("GET", "/me/reviews", pageSchema(myReviewSchema), {
|
|
417
|
+
query: params as Query,
|
|
418
|
+
}),
|
|
415
419
|
listWritable: () =>
|
|
416
420
|
http.request("GET", "/me/reviews/writable", z.array(writableReviewSchema)),
|
|
421
|
+
/**
|
|
422
|
+
* 리뷰 사진 업로드 자리(이슈 #96) — 응답 `uploadUrl`에 파일을 PUT한 뒤 `url`을 `create`·`update`의 `images`에 넣는다.
|
|
423
|
+
* 형식·크기가 맞지 않으면 400 `UNSUPPORTED_FILE_TYPE`·413 `FILE_TOO_LARGE`, 연타하면 429 `TOO_MANY_REQUESTS`다
|
|
424
|
+
*/
|
|
425
|
+
createImageUpload: (body: ReviewImageUploadRequest) =>
|
|
426
|
+
http.request("POST", "/me/uploads", uploadTicketSchema, {
|
|
427
|
+
body: reviewImageUploadRequestSchema.parse(body),
|
|
428
|
+
}),
|
|
417
429
|
create: (orderItemId: string, body: CreateReviewRequest) =>
|
|
418
430
|
http.request(
|
|
419
431
|
"POST",
|
package/src/payments/index.ts
CHANGED
|
@@ -64,6 +64,11 @@ export type PaymentResult =
|
|
|
64
64
|
paymentId: string;
|
|
65
65
|
code: string;
|
|
66
66
|
message: string;
|
|
67
|
+
/**
|
|
68
|
+
* 상점의 PG 설정 문제처럼 구매자가 고칠 수 없는 실패다(`lastFailure.optionUnavailable`). 같은 옵션으로 다시 시도해도
|
|
69
|
+
* 실패하므로 그 옵션을 고르지 못하게 하고 다른 결제수단으로 `retry`하게 한다. `message`가 그 안내다
|
|
70
|
+
*/
|
|
71
|
+
optionUnavailable?: boolean;
|
|
67
72
|
}
|
|
68
73
|
| {
|
|
69
74
|
/** 결과 확인 중 — `getStatus(paymentId)`로 확정될 때까지 조회한다 */
|
|
@@ -180,6 +185,7 @@ export function paymentResultOf(
|
|
|
180
185
|
message:
|
|
181
186
|
lastFailure?.message ??
|
|
182
187
|
(result === "EXPIRED" ? "결제 요청이 만료됐습니다" : "결제에 실패했습니다"),
|
|
188
|
+
...(lastFailure?.optionUnavailable ? { optionUnavailable: true } : {}),
|
|
183
189
|
};
|
|
184
190
|
}
|
|
185
191
|
if (result === "PENDING") {
|
package/src/schemas/checkout.ts
CHANGED
|
@@ -499,6 +499,13 @@ export const paymentStatusSchema = z.object({
|
|
|
499
499
|
.nullable()
|
|
500
500
|
.describe("PG가 준 실패 코드. 내부 사유는 null입니다. 화면 분기는 `category`로 하십시오"),
|
|
501
501
|
message: z.string().nullable().describe("구매자에게 보여 줄 안내 문구"),
|
|
502
|
+
optionUnavailable: z
|
|
503
|
+
.boolean()
|
|
504
|
+
.optional()
|
|
505
|
+
.describe(
|
|
506
|
+
"true면 상점의 PG 설정 문제처럼 구매자가 고칠 수 없는 실패입니다(이슈 #86). 같은 결제 옵션으로 다시 시도해도 실패하므로 " +
|
|
507
|
+
"그 옵션을 고르지 못하게 하고 다른 결제수단을 고르게 하십시오. 이때 `message`는 그 안내입니다. 서버는 항상 싣습니다",
|
|
508
|
+
),
|
|
502
509
|
})
|
|
503
510
|
.nullable()
|
|
504
511
|
.describe("현재 결제 시도가 실패·취소로 끝났으면 그 내용, 아니면 null"),
|
package/src/schemas/review.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { pageSchema } from "./common";
|
|
2
|
+
import { type PageParams, pageSchema } from "./common";
|
|
3
3
|
|
|
4
4
|
export const publicReviewSchema = z.object({
|
|
5
5
|
reviewId: z.string(),
|
|
@@ -7,6 +7,14 @@ export const publicReviewSchema = z.object({
|
|
|
7
7
|
content: z.string(),
|
|
8
8
|
images: z.array(z.url()),
|
|
9
9
|
optionName: z.string().nullable(),
|
|
10
|
+
variantId: z
|
|
11
|
+
.string()
|
|
12
|
+
.nullable()
|
|
13
|
+
.optional()
|
|
14
|
+
.describe(
|
|
15
|
+
"리뷰를 쓴 주문상품의 옵션(조합) id(이슈 #91). 상품 상세 `variants[].variantId`와 같은 값이고 리뷰 목록의 `variantId` 필터 키다. " +
|
|
16
|
+
"옵션 없는 상품도 기본 조합 id가 있다. 주문상품을 찾지 못한 리뷰는 null이다. 서버는 항상 싣는다",
|
|
17
|
+
),
|
|
10
18
|
writerMaskedName: z.string(),
|
|
11
19
|
sellerReply: z
|
|
12
20
|
.object({
|
|
@@ -27,6 +35,39 @@ export const reviewSummarySchema = z.object({
|
|
|
27
35
|
|
|
28
36
|
export type ReviewSummary = z.infer<typeof reviewSummarySchema>;
|
|
29
37
|
|
|
38
|
+
/**
|
|
39
|
+
* 내가 쓴 리뷰 (이슈 #95) — `GET /me/reviews`. 수정·삭제(`PUT`·`DELETE /me/reviews/{reviewId}`)에 쓰는 `reviewId`와 상품 링크를 싣는다.
|
|
40
|
+
* 상품 정보는 주문 시점 값이고, 주문상품을 찾지 못하면 지금 상품의 값이다. 둘 다 없으면 null이다.
|
|
41
|
+
*/
|
|
42
|
+
export const myReviewSchema = z.object({
|
|
43
|
+
reviewId: z.string(),
|
|
44
|
+
productId: z.string(),
|
|
45
|
+
productName: z.string().nullable().describe("주문 시점 상품명. 찾지 못하면 null"),
|
|
46
|
+
thumbnailUrl: z.url().nullable().describe("주문 시점 대표 이미지. 없으면 null"),
|
|
47
|
+
optionName: z.string().nullable(),
|
|
48
|
+
rating: z.number().int().min(1).max(5),
|
|
49
|
+
content: z.string(),
|
|
50
|
+
images: z.array(z.url()),
|
|
51
|
+
sellerReply: z
|
|
52
|
+
.object({
|
|
53
|
+
content: z.string(),
|
|
54
|
+
repliedAt: z.string(),
|
|
55
|
+
})
|
|
56
|
+
.nullable(),
|
|
57
|
+
blinded: z
|
|
58
|
+
.boolean()
|
|
59
|
+
.describe("판매자가 가린 리뷰. true면 상품 리뷰 목록에 보이지 않는다(작성자에게만 보인다)"),
|
|
60
|
+
editable: z
|
|
61
|
+
.boolean()
|
|
62
|
+
.describe(
|
|
63
|
+
"지금 수정할 수 있는가. 작성 후 30일까지다. 지나면 `PUT /me/reviews/{reviewId}`가 409 `PERIOD_EXPIRED`다",
|
|
64
|
+
),
|
|
65
|
+
editableUntil: z.string().describe("수정 기한(ISO 8601)"),
|
|
66
|
+
createdAt: z.string(),
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
export type MyReview = z.infer<typeof myReviewSchema>;
|
|
70
|
+
|
|
30
71
|
export const writableReviewSchema = z.object({
|
|
31
72
|
orderItemId: z.string(),
|
|
32
73
|
productId: z.string(),
|
|
@@ -65,6 +106,75 @@ export const updateReviewRequestSchema = z
|
|
|
65
106
|
|
|
66
107
|
export type UpdateReviewRequest = z.infer<typeof updateReviewRequestSchema>;
|
|
67
108
|
|
|
109
|
+
/** 리뷰 정렬 — `helpful`(랭킹순)은 사진 있는 리뷰 → 평점 높은 순 → 최신 순이다(도움돼요 수 데이터는 없다, #97) */
|
|
110
|
+
export const productReviewSortSchema = z.enum(["latest", "ratingDesc", "ratingAsc", "helpful"]);
|
|
111
|
+
|
|
112
|
+
export type ProductReviewSort = z.infer<typeof productReviewSortSchema>;
|
|
113
|
+
|
|
114
|
+
/** `GET /products/{productId}/reviews` 쿼리 — 문서용이다. 쿼리 문자열이라 값은 문자열로 받는다 */
|
|
115
|
+
export const productReviewQuerySchema = z.object({
|
|
116
|
+
rating: z.string().optional().describe("이 평점(1~5)의 리뷰만"),
|
|
117
|
+
hasImage: z.string().optional().describe("`true`면 사진이 있는 리뷰만"),
|
|
118
|
+
variantId: z
|
|
119
|
+
.string()
|
|
120
|
+
.optional()
|
|
121
|
+
.describe(
|
|
122
|
+
"이 옵션(조합)으로 산 리뷰만(이슈 #91). 상품 상세 `variants[].variantId`이고 리뷰 응답의 `variantId`와 같은 값이다. " +
|
|
123
|
+
"다른 필터와 함께 쓰면 모두 만족하는 리뷰만 온다",
|
|
124
|
+
),
|
|
125
|
+
sort: z
|
|
126
|
+
.string()
|
|
127
|
+
.optional()
|
|
128
|
+
.describe(
|
|
129
|
+
"정렬. `latest`(기본, 최신 순)·`ratingDesc`(평점 높은 순)·`ratingAsc`(평점 낮은 순)·" +
|
|
130
|
+
"`helpful`(랭킹순 — 사진 있는 리뷰 먼저, 그다음 평점 높은 순, 같으면 최신 순. 도움돼요 수는 반영하지 않는다)",
|
|
131
|
+
),
|
|
132
|
+
page: z.string().optional().describe("페이지 번호 (1부터)"),
|
|
133
|
+
size: z.string().optional().describe("페이지 크기"),
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
/** 리뷰 목록 조회 파라미터 — `catalog.listProductReviews` */
|
|
137
|
+
export interface ProductReviewParams extends PageParams {
|
|
138
|
+
rating?: number;
|
|
139
|
+
hasImage?: boolean;
|
|
140
|
+
/** 이 옵션(조합)으로 산 리뷰만 — 상품 상세 `variants[].variantId` */
|
|
141
|
+
variantId?: string;
|
|
142
|
+
sort?: ProductReviewSort;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* 리뷰 사진 업로드 자리 발급 (이슈 #96) — `POST /me/uploads`(구매자 로그인). 파일 바이트는 api를 거치지 않는다.
|
|
147
|
+
* 응답 `uploadUrl`에 파일을 그대로 PUT하면 `url`이 공개 주소가 되고, 그 주소를 리뷰 작성·수정의 `images`에 넣는다.
|
|
148
|
+
* 형식·크기 제한은 관리 API 상품 이미지(`product-image`)와 같은 정지 이미지 규칙이다(값은 API 문서). 서버가 객체 키를 정하므로 파일명은 확장자만 쓰인다.
|
|
149
|
+
*/
|
|
150
|
+
export const reviewImageUploadRequestSchema = z.object({
|
|
151
|
+
filename: z
|
|
152
|
+
.string()
|
|
153
|
+
.min(1)
|
|
154
|
+
.max(255)
|
|
155
|
+
.describe("파일명. 확장자로 형식을 판정하고 이름은 저장하지 않는다"),
|
|
156
|
+
purpose: z
|
|
157
|
+
.enum(["review-image"])
|
|
158
|
+
.default("review-image")
|
|
159
|
+
.describe("업로드 용도. 지금은 `review-image`(리뷰 사진)뿐이다"),
|
|
160
|
+
size: z
|
|
161
|
+
.number()
|
|
162
|
+
.int()
|
|
163
|
+
.positive()
|
|
164
|
+
.optional()
|
|
165
|
+
.describe("파일 바이트 크기. 주면 크기 상한을 발급 전에 검사한다"),
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
export type ReviewImageUploadRequest = z.input<typeof reviewImageUploadRequestSchema>;
|
|
169
|
+
|
|
170
|
+
/** 업로드 자리 — `uploadUrl`은 1시간 유효하다 */
|
|
171
|
+
export const uploadTicketSchema = z.object({
|
|
172
|
+
url: z.url().describe("업로드가 끝나면 공개될 주소. 리뷰의 `images`에 넣는다"),
|
|
173
|
+
uploadUrl: z.url().describe("파일 바이트를 그대로 PUT할 주소. 1시간 유효"),
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
export type UploadTicket = z.infer<typeof uploadTicketSchema>;
|
|
177
|
+
|
|
68
178
|
/** `GET /products/{productId}/reviews` 응답 — 리뷰 페이지와 평점 분포 */
|
|
69
179
|
export const reviewPageSchema = pageSchema(publicReviewSchema).extend({
|
|
70
180
|
summary: reviewSummarySchema.optional(),
|