ce-storefront 0.14.0 → 0.14.1

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.
Files changed (171) hide show
  1. package/docs/sdks/catalog/README.md +7 -3
  2. package/esm/funcs/catalogGetProductDetail.js +1 -1
  3. package/esm/funcs/catalogGetProductDetail.js.map +1 -1
  4. package/esm/funcs/catalogGetVariantDetail.js +1 -1
  5. package/esm/funcs/catalogGetVariantDetail.js.map +1 -1
  6. package/esm/funcs/catalogListCrosssellProducts.js +1 -1
  7. package/esm/funcs/catalogListCrosssellProducts.js.map +1 -1
  8. package/esm/funcs/catalogListProductVariants.js +1 -1
  9. package/esm/funcs/catalogListProductVariants.js.map +1 -1
  10. package/esm/funcs/catalogListProducts.js +1 -1
  11. package/esm/funcs/catalogListProducts.js.map +1 -1
  12. package/esm/funcs/catalogListSimilarProducts.js +1 -1
  13. package/esm/funcs/catalogListSimilarProducts.js.map +1 -1
  14. package/esm/funcs/catalogListSkus.js +1 -1
  15. package/esm/funcs/catalogListSkus.js.map +1 -1
  16. package/esm/funcs/catalogListUpsellProducts.js +1 -1
  17. package/esm/funcs/catalogListUpsellProducts.js.map +1 -1
  18. package/esm/funcs/catalogSearchProducts.d.ts +1 -2
  19. package/esm/funcs/catalogSearchProducts.d.ts.map +1 -1
  20. package/esm/funcs/catalogSearchProducts.js +4 -4
  21. package/esm/funcs/catalogSearchProducts.js.map +1 -1
  22. package/esm/lib/config.d.ts +3 -3
  23. package/esm/lib/config.js +3 -3
  24. package/esm/lib/files.d.ts +5 -0
  25. package/esm/lib/files.d.ts.map +1 -1
  26. package/esm/lib/files.js +40 -0
  27. package/esm/lib/files.js.map +1 -1
  28. package/esm/lib/security.d.ts +2 -2
  29. package/esm/lib/security.d.ts.map +1 -1
  30. package/esm/models/components/coloroption.js +1 -1
  31. package/esm/models/components/coloroption.js.map +1 -1
  32. package/esm/models/components/customeraddress.js +1 -1
  33. package/esm/models/components/customeraddress.js.map +1 -1
  34. package/esm/models/components/customeraddressinput.js +1 -1
  35. package/esm/models/components/customeraddressinput.js.map +1 -1
  36. package/esm/models/components/discountbasedpromotion.js +1 -1
  37. package/esm/models/components/discountbasedpromotion.js.map +1 -1
  38. package/esm/models/components/fixedpricepromotion.js +1 -1
  39. package/esm/models/components/fixedpricepromotion.js.map +1 -1
  40. package/esm/models/components/freegoodspromotion.js +1 -1
  41. package/esm/models/components/freegoodspromotion.js.map +1 -1
  42. package/esm/models/components/generateotpwithemail.js +1 -1
  43. package/esm/models/components/generateotpwithemail.js.map +1 -1
  44. package/esm/models/components/juspaypaymentinfo.d.ts.map +1 -1
  45. package/esm/models/components/juspaypaymentinfo.js +3 -2
  46. package/esm/models/components/juspaypaymentinfo.js.map +1 -1
  47. package/esm/models/components/orderpayment.d.ts +2 -2
  48. package/esm/models/components/orderpayment.d.ts.map +1 -1
  49. package/esm/models/components/orderpayment.js +2 -2
  50. package/esm/models/components/orderpayment.js.map +1 -1
  51. package/esm/models/components/payupaymentinfo.js +3 -3
  52. package/esm/models/components/payupaymentinfo.js.map +1 -1
  53. package/esm/models/components/productpromotion.d.ts +20 -20
  54. package/esm/models/components/productpromotion.d.ts.map +1 -1
  55. package/esm/models/components/productpromotion.js +16 -16
  56. package/esm/models/components/productpromotion.js.map +1 -1
  57. package/esm/models/components/searchproduct.d.ts +0 -5
  58. package/esm/models/components/searchproduct.d.ts.map +1 -1
  59. package/esm/models/components/searchproduct.js +0 -11
  60. package/esm/models/components/searchproduct.js.map +1 -1
  61. package/esm/models/components/singleselectoption.js +1 -1
  62. package/esm/models/components/singleselectoption.js.map +1 -1
  63. package/esm/models/components/volumebasedpromotion.js +1 -1
  64. package/esm/models/components/volumebasedpromotion.js.map +1 -1
  65. package/esm/models/operations/createaddress.js +1 -1
  66. package/esm/models/operations/createaddress.js.map +1 -1
  67. package/esm/models/operations/createorder.d.ts +16 -16
  68. package/esm/models/operations/createorder.d.ts.map +1 -1
  69. package/esm/models/operations/createorder.js +12 -12
  70. package/esm/models/operations/createorder.js.map +1 -1
  71. package/esm/models/operations/generateotp.d.ts +2 -2
  72. package/esm/models/operations/generateotp.js +2 -2
  73. package/esm/models/operations/getaddressdetail.js +1 -1
  74. package/esm/models/operations/getaddressdetail.js.map +1 -1
  75. package/esm/models/operations/getproductdetail.d.ts +3 -3
  76. package/esm/models/operations/getproductdetail.d.ts.map +1 -1
  77. package/esm/models/operations/getproductdetail.js +4 -4
  78. package/esm/models/operations/getproductdetail.js.map +1 -1
  79. package/esm/models/operations/getvariantdetail.d.ts +3 -3
  80. package/esm/models/operations/getvariantdetail.d.ts.map +1 -1
  81. package/esm/models/operations/getvariantdetail.js +4 -4
  82. package/esm/models/operations/getvariantdetail.js.map +1 -1
  83. package/esm/models/operations/listaddresses.js +1 -1
  84. package/esm/models/operations/listaddresses.js.map +1 -1
  85. package/esm/models/operations/listcrosssellproducts.d.ts +3 -3
  86. package/esm/models/operations/listcrosssellproducts.d.ts.map +1 -1
  87. package/esm/models/operations/listcrosssellproducts.js +4 -4
  88. package/esm/models/operations/listcrosssellproducts.js.map +1 -1
  89. package/esm/models/operations/listproducts.d.ts +3 -3
  90. package/esm/models/operations/listproducts.d.ts.map +1 -1
  91. package/esm/models/operations/listproducts.js +4 -4
  92. package/esm/models/operations/listproducts.js.map +1 -1
  93. package/esm/models/operations/listproductvariants.d.ts +3 -3
  94. package/esm/models/operations/listproductvariants.d.ts.map +1 -1
  95. package/esm/models/operations/listproductvariants.js +4 -4
  96. package/esm/models/operations/listproductvariants.js.map +1 -1
  97. package/esm/models/operations/listsimilarproducts.d.ts +3 -3
  98. package/esm/models/operations/listsimilarproducts.d.ts.map +1 -1
  99. package/esm/models/operations/listsimilarproducts.js +4 -4
  100. package/esm/models/operations/listsimilarproducts.js.map +1 -1
  101. package/esm/models/operations/listskus.d.ts +3 -3
  102. package/esm/models/operations/listskus.d.ts.map +1 -1
  103. package/esm/models/operations/listskus.js +4 -4
  104. package/esm/models/operations/listskus.js.map +1 -1
  105. package/esm/models/operations/listupsellproducts.d.ts +3 -3
  106. package/esm/models/operations/listupsellproducts.d.ts.map +1 -1
  107. package/esm/models/operations/listupsellproducts.js +4 -4
  108. package/esm/models/operations/listupsellproducts.js.map +1 -1
  109. package/esm/models/operations/loginwithwhatsapp.js +1 -1
  110. package/esm/models/operations/loginwithwhatsapp.js.map +1 -1
  111. package/esm/models/operations/retryorderpayment.d.ts +16 -16
  112. package/esm/models/operations/retryorderpayment.d.ts.map +1 -1
  113. package/esm/models/operations/retryorderpayment.js +12 -12
  114. package/esm/models/operations/retryorderpayment.js.map +1 -1
  115. package/esm/models/operations/searchproducts.d.ts +30 -0
  116. package/esm/models/operations/searchproducts.d.ts.map +1 -1
  117. package/esm/models/operations/searchproducts.js +37 -0
  118. package/esm/models/operations/searchproducts.js.map +1 -1
  119. package/esm/models/operations/updateaddressdetail.js +1 -1
  120. package/esm/models/operations/updateaddressdetail.js.map +1 -1
  121. package/esm/sdk/catalog.d.ts +1 -2
  122. package/esm/sdk/catalog.d.ts.map +1 -1
  123. package/esm/sdk/catalog.js.map +1 -1
  124. package/esm/types/constdatetime.js +1 -1
  125. package/jsr.json +1 -1
  126. package/package.json +1 -1
  127. package/src/funcs/catalogGetProductDetail.ts +3 -3
  128. package/src/funcs/catalogGetVariantDetail.ts +3 -3
  129. package/src/funcs/catalogListCrosssellProducts.ts +3 -3
  130. package/src/funcs/catalogListProductVariants.ts +3 -3
  131. package/src/funcs/catalogListProducts.ts +3 -3
  132. package/src/funcs/catalogListSimilarProducts.ts +3 -3
  133. package/src/funcs/catalogListSkus.ts +3 -3
  134. package/src/funcs/catalogListUpsellProducts.ts +3 -3
  135. package/src/funcs/catalogSearchProducts.ts +10 -6
  136. package/src/lib/config.ts +3 -3
  137. package/src/lib/files.ts +42 -0
  138. package/src/lib/security.ts +2 -2
  139. package/src/models/components/coloroption.ts +1 -1
  140. package/src/models/components/customeraddress.ts +1 -1
  141. package/src/models/components/customeraddressinput.ts +1 -1
  142. package/src/models/components/discountbasedpromotion.ts +1 -1
  143. package/src/models/components/fixedpricepromotion.ts +1 -1
  144. package/src/models/components/freegoodspromotion.ts +1 -1
  145. package/src/models/components/generateotpwithemail.ts +1 -1
  146. package/src/models/components/juspaypaymentinfo.ts +3 -2
  147. package/src/models/components/orderpayment.ts +4 -4
  148. package/src/models/components/payupaymentinfo.ts +3 -3
  149. package/src/models/components/productpromotion.ts +48 -48
  150. package/src/models/components/searchproduct.ts +0 -16
  151. package/src/models/components/singleselectoption.ts +1 -1
  152. package/src/models/components/volumebasedpromotion.ts +1 -1
  153. package/src/models/operations/createaddress.ts +1 -1
  154. package/src/models/operations/createorder.ts +37 -35
  155. package/src/models/operations/generateotp.ts +6 -6
  156. package/src/models/operations/getaddressdetail.ts +1 -1
  157. package/src/models/operations/getproductdetail.ts +7 -7
  158. package/src/models/operations/getvariantdetail.ts +7 -7
  159. package/src/models/operations/listaddresses.ts +1 -1
  160. package/src/models/operations/listcrosssellproducts.ts +7 -7
  161. package/src/models/operations/listproducts.ts +7 -7
  162. package/src/models/operations/listproductvariants.ts +7 -7
  163. package/src/models/operations/listsimilarproducts.ts +7 -7
  164. package/src/models/operations/listskus.ts +7 -7
  165. package/src/models/operations/listupsellproducts.ts +7 -7
  166. package/src/models/operations/loginwithwhatsapp.ts +1 -1
  167. package/src/models/operations/retryorderpayment.ts +37 -35
  168. package/src/models/operations/searchproducts.ts +75 -0
  169. package/src/models/operations/updateaddressdetail.ts +1 -1
  170. package/src/sdk/catalog.ts +1 -2
  171. package/src/types/constdatetime.ts +1 -1
