@sayren/store-sdk 0.49.0 → 0.50.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 CHANGED
@@ -167,8 +167,8 @@ export declare const auditLogPageSchema: z$1.ZodObject<{
167
167
  export type AuditLogPage = z$1.infer<typeof auditLogPageSchema>;
168
168
  export declare const agentPolicyDecisionSchema: z$1.ZodEnum<{
169
169
  DENIED: "DENIED";
170
- APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
171
170
  ALLOW: "ALLOW";
171
+ APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
172
172
  }>;
173
173
  export type AgentPolicyDecision = z$1.infer<typeof agentPolicyDecisionSchema>;
174
174
  export declare const writePreviewSchema: z$1.ZodObject<{
@@ -193,8 +193,8 @@ export declare const writeDryRunResultSchema: z$1.ZodObject<{
193
193
  dryRun: z$1.ZodLiteral<true>;
194
194
  decision: z$1.ZodEnum<{
195
195
  DENIED: "DENIED";
196
- APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
197
196
  ALLOW: "ALLOW";
197
+ APPROVAL_REQUIRED: "APPROVAL_REQUIRED";
198
198
  }>;
199
199
  reason: z$1.ZodNullable<z$1.ZodString>;
200
200
  preview: z$1.ZodObject<{
@@ -8291,6 +8291,7 @@ export declare function couponRequestRuleIssues(body: {
8291
8291
  perOrderLimit: number;
8292
8292
  };
8293
8293
  perMemberUseLimit?: number | null;
8294
+ dailyIssueLimit?: number | null;
8294
8295
  issueStartsAt?: string | null;
8295
8296
  issueEndsAt?: string | null;
8296
8297
  visibleFrom?: string | null;
@@ -8379,6 +8380,7 @@ export declare const createCouponRequestSchema: z$1.ZodObject<{
8379
8380
  endsAt: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodISODateTime>>;
8380
8381
  validDaysAfterIssue: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodNumber>>;
8381
8382
  totalIssueLimit: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodNumber>>;
8383
+ dailyIssueLimit: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodNumber>>;
8382
8384
  totalUseLimit: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodNumber>>;
8383
8385
  perMemberIssueLimit: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodNumber>>;
8384
8386
  perMemberUseLimit: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodNumber>>;
@@ -8460,6 +8462,7 @@ export declare const updateCouponRequestSchema: z$1.ZodObject<{
8460
8462
  endsAt: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodISODateTime>>;
8461
8463
  validDaysAfterIssue: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodNumber>>;
8462
8464
  totalIssueLimit: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodNumber>>;
8465
+ dailyIssueLimit: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodNumber>>;
8463
8466
  totalUseLimit: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodNumber>>;
8464
8467
  perMemberIssueLimit: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodNumber>>;
8465
8468
  perMemberUseLimit: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodNumber>>;
@@ -8501,6 +8504,7 @@ export declare const couponSchema: z$1.ZodObject<{
8501
8504
  endsAt: z$1.ZodNullable<z$1.ZodString>;
8502
8505
  validDaysAfterIssue: z$1.ZodNullable<z$1.ZodNumber>;
8503
8506
  totalIssueLimit: z$1.ZodNullable<z$1.ZodNumber>;
8507
+ dailyIssueLimit: z$1.ZodDefault<z$1.ZodOptional<z$1.ZodNullable<z$1.ZodNumber>>>;
8504
8508
  totalUseLimit: z$1.ZodNullable<z$1.ZodNumber>;
8505
8509
  perMemberIssueLimit: z$1.ZodNullable<z$1.ZodNumber>;
8506
8510
  perMemberUseLimit: z$1.ZodNullable<z$1.ZodNumber>;
@@ -22138,6 +22142,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
22138
22142
  endsAt: string | null;
22139
22143
  validDaysAfterIssue: number | null;
22140
22144
  totalIssueLimit: number | null;
22145
+ dailyIssueLimit: number | null;
22141
22146
  totalUseLimit: number | null;
22142
22147
  perMemberIssueLimit: number | null;
22143
22148
  perMemberUseLimit: number | null;
@@ -22207,6 +22212,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
22207
22212
  endsAt: string | null;
22208
22213
  validDaysAfterIssue: number | null;
22209
22214
  totalIssueLimit: number | null;
22215
+ dailyIssueLimit: number | null;
22210
22216
  totalUseLimit: number | null;
22211
22217
  perMemberIssueLimit: number | null;
22212
22218
  perMemberUseLimit: number | null;
@@ -22275,6 +22281,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
22275
22281
  endsAt: string | null;
22276
22282
  validDaysAfterIssue: number | null;
22277
22283
  totalIssueLimit: number | null;
22284
+ dailyIssueLimit: number | null;
22278
22285
  totalUseLimit: number | null;
22279
22286
  perMemberIssueLimit: number | null;
22280
22287
  perMemberUseLimit: number | null;
@@ -22343,6 +22350,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
22343
22350
  endsAt: string | null;
22344
22351
  validDaysAfterIssue: number | null;
22345
22352
  totalIssueLimit: number | null;
22353
+ dailyIssueLimit: number | null;
22346
22354
  totalUseLimit: number | null;
22347
22355
  perMemberIssueLimit: number | null;
22348
22356
  perMemberUseLimit: number | null;
@@ -22411,6 +22419,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
22411
22419
  endsAt: string | null;
22412
22420
  validDaysAfterIssue: number | null;
22413
22421
  totalIssueLimit: number | null;
22422
+ dailyIssueLimit: number | null;
22414
22423
  totalUseLimit: number | null;
22415
22424
  perMemberIssueLimit: number | null;
22416
22425
  perMemberUseLimit: number | null;
@@ -22479,6 +22488,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
22479
22488
  endsAt: string | null;
22480
22489
  validDaysAfterIssue: number | null;
22481
22490
  totalIssueLimit: number | null;
22491
+ dailyIssueLimit: number | null;
22482
22492
  totalUseLimit: number | null;
22483
22493
  perMemberIssueLimit: number | null;
22484
22494
  perMemberUseLimit: number | null;
@@ -22547,6 +22557,7 @@ export declare function createStoreClient(options: StoreClientOptions): {
22547
22557
  endsAt: string | null;
22548
22558
  validDaysAfterIssue: number | null;
22549
22559
  totalIssueLimit: number | null;
22560
+ dailyIssueLimit: number | null;
22550
22561
  totalUseLimit: number | null;
22551
22562
  perMemberIssueLimit: number | null;
22552
22563
  perMemberUseLimit: number | null;
@@ -29767,10 +29778,10 @@ export declare const storeIndustrySchema: z$1.ZodEnum<{
29767
29778
  export type StoreIndustry = z$1.infer<typeof storeIndustrySchema>;
29768
29779
  /** 상품 자료 — 인터뷰의 「상품 자료」 답. 상품 등록 단계의 방법을 고른다 */
29769
29780
  export declare const brandBriefProductSourceSchema: z$1.ZodEnum<{
29781
+ NONE: "NONE";
29770
29782
  SPREADSHEET: "SPREADSHEET";
29771
29783
  EXISTING_STORE: "EXISTING_STORE";
29772
29784
  PHOTOS: "PHOTOS";
29773
- NONE: "NONE";
29774
29785
  }>;
29775
29786
  export type BrandBriefProductSource = z$1.infer<typeof brandBriefProductSourceSchema>;
29776
29787
  export declare const BRAND_BRIEF_MAX_REFERENCES = 5;
@@ -29795,10 +29806,10 @@ export declare const brandBriefSchema: z$1.ZodObject<{
29795
29806
  summary: z$1.ZodString;
29796
29807
  }, z$1.core.$strip>>;
29797
29808
  productSource: z$1.ZodNullable<z$1.ZodEnum<{
29809
+ NONE: "NONE";
29798
29810
  SPREADSHEET: "SPREADSHEET";
29799
29811
  EXISTING_STORE: "EXISTING_STORE";
29800
29812
  PHOTOS: "PHOTOS";
29801
- NONE: "NONE";
29802
29813
  }>>;
29803
29814
  notes: z$1.ZodNullable<z$1.ZodString>;
29804
29815
  }, z$1.core.$strip>;
@@ -29818,10 +29829,10 @@ export declare const putBrandBriefRequestSchema: z$1.ZodObject<{
29818
29829
  summary: z$1.ZodString;
29819
29830
  }, z$1.core.$strip>>>;
29820
29831
  productSource: z$1.ZodDefault<z$1.ZodNullable<z$1.ZodEnum<{
29832
+ NONE: "NONE";
29821
29833
  SPREADSHEET: "SPREADSHEET";
29822
29834
  EXISTING_STORE: "EXISTING_STORE";
29823
29835
  PHOTOS: "PHOTOS";
29824
- NONE: "NONE";
29825
29836
  }>>>;
29826
29837
  notes: z$1.ZodDefault<z$1.ZodNullable<z$1.ZodString>>;
29827
29838
  }, z$1.core.$strip>;
@@ -29842,10 +29853,10 @@ export declare const brandBriefViewSchema: z$1.ZodObject<{
29842
29853
  summary: z$1.ZodString;
29843
29854
  }, z$1.core.$strip>>;
29844
29855
  productSource: z$1.ZodNullable<z$1.ZodEnum<{
29856
+ NONE: "NONE";
29845
29857
  SPREADSHEET: "SPREADSHEET";
29846
29858
  EXISTING_STORE: "EXISTING_STORE";
29847
29859
  PHOTOS: "PHOTOS";
29848
- NONE: "NONE";
29849
29860
  }>>;
29850
29861
  notes: z$1.ZodNullable<z$1.ZodString>;
29851
29862
  }, z$1.core.$strip>>;
package/dist/index.mjs CHANGED
@@ -9158,6 +9158,7 @@ const descriptions = {
9158
9158
  validDaysAfterIssue: "발급 후 유효 일수 — 발급형(`MANUAL`·`DOWNLOAD`·`SIGNUP`) 쿠폰만. 쿠폰 종료일과 둘 중 먼저 끝나는 쪽이 적용된다",
9159
9159
  totalIssueLimit: "총 발급 수 한도. 생략하면 무제한. 다운로드·회원가입 쿠폰은 한도에 닿으면 더 발급하지 않는다",
9160
9160
  totalUseLimit: "총 사용 수 한도. 결제 중인 예약도 센다. 생략하면 무제한",
9161
+ dailyIssueLimit: "하루 발급 수 한도(이슈 #222) — 한국 시간 0시 기준 하루마다 이 장수까지 발급한다(받기·회원가입·셀러 지급). 생략하면 없다. 코드 입력형에는 두지 않는다",
9161
9162
  perMemberIssueLimit: "1인 발급 수 한도(셀러 지급·다운로드). 생략하면 1인 1장. 회원가입 쿠폰은 1장 고정이라 1만 받는다",
9162
9163
  perMemberUseLimit: "1인 사용 수 한도(코드 입력형). 생략하면 무제한. 비회원에게 여는 쿠폰은 둘 수 없다",
9163
9164
  eligibility: "사용 조건 트리(이슈 #222) — `{ combinator: and|or, rules: [{ field, operator, value } | 그룹] }`, 그룹 3단·규칙 50개까지. 주면 `conditions`의 최소 주문 금액·첫 구매를 쓰지 않는다(`conditions`에는 `memberOnly`만 둔다). 필드 목록은 `COUPON_CONDITION_FIELDS`",
@@ -9211,6 +9212,10 @@ function couponRequestRuleIssues(body) {
9211
9212
  path: ["stacking", "perOrderLimit"],
9212
9213
  message: "한 주문에 두 장 이상은 상품 쿠폰만 쓸 수 있습니다"
9213
9214
  });
9215
+ if (body.issueMethod === "CODE" && body.dailyIssueLimit != null) issues.push({
9216
+ path: ["dailyIssueLimit"],
9217
+ message: "하루 발급 한도는 발급형(셀러 지급·받기·회원가입) 쿠폰에만 둡니다"
9218
+ });
9214
9219
  if (body.issueMethod !== "DOWNLOAD" && (body.issueStartsAt != null || body.issueEndsAt != null || body.visibleFrom != null)) issues.push({
9215
9220
  path: ["issueStartsAt"],
9216
9221
  message: "받기 기간·노출 시작은 받기 쿠폰에만 둡니다"
@@ -9258,6 +9263,7 @@ const createCouponRequestSchema = strictRequest(z$1.strictObject({
9258
9263
  endsAt: couponTimeField(descriptions.endsAt),
9259
9264
  validDaysAfterIssue: z$1.number().int().min(1).max(3650).nullable().optional().describe(descriptions.validDaysAfterIssue),
9260
9265
  totalIssueLimit: limitField(descriptions.totalIssueLimit),
9266
+ dailyIssueLimit: limitField(descriptions.dailyIssueLimit),
9261
9267
  totalUseLimit: limitField(descriptions.totalUseLimit),
9262
9268
  perMemberIssueLimit: limitField(descriptions.perMemberIssueLimit),
9263
9269
  perMemberUseLimit: limitField(descriptions.perMemberUseLimit),
@@ -9301,6 +9307,7 @@ const updateCouponRequestSchema = strictRequest(z$1.strictObject({
9301
9307
  endsAt: couponTimeField(descriptions.endsAt),
9302
9308
  validDaysAfterIssue: z$1.number().int().min(1).max(3650).nullable().optional(),
9303
9309
  totalIssueLimit: limitField(descriptions.totalIssueLimit),
9310
+ dailyIssueLimit: limitField(descriptions.dailyIssueLimit),
9304
9311
  totalUseLimit: limitField(descriptions.totalUseLimit),
9305
9312
  perMemberIssueLimit: limitField(descriptions.perMemberIssueLimit),
9306
9313
  perMemberUseLimit: limitField(descriptions.perMemberUseLimit),
@@ -9324,6 +9331,7 @@ const couponSchema = z$1.object({
9324
9331
  endsAt: z$1.string().nullable(),
9325
9332
  validDaysAfterIssue: z$1.number().int().nullable(),
9326
9333
  totalIssueLimit: z$1.number().int().nullable(),
9334
+ dailyIssueLimit: z$1.number().int().nullable().optional().default(null).describe("하루 발급 수 한도(한국 시간 0시 기준). 없으면 null. 서버는 항상 싣는다"),
9327
9335
  totalUseLimit: z$1.number().int().nullable(),
9328
9336
  perMemberIssueLimit: z$1.number().int().nullable(),
9329
9337
  perMemberUseLimit: z$1.number().int().nullable(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sayren/store-sdk",
3
- "version": "0.49.0",
3
+ "version": "0.50.0",
4
4
  "main": "./dist/index.mjs",
5
5
  "types": "./dist/index.d.mts",
6
6
  "exports": {
@@ -70,6 +70,8 @@ const descriptions = {
70
70
  totalIssueLimit:
71
71
  "총 발급 수 한도. 생략하면 무제한. 다운로드·회원가입 쿠폰은 한도에 닿으면 더 발급하지 않는다",
72
72
  totalUseLimit: "총 사용 수 한도. 결제 중인 예약도 센다. 생략하면 무제한",
73
+ dailyIssueLimit:
74
+ "하루 발급 수 한도(이슈 #222) — 한국 시간 0시 기준 하루마다 이 장수까지 발급한다(받기·회원가입·셀러 지급). 생략하면 없다. 코드 입력형에는 두지 않는다",
73
75
  perMemberIssueLimit:
74
76
  "1인 발급 수 한도(셀러 지급·다운로드). 생략하면 1인 1장. 회원가입 쿠폰은 1장 고정이라 1만 받는다",
75
77
  perMemberUseLimit:
@@ -123,6 +125,7 @@ export function couponRequestRuleIssues(body: {
123
125
  audience?: CouponRuleTrees["eligibility"];
124
126
  stacking?: { perOrderLimit: number };
125
127
  perMemberUseLimit?: number | null;
128
+ dailyIssueLimit?: number | null;
126
129
  issueStartsAt?: string | null;
127
130
  issueEndsAt?: string | null;
128
131
  visibleFrom?: string | null;
@@ -164,6 +167,11 @@ export function couponRequestRuleIssues(body: {
164
167
  path: ["stacking", "perOrderLimit"],
165
168
  message: "한 주문에 두 장 이상은 상품 쿠폰만 쓸 수 있습니다",
166
169
  });
170
+ if (body.issueMethod === "CODE" && body.dailyIssueLimit != null)
171
+ issues.push({
172
+ path: ["dailyIssueLimit"],
173
+ message: "하루 발급 한도는 발급형(셀러 지급·받기·회원가입) 쿠폰에만 둡니다",
174
+ });
167
175
  if (
168
176
  body.issueMethod !== "DOWNLOAD" &&
169
177
  (body.issueStartsAt != null || body.issueEndsAt != null || body.visibleFrom != null)
@@ -243,6 +251,7 @@ export const createCouponRequestSchema = strictRequest(
243
251
  .optional()
244
252
  .describe(descriptions.validDaysAfterIssue),
245
253
  totalIssueLimit: limitField(descriptions.totalIssueLimit),
254
+ dailyIssueLimit: limitField(descriptions.dailyIssueLimit),
246
255
  totalUseLimit: limitField(descriptions.totalUseLimit),
247
256
  perMemberIssueLimit: limitField(descriptions.perMemberIssueLimit),
248
257
  perMemberUseLimit: limitField(descriptions.perMemberUseLimit),
@@ -315,6 +324,7 @@ export const updateCouponRequestSchema = strictRequest(
315
324
  endsAt: couponTimeField(descriptions.endsAt),
316
325
  validDaysAfterIssue: z.number().int().min(1).max(3650).nullable().optional(),
317
326
  totalIssueLimit: limitField(descriptions.totalIssueLimit),
327
+ dailyIssueLimit: limitField(descriptions.dailyIssueLimit),
318
328
  totalUseLimit: limitField(descriptions.totalUseLimit),
319
329
  perMemberIssueLimit: limitField(descriptions.perMemberIssueLimit),
320
330
  perMemberUseLimit: limitField(descriptions.perMemberUseLimit),
@@ -345,6 +355,13 @@ export const couponSchema = z.object({
345
355
  endsAt: z.string().nullable(),
346
356
  validDaysAfterIssue: z.number().int().nullable(),
347
357
  totalIssueLimit: z.number().int().nullable(),
358
+ dailyIssueLimit: z
359
+ .number()
360
+ .int()
361
+ .nullable()
362
+ .optional()
363
+ .default(null)
364
+ .describe("하루 발급 수 한도(한국 시간 0시 기준). 없으면 null. 서버는 항상 싣는다"),
348
365
  totalUseLimit: z.number().int().nullable(),
349
366
  perMemberIssueLimit: z.number().int().nullable(),
350
367
  perMemberUseLimit: z.number().int().nullable(),