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.
- package/docs/sdks/catalog/README.md +7 -3
- package/esm/funcs/catalogGetProductDetail.js +1 -1
- package/esm/funcs/catalogGetProductDetail.js.map +1 -1
- package/esm/funcs/catalogGetVariantDetail.js +1 -1
- package/esm/funcs/catalogGetVariantDetail.js.map +1 -1
- package/esm/funcs/catalogListCrosssellProducts.js +1 -1
- package/esm/funcs/catalogListCrosssellProducts.js.map +1 -1
- package/esm/funcs/catalogListProductVariants.js +1 -1
- package/esm/funcs/catalogListProductVariants.js.map +1 -1
- package/esm/funcs/catalogListProducts.js +1 -1
- package/esm/funcs/catalogListProducts.js.map +1 -1
- package/esm/funcs/catalogListSimilarProducts.js +1 -1
- package/esm/funcs/catalogListSimilarProducts.js.map +1 -1
- package/esm/funcs/catalogListSkus.js +1 -1
- package/esm/funcs/catalogListSkus.js.map +1 -1
- package/esm/funcs/catalogListUpsellProducts.js +1 -1
- package/esm/funcs/catalogListUpsellProducts.js.map +1 -1
- package/esm/funcs/catalogSearchProducts.d.ts +1 -2
- package/esm/funcs/catalogSearchProducts.d.ts.map +1 -1
- package/esm/funcs/catalogSearchProducts.js +4 -4
- package/esm/funcs/catalogSearchProducts.js.map +1 -1
- package/esm/lib/config.d.ts +3 -3
- package/esm/lib/config.js +3 -3
- package/esm/lib/files.d.ts +5 -0
- package/esm/lib/files.d.ts.map +1 -1
- package/esm/lib/files.js +40 -0
- package/esm/lib/files.js.map +1 -1
- package/esm/lib/security.d.ts +2 -2
- package/esm/lib/security.d.ts.map +1 -1
- package/esm/models/components/coloroption.js +1 -1
- package/esm/models/components/coloroption.js.map +1 -1
- package/esm/models/components/customeraddress.js +1 -1
- package/esm/models/components/customeraddress.js.map +1 -1
- package/esm/models/components/customeraddressinput.js +1 -1
- package/esm/models/components/customeraddressinput.js.map +1 -1
- package/esm/models/components/discountbasedpromotion.js +1 -1
- package/esm/models/components/discountbasedpromotion.js.map +1 -1
- package/esm/models/components/fixedpricepromotion.js +1 -1
- package/esm/models/components/fixedpricepromotion.js.map +1 -1
- package/esm/models/components/freegoodspromotion.js +1 -1
- package/esm/models/components/freegoodspromotion.js.map +1 -1
- package/esm/models/components/generateotpwithemail.js +1 -1
- package/esm/models/components/generateotpwithemail.js.map +1 -1
- package/esm/models/components/juspaypaymentinfo.d.ts.map +1 -1
- package/esm/models/components/juspaypaymentinfo.js +3 -2
- package/esm/models/components/juspaypaymentinfo.js.map +1 -1
- package/esm/models/components/orderpayment.d.ts +2 -2
- package/esm/models/components/orderpayment.d.ts.map +1 -1
- package/esm/models/components/orderpayment.js +2 -2
- package/esm/models/components/orderpayment.js.map +1 -1
- package/esm/models/components/payupaymentinfo.js +3 -3
- package/esm/models/components/payupaymentinfo.js.map +1 -1
- package/esm/models/components/productpromotion.d.ts +20 -20
- package/esm/models/components/productpromotion.d.ts.map +1 -1
- package/esm/models/components/productpromotion.js +16 -16
- package/esm/models/components/productpromotion.js.map +1 -1
- package/esm/models/components/searchproduct.d.ts +0 -5
- package/esm/models/components/searchproduct.d.ts.map +1 -1
- package/esm/models/components/searchproduct.js +0 -11
- package/esm/models/components/searchproduct.js.map +1 -1
- package/esm/models/components/singleselectoption.js +1 -1
- package/esm/models/components/singleselectoption.js.map +1 -1
- package/esm/models/components/volumebasedpromotion.js +1 -1
- package/esm/models/components/volumebasedpromotion.js.map +1 -1
- package/esm/models/operations/createaddress.js +1 -1
- package/esm/models/operations/createaddress.js.map +1 -1
- package/esm/models/operations/createorder.d.ts +16 -16
- package/esm/models/operations/createorder.d.ts.map +1 -1
- package/esm/models/operations/createorder.js +12 -12
- package/esm/models/operations/createorder.js.map +1 -1
- package/esm/models/operations/generateotp.d.ts +2 -2
- package/esm/models/operations/generateotp.js +2 -2
- package/esm/models/operations/getaddressdetail.js +1 -1
- package/esm/models/operations/getaddressdetail.js.map +1 -1
- package/esm/models/operations/getproductdetail.d.ts +3 -3
- package/esm/models/operations/getproductdetail.d.ts.map +1 -1
- package/esm/models/operations/getproductdetail.js +4 -4
- package/esm/models/operations/getproductdetail.js.map +1 -1
- package/esm/models/operations/getvariantdetail.d.ts +3 -3
- package/esm/models/operations/getvariantdetail.d.ts.map +1 -1
- package/esm/models/operations/getvariantdetail.js +4 -4
- package/esm/models/operations/getvariantdetail.js.map +1 -1
- package/esm/models/operations/listaddresses.js +1 -1
- package/esm/models/operations/listaddresses.js.map +1 -1
- package/esm/models/operations/listcrosssellproducts.d.ts +3 -3
- package/esm/models/operations/listcrosssellproducts.d.ts.map +1 -1
- package/esm/models/operations/listcrosssellproducts.js +4 -4
- package/esm/models/operations/listcrosssellproducts.js.map +1 -1
- package/esm/models/operations/listproducts.d.ts +3 -3
- package/esm/models/operations/listproducts.d.ts.map +1 -1
- package/esm/models/operations/listproducts.js +4 -4
- package/esm/models/operations/listproducts.js.map +1 -1
- package/esm/models/operations/listproductvariants.d.ts +3 -3
- package/esm/models/operations/listproductvariants.d.ts.map +1 -1
- package/esm/models/operations/listproductvariants.js +4 -4
- package/esm/models/operations/listproductvariants.js.map +1 -1
- package/esm/models/operations/listsimilarproducts.d.ts +3 -3
- package/esm/models/operations/listsimilarproducts.d.ts.map +1 -1
- package/esm/models/operations/listsimilarproducts.js +4 -4
- package/esm/models/operations/listsimilarproducts.js.map +1 -1
- package/esm/models/operations/listskus.d.ts +3 -3
- package/esm/models/operations/listskus.d.ts.map +1 -1
- package/esm/models/operations/listskus.js +4 -4
- package/esm/models/operations/listskus.js.map +1 -1
- package/esm/models/operations/listupsellproducts.d.ts +3 -3
- package/esm/models/operations/listupsellproducts.d.ts.map +1 -1
- package/esm/models/operations/listupsellproducts.js +4 -4
- package/esm/models/operations/listupsellproducts.js.map +1 -1
- package/esm/models/operations/loginwithwhatsapp.js +1 -1
- package/esm/models/operations/loginwithwhatsapp.js.map +1 -1
- package/esm/models/operations/retryorderpayment.d.ts +16 -16
- package/esm/models/operations/retryorderpayment.d.ts.map +1 -1
- package/esm/models/operations/retryorderpayment.js +12 -12
- package/esm/models/operations/retryorderpayment.js.map +1 -1
- package/esm/models/operations/searchproducts.d.ts +30 -0
- package/esm/models/operations/searchproducts.d.ts.map +1 -1
- package/esm/models/operations/searchproducts.js +37 -0
- package/esm/models/operations/searchproducts.js.map +1 -1
- package/esm/models/operations/updateaddressdetail.js +1 -1
- package/esm/models/operations/updateaddressdetail.js.map +1 -1
- package/esm/sdk/catalog.d.ts +1 -2
- package/esm/sdk/catalog.d.ts.map +1 -1
- package/esm/sdk/catalog.js.map +1 -1
- package/esm/types/constdatetime.js +1 -1
- package/jsr.json +1 -1
- package/package.json +1 -1
- package/src/funcs/catalogGetProductDetail.ts +3 -3
- package/src/funcs/catalogGetVariantDetail.ts +3 -3
- package/src/funcs/catalogListCrosssellProducts.ts +3 -3
- package/src/funcs/catalogListProductVariants.ts +3 -3
- package/src/funcs/catalogListProducts.ts +3 -3
- package/src/funcs/catalogListSimilarProducts.ts +3 -3
- package/src/funcs/catalogListSkus.ts +3 -3
- package/src/funcs/catalogListUpsellProducts.ts +3 -3
- package/src/funcs/catalogSearchProducts.ts +10 -6
- package/src/lib/config.ts +3 -3
- package/src/lib/files.ts +42 -0
- package/src/lib/security.ts +2 -2
- package/src/models/components/coloroption.ts +1 -1
- package/src/models/components/customeraddress.ts +1 -1
- package/src/models/components/customeraddressinput.ts +1 -1
- package/src/models/components/discountbasedpromotion.ts +1 -1
- package/src/models/components/fixedpricepromotion.ts +1 -1
- package/src/models/components/freegoodspromotion.ts +1 -1
- package/src/models/components/generateotpwithemail.ts +1 -1
- package/src/models/components/juspaypaymentinfo.ts +3 -2
- package/src/models/components/orderpayment.ts +4 -4
- package/src/models/components/payupaymentinfo.ts +3 -3
- package/src/models/components/productpromotion.ts +48 -48
- package/src/models/components/searchproduct.ts +0 -16
- package/src/models/components/singleselectoption.ts +1 -1
- package/src/models/components/volumebasedpromotion.ts +1 -1
- package/src/models/operations/createaddress.ts +1 -1
- package/src/models/operations/createorder.ts +37 -35
- package/src/models/operations/generateotp.ts +6 -6
- package/src/models/operations/getaddressdetail.ts +1 -1
- package/src/models/operations/getproductdetail.ts +7 -7
- package/src/models/operations/getvariantdetail.ts +7 -7
- package/src/models/operations/listaddresses.ts +1 -1
- package/src/models/operations/listcrosssellproducts.ts +7 -7
- package/src/models/operations/listproducts.ts +7 -7
- package/src/models/operations/listproductvariants.ts +7 -7
- package/src/models/operations/listsimilarproducts.ts +7 -7
- package/src/models/operations/listskus.ts +7 -7
- package/src/models/operations/listupsellproducts.ts +7 -7
- package/src/models/operations/loginwithwhatsapp.ts +1 -1
- package/src/models/operations/retryorderpayment.ts +37 -35
- package/src/models/operations/searchproducts.ts +75 -0
- package/src/models/operations/updateaddressdetail.ts +1 -1
- package/src/sdk/catalog.ts +1 -2
- 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:
|
|
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:
|
|
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) =>
|
|
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.
|
|
84
|
-
genVersion: "2.
|
|
85
|
-
userAgent: "speakeasy-sdk/typescript 0.14.
|
|
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
|
+
}
|
package/src/lib/security.ts
CHANGED
|
@@ -6,8 +6,8 @@ import * as components from "../models/components/index.js";
|
|
|
6
6
|
|
|
7
7
|
type OAuth2PasswordFlow = {
|
|
8
8
|
username: string;
|
|
9
|
-
password
|
|
10
|
-
clientID
|
|
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").
|
|
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
|
-
|
|
91
|
-
z.object({ promotionType: z.literal("
|
|
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
|
-
|
|
96
|
-
z.object({ promotionType: z.literal("
|
|
95
|
+
DiscountBasedPromotion$outboundSchema.and(
|
|
96
|
+
z.object({ promotionType: z.literal("discount") }).transform((v) => ({
|
|
97
97
|
promotion_type: v.promotionType,
|
|
98
98
|
})),
|
|
99
99
|
),
|
|
100
|
-
|
|
101
|
-
z.object({ promotionType: z.literal("
|
|
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
|
-
|
|
106
|
-
z.object({ promotionType: z.literal("
|
|
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
|
-
|
|
202
|
-
z.object({ promotionType: z.literal("
|
|
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
|
-
|
|
207
|
-
z.object({ promotionType: z.literal("
|
|
206
|
+
DiscountBasedPromotion$outboundSchema.and(
|
|
207
|
+
z.object({ promotionType: z.literal("discount") }).transform((v) => ({
|
|
208
208
|
promotion_type: v.promotionType,
|
|
209
209
|
})),
|
|
210
210
|
),
|
|
211
|
-
|
|
212
|
-
z.object({ promotionType: z.literal("
|
|
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
|
-
|
|
217
|
-
z.object({ promotionType: z.literal("
|
|
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(),
|