@@ -3,14 +3,13 @@
3
3
  */
4
4
 
5
5
  import { CeStorefrontCore } from "../core.js";
6
- import { encodeJSON } from "../lib/encodings.js";
6
+ import { encodeJSON, encodeSimple } from "../lib/encodings.js";
7
7
  import * as M from "../lib/matchers.js";
8
8
  import { compactMap } from "../lib/primitives.js";
9
9
  import { safeParse } from "../lib/schemas.js";
10
10
  import { RequestOptions } from "../lib/sdks.js";
11
11
  import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
12
12
  import { pathToFunc } from "../lib/url.js";
13
- import * as components from "../models/components/index.js";
14
13
  import { CeStorefrontError } from "../models/errors/cestorefronterror.js";
15
14
  import {
16
15
  ConnectionError,
@@ -34,7 +33,7 @@ import { Result } from "../types/fp.js";
34
33
  */
35
34
  export function catalogSearchProducts(
36
35
  client: CeStorefrontCore,
37
- request: components.SearchProduct,
36
+ request: operations.SearchProductsRequest,
38
37
  options?: RequestOptions,
39
38
  ): APIPromise<
40
39
  Result<
@@ -59,7 +58,7 @@ export function catalogSearchProducts(
59
58
 
60
59
  async function $do(
61
60
  client: CeStorefrontCore,
62
- request: components.SearchProduct,
61
+ request: operations.SearchProductsRequest,
63
62
  options?: RequestOptions,
64
63
  ): Promise<
65
64
  [
@@ -80,20 +79,25 @@ async function $do(
80
79
  > {
81
80
  const parsed = safeParse(
82
81
  request,
83
- (value) => components.SearchProduct$outboundSchema.parse(value),
82
+ (value) => operations.SearchProductsRequest$outboundSchema.parse(value),
84
83
  "Input validation failed",
85
84
  );
86
85
  if (!parsed.ok) {
87
86
  return [parsed, { status: "invalid" }];
88
87
  }
89
88
  const payload = parsed.value;
90
- const body = encodeJSON("body", payload, { explode: true });
89
+ const body = encodeJSON("body", payload.SearchProduct, { explode: true });
91
90
 
92
91
  const path = pathToFunc("/catalog/products/search")();
93
92
 
94
93
  const headers = new Headers(compactMap({
95
94
  "Content-Type": "application/json",
96
95
  Accept: "application/json",
96
+ "x-customer-group-id": encodeSimple(
97
+ "x-customer-group-id",
98
+ payload["x-customer-group-id"],
99
+ { explode: false, charEncoding: "none" },
100
+ ),
97
101
  }));
98
102
 
99
103
  const secConfig = await extractSecurity(client._options.authorization);
package/src/lib/config.ts CHANGED
@@ -80,7 +80,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
80
80
  export const SDK_METADATA = {
81
81
  language: "typescript",
82
82
  openapiDocVersion: "1.0",
83
- sdkVersion: "0.14.0",
84
- genVersion: "2.623.0",
85
- userAgent: "speakeasy-sdk/typescript 0.14.0 2.623.0 1.0 ce-storefront",
83
+ sdkVersion: "0.14.1",
84
+ genVersion: "2.632.2",
85
+ userAgent: "speakeasy-sdk/typescript 0.14.1 2.632.2 1.0 ce-storefront",
86
86
  } as const;
package/src/lib/files.ts CHANGED
@@ -38,3 +38,45 @@ export async function readableStreamToArrayBuffer(
38
38
 
39
39
  return concatenatedChunks.buffer as ArrayBuffer;
40
40
  }
41
+
42
+ /**
43
+ * Determines the MIME content type based on a file's extension.
44
+ * Returns null if the extension is not recognized.
45
+ */
46
+ export function getContentTypeFromFileName(fileName: string): string | null {
47
+ if (!fileName) return null;
48
+
49
+ const ext = fileName.toLowerCase().split(".").pop();
50
+ if (!ext) return null;
51
+
52
+ const mimeTypes: Record<string, string> = {
53
+ json: "application/json",
54
+ xml: "application/xml",
55
+ html: "text/html",
56
+ htm: "text/html",
57
+ txt: "text/plain",
58
+ csv: "text/csv",
59
+ pdf: "application/pdf",
60
+ png: "image/png",
61
+ jpg: "image/jpeg",
62
+ jpeg: "image/jpeg",
63
+ gif: "image/gif",
64
+ svg: "image/svg+xml",
65
+ js: "application/javascript",
66
+ css: "text/css",
67
+ zip: "application/zip",
68
+ tar: "application/x-tar",
69
+ gz: "application/gzip",
70
+ mp4: "video/mp4",
71
+ mp3: "audio/mpeg",
72
+ wav: "audio/wav",
73
+ webp: "image/webp",
74
+ ico: "image/x-icon",
75
+ woff: "font/woff",
76
+ woff2: "font/woff2",
77
+ ttf: "font/ttf",
78
+ otf: "font/otf",
79
+ };
80
+
81
+ return mimeTypes[ext] || null;
82
+ }
@@ -6,8 +6,8 @@ import * as components from "../models/components/index.js";
6
6
 
7
7
  type OAuth2PasswordFlow = {
8
8
  username: string;
9
- password?: string | undefined;
10
- clientID: string;
9
+ password: string;
10
+ clientID?: string | undefined;
11
11
  clientSecret?: string | undefined;
12
12
  tokenURL: string;
13
13
  };
@@ -94,7 +94,7 @@ export const ColorOption$inboundSchema: z.ZodType<
94
94
  unknown
95
95
  > = z.object({
96
96
  name: z.string(),
97
- type: z.literal("color").optional(),
97
+ type: z.literal("color").default("color").optional(),
98
98
  value: z.lazy(() => ColorOptionValue$inboundSchema),
99
99
  });
100
100
 
@@ -63,7 +63,7 @@ export const CustomerAddress$inboundSchema: z.ZodType<
63
63
  pincode: z.string(),
64
64
  city: z.string(),
65
65
  state: z.string(),
66
- country: z.literal("India").optional(),
66
+ country: z.literal("India").default("India").optional(),
67
67
  tax_identification_number: z.nullable(z.string()),
68
68
  business_name: z.nullable(z.string()),
69
69
  is_phone_verified: z.boolean(),
@@ -61,7 +61,7 @@ export const CustomerAddressInput$inboundSchema: z.ZodType<
61
61
  pincode: z.string(),
62
62
  city: z.string(),
63
63
  state: z.string(),
64
- country: z.literal("India").optional(),
64
+ country: z.literal("India").default("India").optional(),
65
65
  tax_identification_number: z.nullable(z.string()),
66
66
  business_name: z.nullable(z.string()),
67
67
  }).transform((v) => {
@@ -82,7 +82,7 @@ export const DiscountBasedPromotion$inboundSchema: z.ZodType<
82
82
  z.ZodTypeDef,
83
83
  unknown
84
84
  > = z.object({
85
- promotion_type: z.literal("discount").optional(),
85
+ promotion_type: z.literal("discount").default("discount").optional(),
86
86
  discount_type: DiscountType$inboundSchema,
87
87
  discount_percent: z.number().optional(),
88
88
  discount_fixed_amount: z.number().int().optional(),
@@ -51,7 +51,7 @@ export const FixedPricePromotion$inboundSchema: z.ZodType<
51
51
  z.ZodTypeDef,
52
52
  unknown
53
53
  > = z.object({
54
- promotion_type: z.literal("fixed-price").optional(),
54
+ promotion_type: z.literal("fixed-price").default("fixed-price").optional(),
55
55
  offer_price: z.number(),
56
56
  }).transform((v) => {
57
57
  return remap$(v, {
@@ -58,7 +58,7 @@ export const FreeGoodsPromotion$inboundSchema: z.ZodType<
58
58
  z.ZodTypeDef,
59
59
  unknown
60
60
  > = z.object({
61
- promotion_type: z.literal("free-goods").optional(),
61
+ promotion_type: z.literal("free-goods").default("free-goods").optional(),
62
62
  buy_quantity: z.number().int(),
63
63
  get_quantity: z.number().int(),
64
64
  }).transform((v) => {
@@ -52,7 +52,7 @@ export const GenerateOtpWithEmail$inboundSchema: z.ZodType<
52
52
  z.ZodTypeDef,
53
53
  unknown
54
54
  > = z.object({
55
- channel: z.literal("email").optional(),
55
+ channel: z.literal("email").default("email").optional(),
56
56
  email: z.string(),
57
57
  otp_action: GenerateOtpWithEmailOtpAction$inboundSchema,
58
58
  }).transform((v) => {
@@ -203,11 +203,12 @@ export const Payload$inboundSchema: z.ZodType<Payload, z.ZodTypeDef, unknown> =
203
203
  customerEmail: z.string().optional(),
204
204
  currency: z.string().optional(),
205
205
  description: z.string().optional(),
206
- "options.createMandate": z.literal("REQUIRED").optional(),
206
+ "options.createMandate": z.literal("REQUIRED").default("REQUIRED")
207
+ .optional(),
207
208
  "mandate.maxAmount": z.string().optional(),
208
209
  "mandate.start_date ": z.string().optional(),
209
210
  "mandate.end_date ": z.string().optional(),
210
- "mandate.frequency": z.literal("MONTHLY").optional(),
211
+ "mandate.frequency": z.literal("MONTHLY").default("MONTHLY").optional(),
211
212
  "mandate.rule_value ": MandateRuleValue$inboundSchema.optional(),
212
213
  }).transform((v) => {
213
214
  return remap$(v, {
@@ -41,10 +41,10 @@ import {
41
41
  * Order Payment
42
42
  */
43
43
  export type OrderPayment =
44
+ | CardPayment
44
45
  | NetbankingPayment
45
46
  | UpiPayment
46
47
  | WalletPayment
47
- | CardPayment
48
48
  | BankTransfer;
49
49
 
50
50
  /** @internal */
@@ -53,19 +53,19 @@ export const OrderPayment$inboundSchema: z.ZodType<
53
53
  z.ZodTypeDef,
54
54
  unknown
55
55
  > = z.union([
56
+ CardPayment$inboundSchema,
56
57
  NetbankingPayment$inboundSchema,
57
58
  UpiPayment$inboundSchema,
58
59
  WalletPayment$inboundSchema,
59
- CardPayment$inboundSchema,
60
60
  BankTransfer$inboundSchema,
61
61
  ]);
62
62
 
63
63
  /** @internal */
64
64
  export type OrderPayment$Outbound =
65
+ | CardPayment$Outbound
65
66
  | NetbankingPayment$Outbound
66
67
  | UpiPayment$Outbound
67
68
  | WalletPayment$Outbound
68
- | CardPayment$Outbound
69
69
  | BankTransfer$Outbound;
70
70
 
71
71
  /** @internal */
@@ -74,10 +74,10 @@ export const OrderPayment$outboundSchema: z.ZodType<
74
74
  z.ZodTypeDef,
75
75
  OrderPayment
76
76
  > = z.union([
77
+ CardPayment$outboundSchema,
77
78
  NetbankingPayment$outboundSchema,
78
79
  UpiPayment$outboundSchema,
79
80
  WalletPayment$outboundSchema,
80
- CardPayment$outboundSchema,
81
81
  BankTransfer$outboundSchema,
82
82
  ]);
83
83
 
@@ -81,8 +81,8 @@ export const SiDetails$inboundSchema: z.ZodType<
81
81
  unknown
82
82
  > = z.object({
83
83
  billingAmount: z.number().optional(),
84
- billingCurrency: z.literal("INR").optional(),
85
- billingCycle: z.literal("MONTHLY").optional(),
84
+ billingCurrency: z.literal("INR").default("INR").optional(),
85
+ billingCycle: z.literal("MONTHLY").default("MONTHLY").optional(),
86
86
  billingInterval: z.number().int().optional(),
87
87
  paymentStartDate: z.string().transform(v => new RFCDate(v)).optional(),
88
88
  paymentEndDate: z.string().transform(v => new RFCDate(v)).optional(),
@@ -154,7 +154,7 @@ export const PayuPaymentInfo$inboundSchema: z.ZodType<
154
154
  lastname: z.string().optional(),
155
155
  email: z.string().optional(),
156
156
  phone: z.string().optional(),
157
- si: z.literal(1).optional(),
157
+ si: z.literal(1).default(1).optional(),
158
158
  si_details: z.lazy(() => SiDetails$inboundSchema).optional(),
159
159
  furl: z.string().optional(),
160
160
  surl: z.string().optional(),
@@ -33,35 +33,25 @@ import {
33
33
  } from "./volumebasedpromotion.js";
34
34
 
35
35
  export type Details =
36
- | (FixedPricePromotion & { promotionType: "fixed-price" })
37
- | (VolumeBasedPromotion & { promotionType: "volume-based" })
38
36
  | (FreeGoodsPromotion & { promotionType: "free-goods" })
39
- | (DiscountBasedPromotion & { promotionType: "discount" });
37
+ | (DiscountBasedPromotion & { promotionType: "discount" })
38
+ | (FixedPricePromotion & { promotionType: "fixed-price" })
39
+ | (VolumeBasedPromotion & { promotionType: "volume-based" });
40
40
 
41
41
  export type ProductPromotion = {
42
42
  id: string;
43
43
  startsAt: Date;
44
44
  expiresAt: Date | null;
45
45
  details:
46
- | (FixedPricePromotion & { promotionType: "fixed-price" })
47
- | (VolumeBasedPromotion & { promotionType: "volume-based" })
48
46
  | (FreeGoodsPromotion & { promotionType: "free-goods" })
49
- | (DiscountBasedPromotion & { promotionType: "discount" });
47
+ | (DiscountBasedPromotion & { promotionType: "discount" })
48
+ | (FixedPricePromotion & { promotionType: "fixed-price" })
49
+ | (VolumeBasedPromotion & { promotionType: "volume-based" });
50
50
  };
51
51
 
52
52
  /** @internal */
53
53
  export const Details$inboundSchema: z.ZodType<Details, z.ZodTypeDef, unknown> =
54
54
  z.union([
55
- FixedPricePromotion$inboundSchema.and(
56
- z.object({ promotion_type: z.literal("fixed-price") }).transform((v) => ({
57
- promotionType: v.promotion_type,
58
- })),
59
- ),
60
- VolumeBasedPromotion$inboundSchema.and(
61
- z.object({ promotion_type: z.literal("volume-based") }).transform((
62
- v,
63
- ) => ({ promotionType: v.promotion_type })),
64
- ),
65
55
  FreeGoodsPromotion$inboundSchema.and(
66
56
  z.object({ promotion_type: z.literal("free-goods") }).transform((v) => ({
67
57
  promotionType: v.promotion_type,
@@ -72,14 +62,24 @@ export const Details$inboundSchema: z.ZodType<Details, z.ZodTypeDef, unknown> =
72
62
  promotionType: v.promotion_type,
73
63
  })),
74
64
  ),
65
+ FixedPricePromotion$inboundSchema.and(
66
+ z.object({ promotion_type: z.literal("fixed-price") }).transform((v) => ({
67
+ promotionType: v.promotion_type,
68
+ })),
69
+ ),
70
+ VolumeBasedPromotion$inboundSchema.and(
71
+ z.object({ promotion_type: z.literal("volume-based") }).transform((
72
+ v,
73
+ ) => ({ promotionType: v.promotion_type })),
74
+ ),
75
75
  ]);
76
76
 
77
77
  /** @internal */
78
78
  export type Details$Outbound =
79
- | (FixedPricePromotion$Outbound & { promotion_type: "fixed-price" })
80
- | (VolumeBasedPromotion$Outbound & { promotion_type: "volume-based" })
81
79
  | (FreeGoodsPromotion$Outbound & { promotion_type: "free-goods" })
82
- | (DiscountBasedPromotion$Outbound & { promotion_type: "discount" });
80
+ | (DiscountBasedPromotion$Outbound & { promotion_type: "discount" })
81
+ | (FixedPricePromotion$Outbound & { promotion_type: "fixed-price" })
82
+ | (VolumeBasedPromotion$Outbound & { promotion_type: "volume-based" });
83
83
 
84
84
  /** @internal */
85
85
  export const Details$outboundSchema: z.ZodType<
@@ -87,23 +87,23 @@ export const Details$outboundSchema: z.ZodType<
87
87
  z.ZodTypeDef,
88
88
  Details
89
89
  > = z.union([
90
- FixedPricePromotion$outboundSchema.and(
91
- z.object({ promotionType: z.literal("fixed-price") }).transform((v) => ({
90
+ FreeGoodsPromotion$outboundSchema.and(
91
+ z.object({ promotionType: z.literal("free-goods") }).transform((v) => ({
92
92
  promotion_type: v.promotionType,
93
93
  })),
94
94
  ),
95
- VolumeBasedPromotion$outboundSchema.and(
96
- z.object({ promotionType: z.literal("volume-based") }).transform((v) => ({
95
+ DiscountBasedPromotion$outboundSchema.and(
96
+ z.object({ promotionType: z.literal("discount") }).transform((v) => ({
97
97
  promotion_type: v.promotionType,
98
98
  })),
99
99
  ),
100
- FreeGoodsPromotion$outboundSchema.and(
101
- z.object({ promotionType: z.literal("free-goods") }).transform((v) => ({
100
+ FixedPricePromotion$outboundSchema.and(
101
+ z.object({ promotionType: z.literal("fixed-price") }).transform((v) => ({
102
102
  promotion_type: v.promotionType,
103
103
  })),
104
104
  ),
105
- DiscountBasedPromotion$outboundSchema.and(
106
- z.object({ promotionType: z.literal("discount") }).transform((v) => ({
105
+ VolumeBasedPromotion$outboundSchema.and(
106
+ z.object({ promotionType: z.literal("volume-based") }).transform((v) => ({
107
107
  promotion_type: v.promotionType,
108
108
  })),
109
109
  ),
@@ -148,16 +148,6 @@ export const ProductPromotion$inboundSchema: z.ZodType<
148
148
  z.string().datetime({ offset: true }).transform(v => new Date(v)),
149
149
  ),
150
150
  details: z.union([
151
- FixedPricePromotion$inboundSchema.and(
152
- z.object({ promotion_type: z.literal("fixed-price") }).transform((v) => ({
153
- promotionType: v.promotion_type,
154
- })),
155
- ),
156
- VolumeBasedPromotion$inboundSchema.and(
157
- z.object({ promotion_type: z.literal("volume-based") }).transform((
158
- v,
159
- ) => ({ promotionType: v.promotion_type })),
160
- ),
161
151
  FreeGoodsPromotion$inboundSchema.and(
162
152
  z.object({ promotion_type: z.literal("free-goods") }).transform((v) => ({
163
153
  promotionType: v.promotion_type,
@@ -168,6 +158,16 @@ export const ProductPromotion$inboundSchema: z.ZodType<
168
158
  promotionType: v.promotion_type,
169
159
  })),
170
160
  ),
161
+ FixedPricePromotion$inboundSchema.and(
162
+ z.object({ promotion_type: z.literal("fixed-price") }).transform((v) => ({
163
+ promotionType: v.promotion_type,
164
+ })),
165
+ ),
166
+ VolumeBasedPromotion$inboundSchema.and(
167
+ z.object({ promotion_type: z.literal("volume-based") }).transform((
168
+ v,
169
+ ) => ({ promotionType: v.promotion_type })),
170
+ ),
171
171
  ]),
172
172
  }).transform((v) => {
173
173
  return remap$(v, {
@@ -182,10 +182,10 @@ export type ProductPromotion$Outbound = {
182
182
  starts_at: string;
183
183
  expires_at: string | null;
184
184
  details:
185
- | (FixedPricePromotion$Outbound & { promotion_type: "fixed-price" })
186
- | (VolumeBasedPromotion$Outbound & { promotion_type: "volume-based" })
187
185
  | (FreeGoodsPromotion$Outbound & { promotion_type: "free-goods" })
188
- | (DiscountBasedPromotion$Outbound & { promotion_type: "discount" });
186
+ | (DiscountBasedPromotion$Outbound & { promotion_type: "discount" })
187
+ | (FixedPricePromotion$Outbound & { promotion_type: "fixed-price" })
188
+ | (VolumeBasedPromotion$Outbound & { promotion_type: "volume-based" });
189
189
  };
190
190
 
191
191
  /** @internal */
@@ -198,23 +198,23 @@ export const ProductPromotion$outboundSchema: z.ZodType<
198
198
  startsAt: z.date().transform(v => v.toISOString()),
199
199
  expiresAt: z.nullable(z.date().transform(v => v.toISOString())),
200
200
  details: z.union([
201
- FixedPricePromotion$outboundSchema.and(
202
- z.object({ promotionType: z.literal("fixed-price") }).transform((v) => ({
201
+ FreeGoodsPromotion$outboundSchema.and(
202
+ z.object({ promotionType: z.literal("free-goods") }).transform((v) => ({
203
203
  promotion_type: v.promotionType,
204
204
  })),
205
205
  ),
206
- VolumeBasedPromotion$outboundSchema.and(
207
- z.object({ promotionType: z.literal("volume-based") }).transform((v) => ({
206
+ DiscountBasedPromotion$outboundSchema.and(
207
+ z.object({ promotionType: z.literal("discount") }).transform((v) => ({
208
208
  promotion_type: v.promotionType,
209
209
  })),
210
210
  ),
211
- FreeGoodsPromotion$outboundSchema.and(
212
- z.object({ promotionType: z.literal("free-goods") }).transform((v) => ({
211
+ FixedPricePromotion$outboundSchema.and(
212
+ z.object({ promotionType: z.literal("fixed-price") }).transform((v) => ({
213
213
  promotion_type: v.promotionType,
214
214
  })),
215
215
  ),
216
- DiscountBasedPromotion$outboundSchema.and(
217
- z.object({ promotionType: z.literal("discount") }).transform((v) => ({
216
+ VolumeBasedPromotion$outboundSchema.and(
217
+ z.object({ promotionType: z.literal("volume-based") }).transform((v) => ({
218
218
  promotion_type: v.promotionType,
219
219
  })),
220
220
  ),
@@ -3,7 +3,6 @@
3
3
  */
4
4
 
5
5
  import * as z from "zod";
6
- import { remap as remap$ } from "../../lib/primitives.js";
7
6
  import { safeParse } from "../../lib/schemas.js";
8
7
  import { Result as SafeParseResult } from "../../types/fp.js";
9
8
  import { SDKValidationError } from "../errors/sdkvalidationerror.js";
@@ -24,10 +23,6 @@ export type SearchProduct = {
24
23
  * Maximum number of records returned for a page.
25
24
  */
26
25
  limit?: number | undefined;
27
- /**
28
- * to return pricing, promotion and subscriptions data for a specific customer group. Otherwise it will return data as per default customer group.
29
- */
30
- customerGroupId?: string | undefined;
31
26
  /**
32
27
  * provide list of attributes for specific facets or * for all facets.
33
28
  *
@@ -51,12 +46,7 @@ export const SearchProduct$inboundSchema: z.ZodType<
51
46
  query: z.string(),
52
47
  page: z.number().int().default(1),
53
48
  limit: z.number().int().default(25),
54
- customer_group_id: z.string().optional(),
55
49
  facets: z.array(z.string()).optional(),
56
- }).transform((v) => {
57
- return remap$(v, {
58
- "customer_group_id": "customerGroupId",
59
- });
60
50
  });
61
51
 
62
52
  /** @internal */
@@ -64,7 +54,6 @@ export type SearchProduct$Outbound = {
64
54
  query: string;
65
55
  page: number;
66
56
  limit: number;
67
- customer_group_id?: string | undefined;
68
57
  facets?: Array<string> | undefined;
69
58
  };
70
59
 
@@ -77,12 +66,7 @@ export const SearchProduct$outboundSchema: z.ZodType<
77
66
  query: z.string(),
78
67
  page: z.number().int().default(1),
79
68
  limit: z.number().int().default(25),
80
- customerGroupId: z.string().optional(),
81
69
  facets: z.array(z.string()).optional(),
82
- }).transform((v) => {
83
- return remap$(v, {
84
- customerGroupId: "customer_group_id",
85
- });
86
70
  });
87
71
 
88
72
  /**
@@ -29,7 +29,7 @@ export const SingleSelectOption$inboundSchema: z.ZodType<
29
29
  unknown
30
30
  > = z.object({
31
31
  name: z.string(),
32
- type: z.literal("single-select").optional(),
32
+ type: z.literal("single-select").default("single-select").optional(),
33
33
  value: z.string(),
34
34
  });
35
35
 
@@ -123,7 +123,7 @@ export const VolumeBasedPromotion$inboundSchema: z.ZodType<
123
123
  z.ZodTypeDef,
124
124
  unknown
125
125
  > = z.object({
126
- promotion_type: z.literal("volume-based").optional(),
126
+ promotion_type: z.literal("volume-based").default("volume-based").optional(),
127
127
  slabs: z.array(z.lazy(() => Slabs$inboundSchema)),
128
128
  }).transform((v) => {
129
129
  return remap$(v, {
@@ -91,7 +91,7 @@ export const CreateAddressRequestBody$inboundSchema: z.ZodType<
91
91
  pincode: z.string(),
92
92
  city: z.string(),
93
93
  state: z.string(),
94
- country: z.literal("India").optional(),
94
+ country: z.literal("India").default("India").optional(),
95
95
  tax_identification_number: z.nullable(z.string()),
96
96
  business_name: z.nullable(z.string()),
97
97
  is_default_billing: z.boolean().optional(),