@edgebound/bigcommerce 0.3.0 → 0.3.2
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/{chunk-PAXNZ36X.mjs → chunk-V2WZ3SDN.mjs} +10 -3
- package/dist/chunk-V2WZ3SDN.mjs.map +1 -0
- package/dist/companies.d.mts +115 -1
- package/dist/companies.d.ts +115 -1
- package/dist/companies.js +125 -13
- package/dist/companies.js.map +1 -1
- package/dist/companies.mjs +111 -12
- package/dist/companies.mjs.map +1 -1
- package/dist/customers.d.mts +79 -1
- package/dist/customers.d.ts +79 -1
- package/dist/customers.js +143 -45
- package/dist/customers.js.map +1 -1
- package/dist/customers.mjs +131 -44
- package/dist/customers.mjs.map +1 -1
- package/dist/index.js +9 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/orders.d.mts +7 -1254
- package/dist/orders.d.ts +7 -1254
- package/dist/orders.js +14 -9
- package/dist/orders.js.map +1 -1
- package/dist/orders.mjs +6 -8
- package/dist/orders.mjs.map +1 -1
- package/dist/payments.js +9 -2
- package/dist/payments.js.map +1 -1
- package/dist/payments.mjs +1 -1
- package/dist/priceLists.js +9 -2
- package/dist/priceLists.js.map +1 -1
- package/dist/priceLists.mjs +1 -1
- package/dist/products.js +9 -2
- package/dist/products.js.map +1 -1
- package/dist/products.mjs +1 -1
- package/dist/salesStaff.js +9 -2
- package/dist/salesStaff.js.map +1 -1
- package/dist/salesStaff.mjs +1 -1
- package/dist/webhooks.d.mts +6 -4
- package/dist/webhooks.d.ts +6 -4
- package/dist/webhooks.js +5 -3
- package/dist/webhooks.js.map +1 -1
- package/dist/webhooks.mjs +5 -3
- package/dist/webhooks.mjs.map +1 -1
- package/package.json +3 -3
- package/dist/chunk-PAXNZ36X.mjs.map +0 -1
package/dist/customers.d.ts
CHANGED
|
@@ -43,6 +43,84 @@ declare const createCustomerGroup: (data: z.input<typeof CreateCustomerGroupSche
|
|
|
43
43
|
id: number;
|
|
44
44
|
}, SomeBigCommerceError | InputValidationError, BigCommerceFetcher>;
|
|
45
45
|
|
|
46
|
+
declare const FindCustomerAddressesCriteriaSchema: z.ZodObject<{
|
|
47
|
+
'id:in': z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodInt>, z.ZodTransform<string, number[]>>>;
|
|
48
|
+
page: z.ZodOptional<z.ZodInt>;
|
|
49
|
+
limit: z.ZodOptional<z.ZodInt>;
|
|
50
|
+
'customer_id:in': z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodInt>, z.ZodTransform<string, number[]>>>;
|
|
51
|
+
}, z.core.$strip>;
|
|
52
|
+
declare const FindCustomerAddressesResponseSchema: z.ZodObject<{
|
|
53
|
+
data: z.ZodArray<z.ZodObject<{
|
|
54
|
+
address1: z.ZodString;
|
|
55
|
+
address2: z.ZodString;
|
|
56
|
+
address_type: z.ZodString;
|
|
57
|
+
city: z.ZodString;
|
|
58
|
+
company: z.ZodString;
|
|
59
|
+
country: z.ZodString;
|
|
60
|
+
country_code: z.ZodString;
|
|
61
|
+
customer_id: z.ZodNumber;
|
|
62
|
+
first_name: z.ZodString;
|
|
63
|
+
id: z.ZodInt;
|
|
64
|
+
last_name: z.ZodString;
|
|
65
|
+
phone: z.ZodString;
|
|
66
|
+
postal_code: z.ZodString;
|
|
67
|
+
state_or_province: z.ZodString;
|
|
68
|
+
}, z.core.$strip>>;
|
|
69
|
+
meta: z.ZodObject<{
|
|
70
|
+
pagination: z.ZodObject<{
|
|
71
|
+
total: z.ZodInt;
|
|
72
|
+
count: z.ZodInt;
|
|
73
|
+
per_page: z.ZodInt;
|
|
74
|
+
current_page: z.ZodInt;
|
|
75
|
+
total_pages: z.ZodInt;
|
|
76
|
+
}, z.core.$strip>;
|
|
77
|
+
}, z.core.$strip>;
|
|
78
|
+
}, z.core.$strip>;
|
|
79
|
+
|
|
80
|
+
declare const findCustomerAddresses: (criteria?: z.input<typeof FindCustomerAddressesCriteriaSchema>) => Effect.Effect<{
|
|
81
|
+
data: {
|
|
82
|
+
address1: string;
|
|
83
|
+
address2: string;
|
|
84
|
+
address_type: string;
|
|
85
|
+
city: string;
|
|
86
|
+
company: string;
|
|
87
|
+
country: string;
|
|
88
|
+
country_code: string;
|
|
89
|
+
customer_id: number;
|
|
90
|
+
first_name: string;
|
|
91
|
+
id: number;
|
|
92
|
+
last_name: string;
|
|
93
|
+
phone: string;
|
|
94
|
+
postal_code: string;
|
|
95
|
+
state_or_province: string;
|
|
96
|
+
}[];
|
|
97
|
+
meta: {
|
|
98
|
+
pagination: {
|
|
99
|
+
total: number;
|
|
100
|
+
count: number;
|
|
101
|
+
per_page: number;
|
|
102
|
+
current_page: number;
|
|
103
|
+
total_pages: number;
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
}, SomeBigCommerceError | InputValidationError, BigCommerceFetcher>;
|
|
107
|
+
declare const getAllCustomerAddressesBy: (criteria: Omit<z.input<typeof FindCustomerAddressesCriteriaSchema>, "page" | "limit">) => Effect.Effect<{
|
|
108
|
+
address1: string;
|
|
109
|
+
address2: string;
|
|
110
|
+
address_type: string;
|
|
111
|
+
city: string;
|
|
112
|
+
company: string;
|
|
113
|
+
country: string;
|
|
114
|
+
country_code: string;
|
|
115
|
+
customer_id: number;
|
|
116
|
+
first_name: string;
|
|
117
|
+
id: number;
|
|
118
|
+
last_name: string;
|
|
119
|
+
phone: string;
|
|
120
|
+
postal_code: string;
|
|
121
|
+
state_or_province: string;
|
|
122
|
+
}[], SomeBigCommerceError | InputValidationError, BigCommerceFetcher>;
|
|
123
|
+
|
|
46
124
|
declare const FindCustomersCriteriaSchema: z.ZodObject<{
|
|
47
125
|
'id:in': z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodInt>, z.ZodTransform<string, number[]>>>;
|
|
48
126
|
page: z.ZodOptional<z.ZodInt>;
|
|
@@ -154,4 +232,4 @@ declare const setCustomerGroupPriceList: (input: z.input<typeof SetCustomerGroup
|
|
|
154
232
|
name: string;
|
|
155
233
|
}, SomeBigCommerceError | InputValidationError, BigCommerceFetcher>;
|
|
156
234
|
|
|
157
|
-
export { CreateCustomerGroupResponseSchema, CreateCustomerGroupSchema, CustomerGroupSchema, CustomerSchema, FindCustomerGroupsCriteriaSchema, FindCustomerResponse, FindCustomersCriteriaSchema, SetCustomerGroupPriceListResponseSchema, SetCustomerGroupPriceListSchema, createCustomerGroup, findCustomers, findCustomersGroups, getAllCustomerGroupsBy, getAllCustomersBy, getCustomer, setCustomerGroupPriceList };
|
|
235
|
+
export { CreateCustomerGroupResponseSchema, CreateCustomerGroupSchema, CustomerGroupSchema, CustomerSchema, FindCustomerAddressesCriteriaSchema, FindCustomerAddressesResponseSchema, FindCustomerGroupsCriteriaSchema, FindCustomerResponse, FindCustomersCriteriaSchema, SetCustomerGroupPriceListResponseSchema, SetCustomerGroupPriceListSchema, createCustomerGroup, findCustomerAddresses, findCustomers, findCustomersGroups, getAllCustomerAddressesBy, getAllCustomerGroupsBy, getAllCustomersBy, getCustomer, setCustomerGroupPriceList };
|
package/dist/customers.js
CHANGED
|
@@ -34,14 +34,18 @@ __export(customers_exports, {
|
|
|
34
34
|
CreateCustomerGroupSchema: () => CreateCustomerGroupSchema,
|
|
35
35
|
CustomerGroupSchema: () => CustomerGroupSchema,
|
|
36
36
|
CustomerSchema: () => CustomerSchema,
|
|
37
|
+
FindCustomerAddressesCriteriaSchema: () => FindCustomerAddressesCriteriaSchema,
|
|
38
|
+
FindCustomerAddressesResponseSchema: () => FindCustomerAddressesResponseSchema,
|
|
37
39
|
FindCustomerGroupsCriteriaSchema: () => FindCustomerGroupsCriteriaSchema,
|
|
38
40
|
FindCustomerResponse: () => FindCustomerResponse,
|
|
39
41
|
FindCustomersCriteriaSchema: () => FindCustomersCriteriaSchema,
|
|
40
42
|
SetCustomerGroupPriceListResponseSchema: () => SetCustomerGroupPriceListResponseSchema,
|
|
41
43
|
SetCustomerGroupPriceListSchema: () => SetCustomerGroupPriceListSchema,
|
|
42
44
|
createCustomerGroup: () => createCustomerGroup,
|
|
45
|
+
findCustomerAddresses: () => findCustomerAddresses,
|
|
43
46
|
findCustomers: () => findCustomers,
|
|
44
47
|
findCustomersGroups: () => findCustomersGroups,
|
|
48
|
+
getAllCustomerAddressesBy: () => getAllCustomerAddressesBy,
|
|
45
49
|
getAllCustomerGroupsBy: () => getAllCustomerGroupsBy,
|
|
46
50
|
getAllCustomersBy: () => getAllCustomersBy,
|
|
47
51
|
getCustomer: () => getCustomer,
|
|
@@ -281,9 +285,16 @@ var getBase = ({
|
|
|
281
285
|
}
|
|
282
286
|
return `${DEFAULTS.bigcommerceUrls.regular}/[storeHash]/${version}/${path}`;
|
|
283
287
|
};
|
|
288
|
+
async function safeJson(response) {
|
|
289
|
+
const text = await response.text();
|
|
290
|
+
if (!text || text.trim() === "") {
|
|
291
|
+
return null;
|
|
292
|
+
}
|
|
293
|
+
return JSON.parse(text);
|
|
294
|
+
}
|
|
284
295
|
function processSuccessResponse(response, schema) {
|
|
285
296
|
return import_effect5.Effect.tryPromise({
|
|
286
|
-
try: () => response
|
|
297
|
+
try: () => safeJson(response),
|
|
287
298
|
catch: (error) => new BigCommerceInvalidResponseError({ cause: error })
|
|
288
299
|
}).pipe(
|
|
289
300
|
import_effect5.Effect.tapError(
|
|
@@ -298,7 +309,7 @@ function processSuccessResponse(response, schema) {
|
|
|
298
309
|
var processErrorResponse = (response) => {
|
|
299
310
|
const code = response.status;
|
|
300
311
|
return import_effect5.Effect.tryPromise({
|
|
301
|
-
try: () => response
|
|
312
|
+
try: () => safeJson(response),
|
|
302
313
|
catch: (error) => new BigCommerceInvalidResponseError({ cause: error })
|
|
303
314
|
}).pipe(
|
|
304
315
|
import_effect5.Effect.tapError((error) => import_effect5.Effect.logError("Error parsing error response", error.cause)),
|
|
@@ -411,53 +422,136 @@ var createCustomerGroup = (data) => import_effect8.Effect.gen(function* () {
|
|
|
411
422
|
);
|
|
412
423
|
});
|
|
413
424
|
|
|
414
|
-
// src/bigcommerce-entities/customers/find-
|
|
425
|
+
// src/bigcommerce-entities/customers/find-customer-addresses.ts
|
|
415
426
|
var import_effect9 = require("effect");
|
|
416
427
|
var import_node_querystring = require("querystring");
|
|
417
428
|
|
|
418
|
-
// src/bigcommerce-entities/customers/schemas/
|
|
429
|
+
// src/bigcommerce-entities/customers/schemas/find-addresses.schema.ts
|
|
419
430
|
var z2 = __toESM(require("zod"));
|
|
420
|
-
var
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
phone: z2.string(),
|
|
426
|
-
customer_group_id: z2.int(),
|
|
427
|
-
id: z2.int(),
|
|
428
|
-
channel_ids: z2.array(z2.int())
|
|
431
|
+
var FindCustomerAddressesCriteriaSchema = z2.object({
|
|
432
|
+
"id:in": z2.int().array().transform((ids) => ids.join(",")).optional(),
|
|
433
|
+
page: z2.int().optional(),
|
|
434
|
+
limit: z2.int().optional(),
|
|
435
|
+
"customer_id:in": z2.int().array().transform((ids) => ids.join(",")).optional()
|
|
429
436
|
});
|
|
430
|
-
var
|
|
431
|
-
data: z2.
|
|
437
|
+
var FindCustomerAddressesResponseSchema = z2.object({
|
|
438
|
+
data: z2.object({
|
|
439
|
+
address1: z2.string(),
|
|
440
|
+
address2: z2.string(),
|
|
441
|
+
address_type: z2.string(),
|
|
442
|
+
city: z2.string(),
|
|
443
|
+
company: z2.string(),
|
|
444
|
+
country: z2.string(),
|
|
445
|
+
country_code: z2.string(),
|
|
446
|
+
customer_id: z2.number(),
|
|
447
|
+
first_name: z2.string(),
|
|
448
|
+
id: z2.int(),
|
|
449
|
+
last_name: z2.string(),
|
|
450
|
+
phone: z2.string(),
|
|
451
|
+
postal_code: z2.string(),
|
|
452
|
+
state_or_province: z2.string()
|
|
453
|
+
}).array(),
|
|
432
454
|
meta: z2.object({
|
|
433
455
|
pagination: z2.object({
|
|
434
456
|
total: z2.int(),
|
|
435
457
|
count: z2.int(),
|
|
436
458
|
per_page: z2.int(),
|
|
437
459
|
current_page: z2.int(),
|
|
438
|
-
total_pages: z2.int()
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
460
|
+
total_pages: z2.int()
|
|
461
|
+
})
|
|
462
|
+
})
|
|
463
|
+
});
|
|
464
|
+
|
|
465
|
+
// src/bigcommerce-entities/customers/find-customer-addresses.ts
|
|
466
|
+
var findCustomerAddresses = (criteria) => {
|
|
467
|
+
return import_effect9.Effect.gen(function* () {
|
|
468
|
+
const fetcher = yield* BigCommerceFetcher;
|
|
469
|
+
const validatedQuery = yield* validateInput(
|
|
470
|
+
FindCustomerAddressesCriteriaSchema,
|
|
471
|
+
criteria ?? {}
|
|
472
|
+
);
|
|
473
|
+
return yield* import_effect9.Effect.retry(
|
|
474
|
+
fetcher.fetch({
|
|
475
|
+
method: "GET",
|
|
476
|
+
path: `customers/addresses`,
|
|
477
|
+
isB2B: false,
|
|
478
|
+
version: "v3",
|
|
479
|
+
resultSchema: FindCustomerAddressesResponseSchema,
|
|
480
|
+
query: (0, import_node_querystring.stringify)(validatedQuery)
|
|
481
|
+
}),
|
|
482
|
+
DEFAULTS.retry.policy
|
|
483
|
+
);
|
|
484
|
+
});
|
|
485
|
+
};
|
|
486
|
+
var getAllCustomerAddressesBy = (criteria) => {
|
|
487
|
+
return import_effect9.Effect.gen(function* () {
|
|
488
|
+
const all = [];
|
|
489
|
+
let page = 1;
|
|
490
|
+
let hasMore = true;
|
|
491
|
+
while (hasMore) {
|
|
492
|
+
const data = yield* findCustomerAddresses({
|
|
493
|
+
...criteria,
|
|
494
|
+
page,
|
|
495
|
+
limit: DEFAULTS.customers.getBatchSize
|
|
496
|
+
});
|
|
497
|
+
if (data.meta.pagination.total_pages > page) {
|
|
498
|
+
all.push(...data.data);
|
|
499
|
+
page++;
|
|
500
|
+
} else {
|
|
501
|
+
hasMore = false;
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
return all;
|
|
505
|
+
});
|
|
506
|
+
};
|
|
507
|
+
|
|
508
|
+
// src/bigcommerce-entities/customers/find-customers.ts
|
|
509
|
+
var import_effect10 = require("effect");
|
|
510
|
+
var import_node_querystring2 = require("querystring");
|
|
511
|
+
|
|
512
|
+
// src/bigcommerce-entities/customers/schemas/customer.schema.ts
|
|
513
|
+
var z3 = __toESM(require("zod"));
|
|
514
|
+
var CustomerSchema = z3.object({
|
|
515
|
+
email: z3.email(),
|
|
516
|
+
first_name: z3.string(),
|
|
517
|
+
last_name: z3.string(),
|
|
518
|
+
company: z3.string().optional(),
|
|
519
|
+
phone: z3.string(),
|
|
520
|
+
customer_group_id: z3.int(),
|
|
521
|
+
id: z3.int(),
|
|
522
|
+
channel_ids: z3.array(z3.int())
|
|
523
|
+
});
|
|
524
|
+
var FindCustomerResponse = z3.object({
|
|
525
|
+
data: z3.array(CustomerSchema),
|
|
526
|
+
meta: z3.object({
|
|
527
|
+
pagination: z3.object({
|
|
528
|
+
total: z3.int(),
|
|
529
|
+
count: z3.int(),
|
|
530
|
+
per_page: z3.int(),
|
|
531
|
+
current_page: z3.int(),
|
|
532
|
+
total_pages: z3.int(),
|
|
533
|
+
links: z3.object({
|
|
534
|
+
previous: z3.string().optional().nullable(),
|
|
535
|
+
current: z3.string(),
|
|
536
|
+
next: z3.string().optional().nullable()
|
|
443
537
|
})
|
|
444
538
|
})
|
|
445
539
|
})
|
|
446
540
|
});
|
|
447
541
|
|
|
448
542
|
// src/bigcommerce-entities/customers/schemas/find-customer.criteria.ts
|
|
449
|
-
var
|
|
450
|
-
var FindCustomersCriteriaSchema =
|
|
451
|
-
"id:in":
|
|
452
|
-
page:
|
|
453
|
-
limit:
|
|
454
|
-
"company:in":
|
|
455
|
-
"customer_group_id:in":
|
|
543
|
+
var z4 = __toESM(require("zod"));
|
|
544
|
+
var FindCustomersCriteriaSchema = z4.object({
|
|
545
|
+
"id:in": z4.array(z4.int()).transform((ids) => ids.join(",")).optional(),
|
|
546
|
+
page: z4.int().optional(),
|
|
547
|
+
limit: z4.int().optional(),
|
|
548
|
+
"company:in": z4.array(z4.string()).transform((companies) => companies.join(",")).optional(),
|
|
549
|
+
"customer_group_id:in": z4.array(z4.int()).transform((ids) => ids.join(",")).optional()
|
|
456
550
|
});
|
|
457
551
|
|
|
458
552
|
// src/bigcommerce-entities/customers/find-customers.ts
|
|
459
553
|
var findCustomers = (criteria) => {
|
|
460
|
-
return
|
|
554
|
+
return import_effect10.Effect.gen(function* () {
|
|
461
555
|
const fetcher = yield* BigCommerceFetcher;
|
|
462
556
|
const validatedQuery = yield* validateInput(FindCustomersCriteriaSchema, criteria ?? {});
|
|
463
557
|
return yield* fetcher.fetch({
|
|
@@ -466,12 +560,12 @@ var findCustomers = (criteria) => {
|
|
|
466
560
|
isB2B: false,
|
|
467
561
|
version: "v3",
|
|
468
562
|
resultSchema: FindCustomerResponse,
|
|
469
|
-
query: (0,
|
|
563
|
+
query: (0, import_node_querystring2.stringify)(validatedQuery)
|
|
470
564
|
});
|
|
471
565
|
});
|
|
472
566
|
};
|
|
473
567
|
var getAllCustomersBy = (criteria) => {
|
|
474
|
-
return
|
|
568
|
+
return import_effect10.Effect.gen(function* () {
|
|
475
569
|
const allCustomers = [];
|
|
476
570
|
let page = 1;
|
|
477
571
|
let hasMoreCustomers = true;
|
|
@@ -493,15 +587,15 @@ var getAllCustomersBy = (criteria) => {
|
|
|
493
587
|
};
|
|
494
588
|
|
|
495
589
|
// src/bigcommerce-entities/customers/get-all-customer-groups.ts
|
|
496
|
-
var
|
|
497
|
-
var
|
|
498
|
-
var
|
|
499
|
-
var FindCustomerResponse2 =
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
590
|
+
var import_effect11 = require("effect");
|
|
591
|
+
var import_node_querystring3 = require("querystring");
|
|
592
|
+
var z5 = __toESM(require("zod"));
|
|
593
|
+
var FindCustomerResponse2 = z5.union([
|
|
594
|
+
z5.array(CustomerGroupSchema),
|
|
595
|
+
z5.literal(""),
|
|
596
|
+
z5.literal(null)
|
|
503
597
|
]);
|
|
504
|
-
var findCustomersGroups = (criteria) =>
|
|
598
|
+
var findCustomersGroups = (criteria) => import_effect11.Effect.gen(function* () {
|
|
505
599
|
const fetcher = yield* BigCommerceFetcher;
|
|
506
600
|
const validatedQuery = yield* validateInput(FindCustomerGroupsCriteriaSchema, criteria ?? {});
|
|
507
601
|
const response = yield* fetcher.fetch({
|
|
@@ -510,11 +604,11 @@ var findCustomersGroups = (criteria) => import_effect10.Effect.gen(function* ()
|
|
|
510
604
|
isB2B: false,
|
|
511
605
|
version: "v3",
|
|
512
606
|
resultSchema: FindCustomerResponse2,
|
|
513
|
-
query: (0,
|
|
607
|
+
query: (0, import_node_querystring3.stringify)(validatedQuery)
|
|
514
608
|
});
|
|
515
609
|
return response || [];
|
|
516
610
|
});
|
|
517
|
-
var getAllCustomerGroupsBy = (criteria) =>
|
|
611
|
+
var getAllCustomerGroupsBy = (criteria) => import_effect11.Effect.gen(function* () {
|
|
518
612
|
const all = [];
|
|
519
613
|
let page = 1;
|
|
520
614
|
let hasMore = true;
|
|
@@ -535,19 +629,19 @@ var getAllCustomerGroupsBy = (criteria) => import_effect10.Effect.gen(function*
|
|
|
535
629
|
});
|
|
536
630
|
|
|
537
631
|
// src/bigcommerce-entities/customers/get-customer.ts
|
|
538
|
-
var
|
|
632
|
+
var import_effect12 = require("effect");
|
|
539
633
|
var getCustomer = (customerId) => {
|
|
540
634
|
return findCustomers({
|
|
541
635
|
"id:in": [customerId]
|
|
542
|
-
}).pipe(
|
|
636
|
+
}).pipe(import_effect12.Effect.map((response) => response.data[0]));
|
|
543
637
|
};
|
|
544
638
|
|
|
545
639
|
// src/bigcommerce-entities/customers/set-customer-group-price-list.ts
|
|
546
|
-
var
|
|
547
|
-
var setCustomerGroupPriceList = (input) =>
|
|
640
|
+
var import_effect13 = require("effect");
|
|
641
|
+
var setCustomerGroupPriceList = (input) => import_effect13.Effect.gen(function* () {
|
|
548
642
|
const { customerGroupId, data } = yield* validateInput(SetCustomerGroupPriceListSchema, input);
|
|
549
643
|
const fetcher = yield* BigCommerceFetcher;
|
|
550
|
-
return yield*
|
|
644
|
+
return yield* import_effect13.Effect.retry(
|
|
551
645
|
fetcher.fetch({
|
|
552
646
|
body: data,
|
|
553
647
|
isB2B: false,
|
|
@@ -565,14 +659,18 @@ var setCustomerGroupPriceList = (input) => import_effect12.Effect.gen(function*
|
|
|
565
659
|
CreateCustomerGroupSchema,
|
|
566
660
|
CustomerGroupSchema,
|
|
567
661
|
CustomerSchema,
|
|
662
|
+
FindCustomerAddressesCriteriaSchema,
|
|
663
|
+
FindCustomerAddressesResponseSchema,
|
|
568
664
|
FindCustomerGroupsCriteriaSchema,
|
|
569
665
|
FindCustomerResponse,
|
|
570
666
|
FindCustomersCriteriaSchema,
|
|
571
667
|
SetCustomerGroupPriceListResponseSchema,
|
|
572
668
|
SetCustomerGroupPriceListSchema,
|
|
573
669
|
createCustomerGroup,
|
|
670
|
+
findCustomerAddresses,
|
|
574
671
|
findCustomers,
|
|
575
672
|
findCustomersGroups,
|
|
673
|
+
getAllCustomerAddressesBy,
|
|
576
674
|
getAllCustomerGroupsBy,
|
|
577
675
|
getAllCustomersBy,
|
|
578
676
|
getCustomer,
|
package/dist/customers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/bigcommerce-entities/customers/index.ts","../src/bigcommerce-entities/customers/create-customer-group.ts","../src/constants.ts","../src/core/bigcommerce.error.ts","../src/core/bigcommerce.fetcher.ts","../src/core/bigcommerce.fetcher.live.ts","../src/core/config.ts","../src/validation/index.ts","../src/validation/validation.error.ts","../src/bigcommerce-entities/customers/schemas/customer-group.schema.ts","../src/bigcommerce-entities/customers/find-customers.ts","../src/bigcommerce-entities/customers/schemas/customer.schema.ts","../src/bigcommerce-entities/customers/schemas/find-customer.criteria.ts","../src/bigcommerce-entities/customers/get-all-customer-groups.ts","../src/bigcommerce-entities/customers/get-customer.ts","../src/bigcommerce-entities/customers/set-customer-group-price-list.ts"],"sourcesContent":["export * from './create-customer-group';\nexport * from './find-customers';\nexport * from './get-all-customer-groups';\nexport * from './get-customer';\nexport * from './schemas';\nexport * from './set-customer-group-price-list';\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport {\n CreateCustomerGroupResponseSchema,\n CreateCustomerGroupSchema,\n} from './schemas/customer-group.schema';\nexport const createCustomerGroup = (data: z.input<typeof CreateCustomerGroupSchema>) =>\n Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n const validatedBody = yield* validateInput(CreateCustomerGroupSchema, data);\n return yield* Effect.retry(\n fetcher.fetch({\n body: validatedBody,\n isB2B: false,\n method: 'POST',\n path: 'customer_groups',\n resultSchema: CreateCustomerGroupResponseSchema,\n version: 'v2',\n }),\n DEFAULTS.retry.policy,\n );\n });\n","import { Duration, Schedule } from 'effect';\n\nexport const DEFAULTS = {\n retry: {\n policy: Schedule.exponential(Duration.millis(200), 2).pipe(\n Schedule.intersect(Schedule.recurs(3)),\n ),\n },\n timeout: {\n ms: 30000,\n },\n bigcommerceUrls: {\n b2b: 'https://api-b2b.bigcommerce.com/api',\n regular: 'https://api.bigcommerce.com/stores',\n },\n customers: {\n getBatchSize: 250,\n },\n salesStaff: {\n getBatchSize: 250,\n },\n companies: {\n salesStaffAssignments: {\n assignBatchSize: 10,\n concurrency: 2,\n },\n extraFields: {\n getBatchSize: 250,\n },\n roles: {\n getBatchSize: 250,\n },\n },\n products: {\n updateBatchSize: 5,\n updateConcurrency: 2,\n inventory: {\n updateBatchSize: 2000,\n updateConcurrency: 2,\n },\n },\n orders: {\n getAllBatchSize: 250,\n shippingAddresses: {\n getAllBatchSize: 250,\n },\n products: {\n getAllBatchSize: 250,\n },\n },\n priceLists: {\n getAllBatchSize: 250,\n },\n} as const;\n","import { Data } from 'effect';\nimport * as z from 'zod';\nexport class BigCommerceUnprocessableEntityError extends Data.TaggedError(\n 'BigCommerceUnprocessableEntityError',\n)<{\n readonly errorDetails: unknown;\n}> {}\n\nexport class BigCommerceUnauthorizedError extends Data.TaggedError(\n 'BigCommerceUnauthorizedError',\n) {}\n\nexport class BigCommerceForbiddenError extends Data.TaggedError('BigCommerceForbiddenError') {}\n\nexport class BigCommerceNotFoundError extends Data.TaggedError('BigCommerceNotFoundError') {}\n\nexport class BigCommerceConflictError extends Data.TaggedError('BigCommerceConflictError')<{\n readonly details: unknown;\n}> {}\n\nexport class BigCommerceConnectionError extends Data.TaggedError('BigCommerceConnectionError')<{\n readonly message: string;\n readonly type: 'timeout' | 'internalError' | 'unknown';\n}> {}\n\nexport class BigCommerceUnknownError extends Data.TaggedError('BigCommerceUnknownError')<{\n cause: unknown;\n}> {}\n\nexport class BigCommerceInvalidResponseError extends Data.TaggedError(\n 'BigCommerceInvalidResponseError',\n)<{\n cause: unknown;\n}> {}\n\nexport class BigCommerceInvalidRequestError extends Data.TaggedError(\n 'BigCommerceInvalidRequestError',\n)<{\n readonly errorDetails: unknown;\n}> {}\n\nexport class BigCommerceParseResponseError extends Data.TaggedError(\n 'BigCommerceParseResponseError',\n)<{\n readonly error: z.ZodError;\n}> {}\n\nexport type SomeBigCommerceError =\n | BigCommerceUnprocessableEntityError\n | BigCommerceUnauthorizedError\n | BigCommerceForbiddenError\n | BigCommerceNotFoundError\n | BigCommerceConflictError\n | BigCommerceConnectionError\n | BigCommerceUnknownError\n | BigCommerceInvalidResponseError\n | BigCommerceInvalidRequestError\n | BigCommerceParseResponseError;\n","import { Context, Effect } from 'effect';\nimport * as z from 'zod';\nimport { type SomeBigCommerceError } from './bigcommerce.error';\nexport type BigCommerceFetchMethods = 'GET' | 'POST' | 'PUT' | 'DELETE';\nexport interface BigCommerceFetchParams<\n // Always send json for now, maybe later send a Blob\n Body extends Record<string, unknown> | Array<Record<string, unknown>>,\n Query extends Record<string, string> | string,\n Result extends z.ZodType,\n> {\n readonly body?: Body;\n readonly query?: Query;\n readonly method: BigCommerceFetchMethods;\n readonly path: string;\n readonly headers?: Record<string, string>;\n readonly isB2B: boolean;\n readonly version: 'v3' | 'v2';\n readonly resultSchema: Result;\n}\n\nexport class BigCommerceFetcher extends Context.Tag('BigCommerceFetcher')<\n BigCommerceFetcher,\n {\n readonly fetch: <\n Body extends Record<string, unknown> | Array<Record<string, unknown>>,\n Query extends Record<string, string> | string,\n Result extends z.ZodType,\n >(\n params: BigCommerceFetchParams<Body, Query, Result>,\n ) => Effect.Effect<z.output<Result>, SomeBigCommerceError>;\n }\n>() {}\n","import { Effect, Layer, Match } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../constants';\nimport {\n BigCommerceConflictError,\n BigCommerceConnectionError,\n BigCommerceForbiddenError,\n BigCommerceInvalidRequestError,\n BigCommerceInvalidResponseError,\n BigCommerceNotFoundError,\n BigCommerceParseResponseError,\n BigCommerceUnauthorizedError,\n BigCommerceUnknownError,\n BigCommerceUnprocessableEntityError,\n type SomeBigCommerceError,\n} from './bigcommerce.error';\nimport { BigCommerceFetcher } from './bigcommerce.fetcher';\nimport { BigCommerceConfig, type NoBigCommerceConfigError } from './config';\nconst BigCommerceStatusCodes = {\n UNAUTHORIZED: 401,\n CONFLICT: 409,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n UNPROCESSABLE_ENTITY: 422,\n INTERNAL_SERVER_ERROR: 500,\n BAD_GATEWAY: 502,\n SERVICE_UNAVAILABLE: 503,\n GATEWAY_TIMEOUT: 504,\n INVALID_REQUEST: 400,\n} as const;\n\nexport const BigCommerceFetcherLive: Layer.Layer<\n BigCommerceFetcher,\n NoBigCommerceConfigError,\n BigCommerceConfig\n> = Layer.effect(\n BigCommerceFetcher,\n Effect.gen(function* () {\n const config = yield* BigCommerceConfig;\n const storeHash = yield* config.getStoreHash;\n const accessToken = yield* config.getAccessToken;\n const timeout = yield* config.getTimeout;\n\n return {\n fetch: (params) => {\n const base = getBase(params);\n const headers: Record<string, string> = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n 'x-auth-token': accessToken,\n };\n\n if (params.isB2B) {\n headers['x-store-hash'] = storeHash;\n }\n const url = applyParams(base.replace('[storeHash]', storeHash), params.query);\n\n return Effect.tryPromise({\n try: () =>\n fetch(url, {\n headers,\n signal: AbortSignal.timeout(timeout),\n method: params.method,\n ...(params.body && { body: JSON.stringify(params.body) }),\n }),\n catch: (error) => {\n if (error instanceof Error && error.name === 'TimeoutError') {\n return new BigCommerceConnectionError({\n message: `Request timeout after ${timeout}ms`,\n type: 'timeout',\n });\n }\n if (error instanceof Error && error.name === 'AbortError') {\n return new BigCommerceConnectionError({\n message: `Request timeout after ${timeout}ms`,\n type: 'timeout',\n });\n }\n return new BigCommerceUnknownError({ cause: error });\n },\n }).pipe(\n Effect.tapError((error) =>\n Effect.logError('Failed to fetch from BigCommerce API', error.cause),\n ),\n Effect.flatMap((response) => transformResponse(response, params.resultSchema)),\n );\n },\n };\n }),\n);\nconst applyParams = (url: string, params?: Record<string, string | number> | string): URL => {\n const base = new URL(url);\n if (!params) {\n return base;\n }\n if (typeof params === 'string') {\n base.search = params;\n } else {\n for (const [key, value] of Object.entries(params)) {\n base.searchParams.append(key, `${value}`);\n }\n }\n return base;\n};\n\nconst getBase = ({\n isB2B,\n path,\n version,\n}: {\n isB2B: boolean;\n path: string;\n version: 'v3' | 'v2';\n}): string => {\n if (isB2B) {\n return `${DEFAULTS.bigcommerceUrls.b2b}/${version}/io/${path}`;\n }\n return `${DEFAULTS.bigcommerceUrls.regular}/[storeHash]/${version}/${path}`;\n};\nfunction processSuccessResponse<Schema extends z.ZodTypeAny>(response: Response, schema: Schema) {\n return Effect.tryPromise({\n try: () => response.json(),\n catch: (error) => new BigCommerceInvalidResponseError({ cause: error }),\n }).pipe(\n Effect.tapError((error) =>\n Effect.logError('Error parsing response from BigCommerce API', error.cause),\n ),\n Effect.tryMap({\n try: (json) => schema.parse(json),\n catch: (error) => new BigCommerceParseResponseError({ error: error as z.ZodError }),\n }),\n );\n}\nconst processErrorResponse = (response: Response) => {\n const code = response.status;\n return Effect.tryPromise({\n try: () => response.json(),\n catch: (error) => new BigCommerceInvalidResponseError({ cause: error }),\n }).pipe(\n Effect.tapError((error) => Effect.logError('Error parsing error response', error.cause)),\n Effect.flatMap((errorDetails) =>\n Effect.fail(\n Match.value(code).pipe(\n Match.when(\n BigCommerceStatusCodes.INVALID_REQUEST,\n () => new BigCommerceInvalidRequestError({ errorDetails }),\n ),\n Match.when(BigCommerceStatusCodes.UNAUTHORIZED, () => new BigCommerceUnauthorizedError()),\n Match.when(BigCommerceStatusCodes.FORBIDDEN, () => new BigCommerceForbiddenError()),\n Match.when(BigCommerceStatusCodes.NOT_FOUND, () => new BigCommerceNotFoundError()),\n Match.when(\n BigCommerceStatusCodes.CONFLICT,\n () => new BigCommerceConflictError({ details: errorDetails }),\n ),\n Match.when(\n BigCommerceStatusCodes.UNPROCESSABLE_ENTITY,\n () => new BigCommerceUnprocessableEntityError({ errorDetails }),\n ),\n Match.when(\n (code) => code >= 500,\n () =>\n new BigCommerceConnectionError({\n message: `Server error: ${code}`,\n type:\n code === BigCommerceStatusCodes.INTERNAL_SERVER_ERROR\n ? 'internalError'\n : code === BigCommerceStatusCodes.BAD_GATEWAY ||\n code === BigCommerceStatusCodes.GATEWAY_TIMEOUT\n ? 'timeout'\n : 'internalError',\n }),\n ),\n Match.orElse(() => new BigCommerceUnknownError({ cause: errorDetails })),\n ),\n ),\n ),\n );\n};\n\nconst transformResponse = <Schema extends z.ZodType>(\n response: Response,\n schema: Schema,\n): Effect.Effect<z.output<Schema>, SomeBigCommerceError> => {\n if (response.ok) {\n return processSuccessResponse(response, schema);\n }\n return processErrorResponse(response);\n};\n\n// type PendingErrors = Exclude<\n// SomeBigCommerceError,\n// Effect.Effect.Error<ReturnType<typeof processErrorResponse>> | BigCommerceParseResponseError\n// >;\n","import { Config, Context, Data, Effect, Layer } from 'effect';\nimport { DEFAULTS } from '../constants';\n\n// Define a custom error type using Data.TaggedError\nexport class NoBigCommerceConfigError extends Data.TaggedError('NoBigCommerceConfigError')<{\n readonly key: string;\n}> {}\n\nexport class BigCommerceConfig extends Context.Tag('BigCommerceConfig')<\n BigCommerceConfig,\n {\n readonly getStoreHash: Effect.Effect<string, NoBigCommerceConfigError>;\n readonly getClientId: Effect.Effect<string, NoBigCommerceConfigError>;\n readonly getClientSecret: Effect.Effect<string, NoBigCommerceConfigError>;\n readonly getAccessToken: Effect.Effect<string, NoBigCommerceConfigError>;\n readonly getTimeout: Effect.Effect<number, NoBigCommerceConfigError>;\n }\n>() {}\n\nconst getBigCommerceConfig = (key: string) => {\n return Config.nested(Config.string(key), 'BIGCOMMERCE').pipe(\n Effect.mapError(() => new NoBigCommerceConfigError({ key })),\n );\n};\n\nconst getBigCommerceTimeout = () => {\n return Config.nested(Config.number('TIMEOUT'), 'BIGCOMMERCE').pipe(\n Effect.mapError(() => new NoBigCommerceConfigError({ key: 'TIMEOUT' })),\n // Default to 30 seconds if not configured\n Effect.orElse(() => Effect.succeed(DEFAULTS.timeout.ms)),\n );\n};\n\nexport const BigCommerceConfigLive = Layer.effect(\n BigCommerceConfig,\n Effect.gen(function* () {\n const [storeHash, clientId, clientSecret, accessToken, timeout] = yield* Effect.all([\n getBigCommerceConfig('STORE_HASH'),\n getBigCommerceConfig('CLIENT_ID'),\n getBigCommerceConfig('CLIENT_SECRET'),\n getBigCommerceConfig('ACCESS_TOKEN'),\n getBigCommerceTimeout(),\n ]);\n\n return {\n getStoreHash: Effect.succeed(storeHash),\n getClientId: Effect.succeed(clientId),\n getClientSecret: Effect.succeed(clientSecret),\n getAccessToken: Effect.succeed(accessToken),\n getTimeout: Effect.succeed(timeout),\n };\n }),\n);\n\nexport const BigCommerceConfigTest = Layer.succeed(BigCommerceConfig, {\n getAccessToken: Effect.succeed('test'),\n getClientId: Effect.succeed('test'),\n getClientSecret: Effect.succeed('test'),\n getStoreHash: Effect.succeed('test'),\n getTimeout: Effect.succeed(DEFAULTS.timeout.ms),\n});\n\nexport const validateBigCommerceConfig = () =>\n Effect.gen(function* () {\n const config = yield* BigCommerceConfig;\n const [storeHash, clientId, clientSecret, accessToken, timeout] = yield* Effect.all([\n config.getStoreHash,\n config.getClientId,\n config.getClientSecret,\n config.getAccessToken,\n config.getTimeout,\n ]);\n\n return {\n storeHash,\n clientId,\n clientSecret,\n accessToken,\n timeout,\n };\n });\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { InputValidationError } from './validation.error';\nexport const validateInput = <Schema extends z.ZodType>(schema: Schema, data: z.input<Schema>) => {\n return Effect.try({\n try: () => schema.parse(data),\n catch: (error) => new InputValidationError({ input: data, error: error as z.ZodError }),\n });\n};\n","import { Data } from 'effect';\nimport * as z from 'zod';\nexport class InputValidationError extends Data.TaggedError('InputValidationError')<{\n input: unknown;\n error: z.ZodError;\n}> {}\n","import * as z from 'zod';\nimport { DEFAULTS } from '../../../constants';\nexport const CreateCustomerGroupSchema = z.object({\n name: z.string(),\n discount_rules: z.array(\n z.object({\n type: z.literal('price_list'),\n price_list_id: z.int(),\n }),\n ),\n});\n\nexport const CreateCustomerGroupResponseSchema = z.object({\n id: z.int(),\n});\n\nexport const CustomerGroupSchema = z.object({\n id: z.int(),\n name: z.string(),\n is_default: z.boolean(),\n is_group_for_guests: z.boolean(),\n});\n\nexport const FindCustomerGroupsCriteriaSchema = z.object({\n limit: z.int().max(DEFAULTS.customers.getBatchSize).optional(),\n page: z.int().positive().optional(),\n});\n\nexport const SetCustomerGroupPriceListSchema = z.object({\n data: z.object({\n discount_rules: z\n .object({\n type: z.literal('price_list'),\n price_list_id: z.int(),\n })\n .array(),\n }),\n customerGroupId: z.int(),\n});\n\nexport const SetCustomerGroupPriceListResponseSchema = z.object({\n id: z.int(),\n name: z.string(),\n});\n","import { Effect } from 'effect';\nimport { stringify } from 'node:querystring';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { FindCustomerResponse, type CustomerSchema } from './schemas/customer.schema';\nimport { FindCustomersCriteriaSchema } from './schemas/find-customer.criteria';\nexport const findCustomers = (criteria?: z.input<typeof FindCustomersCriteriaSchema>) => {\n return Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n const validatedQuery = yield* validateInput(FindCustomersCriteriaSchema, criteria ?? {});\n return yield* fetcher.fetch({\n method: 'GET',\n path: `customers`,\n isB2B: false,\n version: 'v3',\n resultSchema: FindCustomerResponse,\n query: stringify(validatedQuery),\n });\n });\n};\n\nexport const getAllCustomersBy = (\n criteria: Omit<z.input<typeof FindCustomersCriteriaSchema>, 'page' | 'limit'>,\n) => {\n return Effect.gen(function* () {\n const allCustomers: z.infer<typeof CustomerSchema>[] = [];\n let page = 1;\n let hasMoreCustomers = true;\n\n while (hasMoreCustomers) {\n const customers = yield* findCustomers({\n ...criteria,\n page,\n limit: DEFAULTS.customers.getBatchSize,\n });\n\n if (customers.meta.pagination.links.next) {\n allCustomers.push(...customers.data);\n page++;\n } else {\n hasMoreCustomers = false;\n }\n }\n\n return allCustomers;\n });\n};\n","import * as z from 'zod';\n\nexport const CustomerSchema = z.object({\n email: z.email(),\n first_name: z.string(),\n last_name: z.string(),\n company: z.string().optional(),\n phone: z.string(),\n customer_group_id: z.int(),\n id: z.int(),\n channel_ids: z.array(z.int()),\n});\n\nexport const FindCustomerResponse = z.object({\n data: z.array(CustomerSchema),\n meta: z.object({\n pagination: z.object({\n total: z.int(),\n count: z.int(),\n per_page: z.int(),\n current_page: z.int(),\n total_pages: z.int(),\n links: z.object({\n previous: z.string().optional().nullable(),\n current: z.string(),\n next: z.string().optional().nullable(),\n }),\n }),\n }),\n});\n","import * as z from 'zod';\nexport const FindCustomersCriteriaSchema = z.object({\n 'id:in': z\n .array(z.int())\n .transform((ids) => ids.join(','))\n .optional(),\n page: z.int().optional(),\n limit: z.int().optional(),\n 'company:in': z\n .array(z.string())\n .transform((companies) => companies.join(','))\n .optional(),\n 'customer_group_id:in': z\n .array(z.int())\n .transform((ids) => ids.join(','))\n .optional(),\n});\n","import { Effect } from 'effect';\nimport { stringify } from 'node:querystring';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport {\n CustomerGroupSchema,\n FindCustomerGroupsCriteriaSchema,\n} from './schemas/customer-group.schema';\nconst FindCustomerResponse = z.union([\n z.array(CustomerGroupSchema),\n z.literal(''),\n z.literal(null),\n]);\nexport const findCustomersGroups = (criteria?: z.input<typeof FindCustomerGroupsCriteriaSchema>) =>\n Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n const validatedQuery = yield* validateInput(FindCustomerGroupsCriteriaSchema, criteria ?? {});\n const response = yield* fetcher.fetch({\n method: 'GET',\n path: `customers`,\n isB2B: false,\n version: 'v3',\n resultSchema: FindCustomerResponse,\n query: stringify(validatedQuery),\n });\n return response || [];\n });\n\nexport const getAllCustomerGroupsBy = (\n criteria?: Omit<z.input<typeof FindCustomerGroupsCriteriaSchema>, 'page' | 'limit'>,\n) =>\n Effect.gen(function* () {\n const all: z.infer<typeof CustomerGroupSchema>[] = [];\n let page = 1;\n let hasMore = true;\n\n while (hasMore) {\n const groups = yield* findCustomersGroups({\n ...criteria,\n page,\n limit: DEFAULTS.customers.getBatchSize,\n });\n\n if (groups.length) {\n all.push(...groups);\n page++;\n } else {\n hasMore = false;\n }\n }\n\n return all;\n });\n","import { Effect } from 'effect';\nimport { findCustomers } from './find-customers';\n\nexport const getCustomer = (customerId: number) => {\n return findCustomers({\n 'id:in': [customerId],\n }).pipe(Effect.map((response) => response.data[0]));\n};\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport {\n SetCustomerGroupPriceListResponseSchema,\n SetCustomerGroupPriceListSchema,\n} from './schemas/customer-group.schema';\nexport const setCustomerGroupPriceList = (input: z.input<typeof SetCustomerGroupPriceListSchema>) =>\n Effect.gen(function* () {\n const { customerGroupId, data } = yield* validateInput(SetCustomerGroupPriceListSchema, input);\n const fetcher = yield* BigCommerceFetcher;\n\n return yield* Effect.retry(\n fetcher.fetch({\n body: data,\n isB2B: false,\n method: 'PUT',\n path: `customer_groups/${customerGroupId}`,\n resultSchema: SetCustomerGroupPriceListResponseSchema,\n version: 'v2',\n }),\n DEFAULTS.retry.policy,\n );\n });\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAAA,iBAAuB;;;ACAvB,oBAAmC;AAE5B,IAAM,WAAW;AAAA,EACtB,OAAO;AAAA,IACL,QAAQ,uBAAS,YAAY,uBAAS,OAAO,GAAG,GAAG,CAAC,EAAE;AAAA,MACpD,uBAAS,UAAU,uBAAS,OAAO,CAAC,CAAC;AAAA,IACvC;AAAA,EACF;AAAA,EACA,SAAS;AAAA,IACP,IAAI;AAAA,EACN;AAAA,EACA,iBAAiB;AAAA,IACf,KAAK;AAAA,IACL,SAAS;AAAA,EACX;AAAA,EACA,WAAW;AAAA,IACT,cAAc;AAAA,EAChB;AAAA,EACA,YAAY;AAAA,IACV,cAAc;AAAA,EAChB;AAAA,EACA,WAAW;AAAA,IACT,uBAAuB;AAAA,MACrB,iBAAiB;AAAA,MACjB,aAAa;AAAA,IACf;AAAA,IACA,aAAa;AAAA,MACX,cAAc;AAAA,IAChB;AAAA,IACA,OAAO;AAAA,MACL,cAAc;AAAA,IAChB;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,IACnB,WAAW;AAAA,MACT,iBAAiB;AAAA,MACjB,mBAAmB;AAAA,IACrB;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,MACjB,iBAAiB;AAAA,IACnB;AAAA,IACA,UAAU;AAAA,MACR,iBAAiB;AAAA,IACnB;AAAA,EACF;AAAA,EACA,YAAY;AAAA,IACV,iBAAiB;AAAA,EACnB;AACF;;;ACrDA,IAAAC,iBAAqB;AAEd,IAAM,sCAAN,cAAkD,oBAAK;AAAA,EAC5D;AACF,EAEG;AAAC;AAEG,IAAM,+BAAN,cAA2C,oBAAK;AAAA,EACrD;AACF,EAAE;AAAC;AAEI,IAAM,4BAAN,cAAwC,oBAAK,YAAY,2BAA2B,EAAE;AAAC;AAEvF,IAAM,2BAAN,cAAuC,oBAAK,YAAY,0BAA0B,EAAE;AAAC;AAErF,IAAM,2BAAN,cAAuC,oBAAK,YAAY,0BAA0B,EAEtF;AAAC;AAEG,IAAM,6BAAN,cAAyC,oBAAK,YAAY,4BAA4B,EAG1F;AAAC;AAEG,IAAM,0BAAN,cAAsC,oBAAK,YAAY,yBAAyB,EAEpF;AAAC;AAEG,IAAM,kCAAN,cAA8C,oBAAK;AAAA,EACxD;AACF,EAEG;AAAC;AAEG,IAAM,iCAAN,cAA6C,oBAAK;AAAA,EACvD;AACF,EAEG;AAAC;AAEG,IAAM,gCAAN,cAA4C,oBAAK;AAAA,EACtD;AACF,EAEG;AAAC;;;AC7CJ,IAAAC,iBAAgC;AAoBzB,IAAM,qBAAN,cAAiC,uBAAQ,IAAI,oBAAoB,EAWtE,EAAE;AAAC;;;AC/BL,IAAAC,iBAAqC;;;ACArC,IAAAC,iBAAqD;AAI9C,IAAM,2BAAN,cAAuC,oBAAK,YAAY,0BAA0B,EAEtF;AAAC;AAEG,IAAM,oBAAN,cAAgC,uBAAQ,IAAI,mBAAmB,EASpE,EAAE;AAAC;AAEL,IAAM,uBAAuB,CAAC,QAAgB;AAC5C,SAAO,sBAAO,OAAO,sBAAO,OAAO,GAAG,GAAG,aAAa,EAAE;AAAA,IACtD,sBAAO,SAAS,MAAM,IAAI,yBAAyB,EAAE,IAAI,CAAC,CAAC;AAAA,EAC7D;AACF;AAEA,IAAM,wBAAwB,MAAM;AAClC,SAAO,sBAAO,OAAO,sBAAO,OAAO,SAAS,GAAG,aAAa,EAAE;AAAA,IAC5D,sBAAO,SAAS,MAAM,IAAI,yBAAyB,EAAE,KAAK,UAAU,CAAC,CAAC;AAAA;AAAA,IAEtE,sBAAO,OAAO,MAAM,sBAAO,QAAQ,SAAS,QAAQ,EAAE,CAAC;AAAA,EACzD;AACF;AAEO,IAAM,wBAAwB,qBAAM;AAAA,EACzC;AAAA,EACA,sBAAO,IAAI,aAAa;AACtB,UAAM,CAAC,WAAW,UAAU,cAAc,aAAa,OAAO,IAAI,OAAO,sBAAO,IAAI;AAAA,MAClF,qBAAqB,YAAY;AAAA,MACjC,qBAAqB,WAAW;AAAA,MAChC,qBAAqB,eAAe;AAAA,MACpC,qBAAqB,cAAc;AAAA,MACnC,sBAAsB;AAAA,IACxB,CAAC;AAED,WAAO;AAAA,MACL,cAAc,sBAAO,QAAQ,SAAS;AAAA,MACtC,aAAa,sBAAO,QAAQ,QAAQ;AAAA,MACpC,iBAAiB,sBAAO,QAAQ,YAAY;AAAA,MAC5C,gBAAgB,sBAAO,QAAQ,WAAW;AAAA,MAC1C,YAAY,sBAAO,QAAQ,OAAO;AAAA,IACpC;AAAA,EACF,CAAC;AACH;AAEO,IAAM,wBAAwB,qBAAM,QAAQ,mBAAmB;AAAA,EACpE,gBAAgB,sBAAO,QAAQ,MAAM;AAAA,EACrC,aAAa,sBAAO,QAAQ,MAAM;AAAA,EAClC,iBAAiB,sBAAO,QAAQ,MAAM;AAAA,EACtC,cAAc,sBAAO,QAAQ,MAAM;AAAA,EACnC,YAAY,sBAAO,QAAQ,SAAS,QAAQ,EAAE;AAChD,CAAC;;;AD1CD,IAAM,yBAAyB;AAAA,EAC7B,cAAc;AAAA,EACd,UAAU;AAAA,EACV,WAAW;AAAA,EACX,WAAW;AAAA,EACX,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,aAAa;AAAA,EACb,qBAAqB;AAAA,EACrB,iBAAiB;AAAA,EACjB,iBAAiB;AACnB;AAEO,IAAM,yBAIT,qBAAM;AAAA,EACR;AAAA,EACA,sBAAO,IAAI,aAAa;AACtB,UAAM,SAAS,OAAO;AACtB,UAAM,YAAY,OAAO,OAAO;AAChC,UAAM,cAAc,OAAO,OAAO;AAClC,UAAM,UAAU,OAAO,OAAO;AAE9B,WAAO;AAAA,MACL,OAAO,CAAC,WAAW;AACjB,cAAM,OAAO,QAAQ,MAAM;AAC3B,cAAM,UAAkC;AAAA,UACtC,QAAQ;AAAA,UACR,gBAAgB;AAAA,UAChB,gBAAgB;AAAA,QAClB;AAEA,YAAI,OAAO,OAAO;AAChB,kBAAQ,cAAc,IAAI;AAAA,QAC5B;AACA,cAAM,MAAM,YAAY,KAAK,QAAQ,eAAe,SAAS,GAAG,OAAO,KAAK;AAE5E,eAAO,sBAAO,WAAW;AAAA,UACvB,KAAK,MACH,MAAM,KAAK;AAAA,YACT;AAAA,YACA,QAAQ,YAAY,QAAQ,OAAO;AAAA,YACnC,QAAQ,OAAO;AAAA,YACf,GAAI,OAAO,QAAQ,EAAE,MAAM,KAAK,UAAU,OAAO,IAAI,EAAE;AAAA,UACzD,CAAC;AAAA,UACH,OAAO,CAAC,UAAU;AAChB,gBAAI,iBAAiB,SAAS,MAAM,SAAS,gBAAgB;AAC3D,qBAAO,IAAI,2BAA2B;AAAA,gBACpC,SAAS,yBAAyB,OAAO;AAAA,gBACzC,MAAM;AAAA,cACR,CAAC;AAAA,YACH;AACA,gBAAI,iBAAiB,SAAS,MAAM,SAAS,cAAc;AACzD,qBAAO,IAAI,2BAA2B;AAAA,gBACpC,SAAS,yBAAyB,OAAO;AAAA,gBACzC,MAAM;AAAA,cACR,CAAC;AAAA,YACH;AACA,mBAAO,IAAI,wBAAwB,EAAE,OAAO,MAAM,CAAC;AAAA,UACrD;AAAA,QACF,CAAC,EAAE;AAAA,UACD,sBAAO;AAAA,YAAS,CAAC,UACf,sBAAO,SAAS,wCAAwC,MAAM,KAAK;AAAA,UACrE;AAAA,UACA,sBAAO,QAAQ,CAAC,aAAa,kBAAkB,UAAU,OAAO,YAAY,CAAC;AAAA,QAC/E;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AACH;AACA,IAAM,cAAc,CAAC,KAAa,WAA2D;AAC3F,QAAM,OAAO,IAAI,IAAI,GAAG;AACxB,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AACA,MAAI,OAAO,WAAW,UAAU;AAC9B,SAAK,SAAS;AAAA,EAChB,OAAO;AACL,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AACjD,WAAK,aAAa,OAAO,KAAK,GAAG,KAAK,EAAE;AAAA,IAC1C;AAAA,EACF;AACA,SAAO;AACT;AAEA,IAAM,UAAU,CAAC;AAAA,EACf;AAAA,EACA;AAAA,EACA;AACF,MAIc;AACZ,MAAI,OAAO;AACT,WAAO,GAAG,SAAS,gBAAgB,GAAG,IAAI,OAAO,OAAO,IAAI;AAAA,EAC9D;AACA,SAAO,GAAG,SAAS,gBAAgB,OAAO,gBAAgB,OAAO,IAAI,IAAI;AAC3E;AACA,SAAS,uBAAoD,UAAoB,QAAgB;AAC/F,SAAO,sBAAO,WAAW;AAAA,IACvB,KAAK,MAAM,SAAS,KAAK;AAAA,IACzB,OAAO,CAAC,UAAU,IAAI,gCAAgC,EAAE,OAAO,MAAM,CAAC;AAAA,EACxE,CAAC,EAAE;AAAA,IACD,sBAAO;AAAA,MAAS,CAAC,UACf,sBAAO,SAAS,+CAA+C,MAAM,KAAK;AAAA,IAC5E;AAAA,IACA,sBAAO,OAAO;AAAA,MACZ,KAAK,CAAC,SAAS,OAAO,MAAM,IAAI;AAAA,MAChC,OAAO,CAAC,UAAU,IAAI,8BAA8B,EAAE,MAA2B,CAAC;AAAA,IACpF,CAAC;AAAA,EACH;AACF;AACA,IAAM,uBAAuB,CAAC,aAAuB;AACnD,QAAM,OAAO,SAAS;AACtB,SAAO,sBAAO,WAAW;AAAA,IACvB,KAAK,MAAM,SAAS,KAAK;AAAA,IACzB,OAAO,CAAC,UAAU,IAAI,gCAAgC,EAAE,OAAO,MAAM,CAAC;AAAA,EACxE,CAAC,EAAE;AAAA,IACD,sBAAO,SAAS,CAAC,UAAU,sBAAO,SAAS,gCAAgC,MAAM,KAAK,CAAC;AAAA,IACvF,sBAAO;AAAA,MAAQ,CAAC,iBACd,sBAAO;AAAA,QACL,qBAAM,MAAM,IAAI,EAAE;AAAA,UAChB,qBAAM;AAAA,YACJ,uBAAuB;AAAA,YACvB,MAAM,IAAI,+BAA+B,EAAE,aAAa,CAAC;AAAA,UAC3D;AAAA,UACA,qBAAM,KAAK,uBAAuB,cAAc,MAAM,IAAI,6BAA6B,CAAC;AAAA,UACxF,qBAAM,KAAK,uBAAuB,WAAW,MAAM,IAAI,0BAA0B,CAAC;AAAA,UAClF,qBAAM,KAAK,uBAAuB,WAAW,MAAM,IAAI,yBAAyB,CAAC;AAAA,UACjF,qBAAM;AAAA,YACJ,uBAAuB;AAAA,YACvB,MAAM,IAAI,yBAAyB,EAAE,SAAS,aAAa,CAAC;AAAA,UAC9D;AAAA,UACA,qBAAM;AAAA,YACJ,uBAAuB;AAAA,YACvB,MAAM,IAAI,oCAAoC,EAAE,aAAa,CAAC;AAAA,UAChE;AAAA,UACA,qBAAM;AAAA,YACJ,CAACC,UAASA,SAAQ;AAAA,YAClB,MACE,IAAI,2BAA2B;AAAA,cAC7B,SAAS,iBAAiB,IAAI;AAAA,cAC9B,MACE,SAAS,uBAAuB,wBAC5B,kBACA,SAAS,uBAAuB,eAC9B,SAAS,uBAAuB,kBAChC,YACA;AAAA,YACV,CAAC;AAAA,UACL;AAAA,UACA,qBAAM,OAAO,MAAM,IAAI,wBAAwB,EAAE,OAAO,aAAa,CAAC,CAAC;AAAA,QACzE;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAM,oBAAoB,CACxB,UACA,WAC0D;AAC1D,MAAI,SAAS,IAAI;AACf,WAAO,uBAAuB,UAAU,MAAM;AAAA,EAChD;AACA,SAAO,qBAAqB,QAAQ;AACtC;;;AE3LA,IAAAC,iBAAuB;;;ACAvB,IAAAC,iBAAqB;AAEd,IAAM,uBAAN,cAAmC,oBAAK,YAAY,sBAAsB,EAG9E;AAAC;;;ADFG,IAAM,gBAAgB,CAA2B,QAAgB,SAA0B;AAChG,SAAO,sBAAO,IAAI;AAAA,IAChB,KAAK,MAAM,OAAO,MAAM,IAAI;AAAA,IAC5B,OAAO,CAAC,UAAU,IAAI,qBAAqB,EAAE,OAAO,MAAM,MAA2B,CAAC;AAAA,EACxF,CAAC;AACH;;;AERA,QAAmB;AAEZ,IAAM,4BAA8B,SAAO;AAAA,EAChD,MAAQ,SAAO;AAAA,EACf,gBAAkB;AAAA,IACd,SAAO;AAAA,MACP,MAAQ,UAAQ,YAAY;AAAA,MAC5B,eAAiB,MAAI;AAAA,IACvB,CAAC;AAAA,EACH;AACF,CAAC;AAEM,IAAM,oCAAsC,SAAO;AAAA,EACxD,IAAM,MAAI;AACZ,CAAC;AAEM,IAAM,sBAAwB,SAAO;AAAA,EAC1C,IAAM,MAAI;AAAA,EACV,MAAQ,SAAO;AAAA,EACf,YAAc,UAAQ;AAAA,EACtB,qBAAuB,UAAQ;AACjC,CAAC;AAEM,IAAM,mCAAqC,SAAO;AAAA,EACvD,OAAS,MAAI,EAAE,IAAI,SAAS,UAAU,YAAY,EAAE,SAAS;AAAA,EAC7D,MAAQ,MAAI,EAAE,SAAS,EAAE,SAAS;AACpC,CAAC;AAEM,IAAM,kCAAoC,SAAO;AAAA,EACtD,MAAQ,SAAO;AAAA,IACb,gBACG,SAAO;AAAA,MACN,MAAQ,UAAQ,YAAY;AAAA,MAC5B,eAAiB,MAAI;AAAA,IACvB,CAAC,EACA,MAAM;AAAA,EACX,CAAC;AAAA,EACD,iBAAmB,MAAI;AACzB,CAAC;AAEM,IAAM,0CAA4C,SAAO;AAAA,EAC9D,IAAM,MAAI;AAAA,EACV,MAAQ,SAAO;AACjB,CAAC;;;ARlCM,IAAM,sBAAsB,CAAC,SAClC,sBAAO,IAAI,aAAa;AACtB,QAAM,UAAU,OAAO;AACvB,QAAM,gBAAgB,OAAO,cAAc,2BAA2B,IAAI;AAC1E,SAAO,OAAO,sBAAO;AAAA,IACnB,QAAQ,MAAM;AAAA,MACZ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,cAAc;AAAA,MACd,SAAS;AAAA,IACX,CAAC;AAAA,IACD,SAAS,MAAM;AAAA,EACjB;AACF,CAAC;;;ASxBH,IAAAC,iBAAuB;AACvB,8BAA0B;;;ACD1B,IAAAC,KAAmB;AAEZ,IAAM,iBAAmB,UAAO;AAAA,EACrC,OAAS,SAAM;AAAA,EACf,YAAc,UAAO;AAAA,EACrB,WAAa,UAAO;AAAA,EACpB,SAAW,UAAO,EAAE,SAAS;AAAA,EAC7B,OAAS,UAAO;AAAA,EAChB,mBAAqB,OAAI;AAAA,EACzB,IAAM,OAAI;AAAA,EACV,aAAe,SAAQ,OAAI,CAAC;AAC9B,CAAC;AAEM,IAAM,uBAAyB,UAAO;AAAA,EAC3C,MAAQ,SAAM,cAAc;AAAA,EAC5B,MAAQ,UAAO;AAAA,IACb,YAAc,UAAO;AAAA,MACnB,OAAS,OAAI;AAAA,MACb,OAAS,OAAI;AAAA,MACb,UAAY,OAAI;AAAA,MAChB,cAAgB,OAAI;AAAA,MACpB,aAAe,OAAI;AAAA,MACnB,OAAS,UAAO;AAAA,QACd,UAAY,UAAO,EAAE,SAAS,EAAE,SAAS;AAAA,QACzC,SAAW,UAAO;AAAA,QAClB,MAAQ,UAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MACvC,CAAC;AAAA,IACH,CAAC;AAAA,EACH,CAAC;AACH,CAAC;;;AC7BD,IAAAC,KAAmB;AACZ,IAAM,8BAAgC,UAAO;AAAA,EAClD,SACG,SAAQ,OAAI,CAAC,EACb,UAAU,CAAC,QAAQ,IAAI,KAAK,GAAG,CAAC,EAChC,SAAS;AAAA,EACZ,MAAQ,OAAI,EAAE,SAAS;AAAA,EACvB,OAAS,OAAI,EAAE,SAAS;AAAA,EACxB,cACG,SAAQ,UAAO,CAAC,EAChB,UAAU,CAAC,cAAc,UAAU,KAAK,GAAG,CAAC,EAC5C,SAAS;AAAA,EACZ,wBACG,SAAQ,OAAI,CAAC,EACb,UAAU,CAAC,QAAQ,IAAI,KAAK,GAAG,CAAC,EAChC,SAAS;AACd,CAAC;;;AFRM,IAAM,gBAAgB,CAAC,aAA2D;AACvF,SAAO,sBAAO,IAAI,aAAa;AAC7B,UAAM,UAAU,OAAO;AACvB,UAAM,iBAAiB,OAAO,cAAc,6BAA6B,YAAY,CAAC,CAAC;AACvF,WAAO,OAAO,QAAQ,MAAM;AAAA,MAC1B,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,MACT,cAAc;AAAA,MACd,WAAO,mCAAU,cAAc;AAAA,IACjC,CAAC;AAAA,EACH,CAAC;AACH;AAEO,IAAM,oBAAoB,CAC/B,aACG;AACH,SAAO,sBAAO,IAAI,aAAa;AAC7B,UAAM,eAAiD,CAAC;AACxD,QAAI,OAAO;AACX,QAAI,mBAAmB;AAEvB,WAAO,kBAAkB;AACvB,YAAM,YAAY,OAAO,cAAc;AAAA,QACrC,GAAG;AAAA,QACH;AAAA,QACA,OAAO,SAAS,UAAU;AAAA,MAC5B,CAAC;AAED,UAAI,UAAU,KAAK,WAAW,MAAM,MAAM;AACxC,qBAAa,KAAK,GAAG,UAAU,IAAI;AACnC;AAAA,MACF,OAAO;AACL,2BAAmB;AAAA,MACrB;AAAA,IACF;AAEA,WAAO;AAAA,EACT,CAAC;AACH;;;AGhDA,IAAAC,kBAAuB;AACvB,IAAAC,2BAA0B;AAC1B,IAAAC,KAAmB;AAQnB,IAAMC,wBAAyB,SAAM;AAAA,EACjC,SAAM,mBAAmB;AAAA,EACzB,WAAQ,EAAE;AAAA,EACV,WAAQ,IAAI;AAChB,CAAC;AACM,IAAM,sBAAsB,CAAC,aAClC,uBAAO,IAAI,aAAa;AACtB,QAAM,UAAU,OAAO;AACvB,QAAM,iBAAiB,OAAO,cAAc,kCAAkC,YAAY,CAAC,CAAC;AAC5F,QAAM,WAAW,OAAO,QAAQ,MAAM;AAAA,IACpC,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SAAS;AAAA,IACT,cAAcA;AAAA,IACd,WAAO,oCAAU,cAAc;AAAA,EACjC,CAAC;AACD,SAAO,YAAY,CAAC;AACtB,CAAC;AAEI,IAAM,yBAAyB,CACpC,aAEA,uBAAO,IAAI,aAAa;AACtB,QAAM,MAA6C,CAAC;AACpD,MAAI,OAAO;AACX,MAAI,UAAU;AAEd,SAAO,SAAS;AACd,UAAM,SAAS,OAAO,oBAAoB;AAAA,MACxC,GAAG;AAAA,MACH;AAAA,MACA,OAAO,SAAS,UAAU;AAAA,IAC5B,CAAC;AAED,QAAI,OAAO,QAAQ;AACjB,UAAI,KAAK,GAAG,MAAM;AAClB;AAAA,IACF,OAAO;AACL,gBAAU;AAAA,IACZ;AAAA,EACF;AAEA,SAAO;AACT,CAAC;;;ACtDH,IAAAC,kBAAuB;AAGhB,IAAM,cAAc,CAAC,eAAuB;AACjD,SAAO,cAAc;AAAA,IACnB,SAAS,CAAC,UAAU;AAAA,EACtB,CAAC,EAAE,KAAK,uBAAO,IAAI,CAAC,aAAa,SAAS,KAAK,CAAC,CAAC,CAAC;AACpD;;;ACPA,IAAAC,kBAAuB;AAShB,IAAM,4BAA4B,CAAC,UACxC,uBAAO,IAAI,aAAa;AACtB,QAAM,EAAE,iBAAiB,KAAK,IAAI,OAAO,cAAc,iCAAiC,KAAK;AAC7F,QAAM,UAAU,OAAO;AAEvB,SAAO,OAAO,uBAAO;AAAA,IACnB,QAAQ,MAAM;AAAA,MACZ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM,mBAAmB,eAAe;AAAA,MACxC,cAAc;AAAA,MACd,SAAS;AAAA,IACX,CAAC;AAAA,IACD,SAAS,MAAM;AAAA,EACjB;AACF,CAAC;","names":["import_effect","import_effect","import_effect","import_effect","import_effect","code","import_effect","import_effect","import_effect","z","z","import_effect","import_node_querystring","z","FindCustomerResponse","import_effect","import_effect"]}
|
|
1
|
+
{"version":3,"sources":["../src/bigcommerce-entities/customers/index.ts","../src/bigcommerce-entities/customers/create-customer-group.ts","../src/constants.ts","../src/core/bigcommerce.error.ts","../src/core/bigcommerce.fetcher.ts","../src/core/bigcommerce.fetcher.live.ts","../src/core/config.ts","../src/validation/index.ts","../src/validation/validation.error.ts","../src/bigcommerce-entities/customers/schemas/customer-group.schema.ts","../src/bigcommerce-entities/customers/find-customer-addresses.ts","../src/bigcommerce-entities/customers/schemas/find-addresses.schema.ts","../src/bigcommerce-entities/customers/find-customers.ts","../src/bigcommerce-entities/customers/schemas/customer.schema.ts","../src/bigcommerce-entities/customers/schemas/find-customer.criteria.ts","../src/bigcommerce-entities/customers/get-all-customer-groups.ts","../src/bigcommerce-entities/customers/get-customer.ts","../src/bigcommerce-entities/customers/set-customer-group-price-list.ts"],"sourcesContent":["export * from './create-customer-group';\nexport * from './find-customer-addresses';\nexport * from './find-customers';\nexport * from './get-all-customer-groups';\nexport * from './get-customer';\nexport * from './schemas';\nexport * from './set-customer-group-price-list';\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport {\n CreateCustomerGroupResponseSchema,\n CreateCustomerGroupSchema,\n} from './schemas/customer-group.schema';\nexport const createCustomerGroup = (data: z.input<typeof CreateCustomerGroupSchema>) =>\n Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n const validatedBody = yield* validateInput(CreateCustomerGroupSchema, data);\n return yield* Effect.retry(\n fetcher.fetch({\n body: validatedBody,\n isB2B: false,\n method: 'POST',\n path: 'customer_groups',\n resultSchema: CreateCustomerGroupResponseSchema,\n version: 'v2',\n }),\n DEFAULTS.retry.policy,\n );\n });\n","import { Duration, Schedule } from 'effect';\n\nexport const DEFAULTS = {\n retry: {\n policy: Schedule.exponential(Duration.millis(200), 2).pipe(\n Schedule.intersect(Schedule.recurs(3)),\n ),\n },\n timeout: {\n ms: 30000,\n },\n bigcommerceUrls: {\n b2b: 'https://api-b2b.bigcommerce.com/api',\n regular: 'https://api.bigcommerce.com/stores',\n },\n customers: {\n getBatchSize: 250,\n },\n salesStaff: {\n getBatchSize: 250,\n },\n companies: {\n salesStaffAssignments: {\n assignBatchSize: 10,\n concurrency: 2,\n },\n extraFields: {\n getBatchSize: 250,\n },\n roles: {\n getBatchSize: 250,\n },\n },\n products: {\n updateBatchSize: 5,\n updateConcurrency: 2,\n inventory: {\n updateBatchSize: 2000,\n updateConcurrency: 2,\n },\n },\n orders: {\n getAllBatchSize: 250,\n shippingAddresses: {\n getAllBatchSize: 250,\n },\n products: {\n getAllBatchSize: 250,\n },\n },\n priceLists: {\n getAllBatchSize: 250,\n },\n} as const;\n","import { Data } from 'effect';\nimport * as z from 'zod';\nexport class BigCommerceUnprocessableEntityError extends Data.TaggedError(\n 'BigCommerceUnprocessableEntityError',\n)<{\n readonly errorDetails: unknown;\n}> {}\n\nexport class BigCommerceUnauthorizedError extends Data.TaggedError(\n 'BigCommerceUnauthorizedError',\n) {}\n\nexport class BigCommerceForbiddenError extends Data.TaggedError('BigCommerceForbiddenError') {}\n\nexport class BigCommerceNotFoundError extends Data.TaggedError('BigCommerceNotFoundError') {}\n\nexport class BigCommerceConflictError extends Data.TaggedError('BigCommerceConflictError')<{\n readonly details: unknown;\n}> {}\n\nexport class BigCommerceConnectionError extends Data.TaggedError('BigCommerceConnectionError')<{\n readonly message: string;\n readonly type: 'timeout' | 'internalError' | 'unknown';\n}> {}\n\nexport class BigCommerceUnknownError extends Data.TaggedError('BigCommerceUnknownError')<{\n cause: unknown;\n}> {}\n\nexport class BigCommerceInvalidResponseError extends Data.TaggedError(\n 'BigCommerceInvalidResponseError',\n)<{\n cause: unknown;\n}> {}\n\nexport class BigCommerceInvalidRequestError extends Data.TaggedError(\n 'BigCommerceInvalidRequestError',\n)<{\n readonly errorDetails: unknown;\n}> {}\n\nexport class BigCommerceParseResponseError extends Data.TaggedError(\n 'BigCommerceParseResponseError',\n)<{\n readonly error: z.ZodError;\n}> {}\n\nexport type SomeBigCommerceError =\n | BigCommerceUnprocessableEntityError\n | BigCommerceUnauthorizedError\n | BigCommerceForbiddenError\n | BigCommerceNotFoundError\n | BigCommerceConflictError\n | BigCommerceConnectionError\n | BigCommerceUnknownError\n | BigCommerceInvalidResponseError\n | BigCommerceInvalidRequestError\n | BigCommerceParseResponseError;\n","import { Context, Effect } from 'effect';\nimport * as z from 'zod';\nimport { type SomeBigCommerceError } from './bigcommerce.error';\nexport type BigCommerceFetchMethods = 'GET' | 'POST' | 'PUT' | 'DELETE';\nexport interface BigCommerceFetchParams<\n // Always send json for now, maybe later send a Blob\n Body extends Record<string, unknown> | Array<Record<string, unknown>>,\n Query extends Record<string, string> | string,\n Result extends z.ZodType,\n> {\n readonly body?: Body;\n readonly query?: Query;\n readonly method: BigCommerceFetchMethods;\n readonly path: string;\n readonly headers?: Record<string, string>;\n readonly isB2B: boolean;\n readonly version: 'v3' | 'v2';\n readonly resultSchema: Result;\n}\n\nexport class BigCommerceFetcher extends Context.Tag('BigCommerceFetcher')<\n BigCommerceFetcher,\n {\n readonly fetch: <\n Body extends Record<string, unknown> | Array<Record<string, unknown>>,\n Query extends Record<string, string> | string,\n Result extends z.ZodType,\n >(\n params: BigCommerceFetchParams<Body, Query, Result>,\n ) => Effect.Effect<z.output<Result>, SomeBigCommerceError>;\n }\n>() {}\n","import { Effect, Layer, Match } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../constants';\nimport {\n BigCommerceConflictError,\n BigCommerceConnectionError,\n BigCommerceForbiddenError,\n BigCommerceInvalidRequestError,\n BigCommerceInvalidResponseError,\n BigCommerceNotFoundError,\n BigCommerceParseResponseError,\n BigCommerceUnauthorizedError,\n BigCommerceUnknownError,\n BigCommerceUnprocessableEntityError,\n type SomeBigCommerceError,\n} from './bigcommerce.error';\nimport { BigCommerceFetcher } from './bigcommerce.fetcher';\nimport { BigCommerceConfig, type NoBigCommerceConfigError } from './config';\nconst BigCommerceStatusCodes = {\n UNAUTHORIZED: 401,\n CONFLICT: 409,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n UNPROCESSABLE_ENTITY: 422,\n INTERNAL_SERVER_ERROR: 500,\n BAD_GATEWAY: 502,\n SERVICE_UNAVAILABLE: 503,\n GATEWAY_TIMEOUT: 504,\n INVALID_REQUEST: 400,\n} as const;\n\nexport const BigCommerceFetcherLive: Layer.Layer<\n BigCommerceFetcher,\n NoBigCommerceConfigError,\n BigCommerceConfig\n> = Layer.effect(\n BigCommerceFetcher,\n Effect.gen(function* () {\n const config = yield* BigCommerceConfig;\n const storeHash = yield* config.getStoreHash;\n const accessToken = yield* config.getAccessToken;\n const timeout = yield* config.getTimeout;\n\n return {\n fetch: (params) => {\n const base = getBase(params);\n const headers: Record<string, string> = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n 'x-auth-token': accessToken,\n };\n\n if (params.isB2B) {\n headers['x-store-hash'] = storeHash;\n }\n const url = applyParams(base.replace('[storeHash]', storeHash), params.query);\n\n return Effect.tryPromise({\n try: () =>\n fetch(url, {\n headers,\n signal: AbortSignal.timeout(timeout),\n method: params.method,\n ...(params.body && { body: JSON.stringify(params.body) }),\n }),\n catch: (error) => {\n if (error instanceof Error && error.name === 'TimeoutError') {\n return new BigCommerceConnectionError({\n message: `Request timeout after ${timeout}ms`,\n type: 'timeout',\n });\n }\n if (error instanceof Error && error.name === 'AbortError') {\n return new BigCommerceConnectionError({\n message: `Request timeout after ${timeout}ms`,\n type: 'timeout',\n });\n }\n return new BigCommerceUnknownError({ cause: error });\n },\n }).pipe(\n Effect.tapError((error) =>\n Effect.logError('Failed to fetch from BigCommerce API', error.cause),\n ),\n Effect.flatMap((response) => transformResponse(response, params.resultSchema)),\n );\n },\n };\n }),\n);\nconst applyParams = (url: string, params?: Record<string, string | number> | string): URL => {\n const base = new URL(url);\n if (!params) {\n return base;\n }\n if (typeof params === 'string') {\n base.search = params;\n } else {\n for (const [key, value] of Object.entries(params)) {\n base.searchParams.append(key, `${value}`);\n }\n }\n return base;\n};\n\nconst getBase = ({\n isB2B,\n path,\n version,\n}: {\n isB2B: boolean;\n path: string;\n version: 'v3' | 'v2';\n}): string => {\n if (isB2B) {\n return `${DEFAULTS.bigcommerceUrls.b2b}/${version}/io/${path}`;\n }\n return `${DEFAULTS.bigcommerceUrls.regular}/[storeHash]/${version}/${path}`;\n};\n\nasync function safeJson<T>(response: Response): Promise<T | null> {\n const text = await response.text();\n\n if (!text || text.trim() === '') {\n return null;\n }\n\n return JSON.parse(text) as T;\n}\n\nfunction processSuccessResponse<Schema extends z.ZodTypeAny>(response: Response, schema: Schema) {\n return Effect.tryPromise({\n try: () => safeJson(response),\n catch: (error) => new BigCommerceInvalidResponseError({ cause: error }),\n }).pipe(\n Effect.tapError((error) =>\n Effect.logError('Error parsing response from BigCommerce API', error.cause),\n ),\n Effect.tryMap({\n try: (json) => schema.parse(json),\n catch: (error) => new BigCommerceParseResponseError({ error: error as z.ZodError }),\n }),\n );\n}\nconst processErrorResponse = (response: Response) => {\n const code = response.status;\n return Effect.tryPromise({\n try: () => safeJson(response),\n catch: (error) => new BigCommerceInvalidResponseError({ cause: error }),\n }).pipe(\n Effect.tapError((error) => Effect.logError('Error parsing error response', error.cause)),\n Effect.flatMap((errorDetails) =>\n Effect.fail(\n Match.value(code).pipe(\n Match.when(\n BigCommerceStatusCodes.INVALID_REQUEST,\n () => new BigCommerceInvalidRequestError({ errorDetails }),\n ),\n Match.when(BigCommerceStatusCodes.UNAUTHORIZED, () => new BigCommerceUnauthorizedError()),\n Match.when(BigCommerceStatusCodes.FORBIDDEN, () => new BigCommerceForbiddenError()),\n Match.when(BigCommerceStatusCodes.NOT_FOUND, () => new BigCommerceNotFoundError()),\n Match.when(\n BigCommerceStatusCodes.CONFLICT,\n () => new BigCommerceConflictError({ details: errorDetails }),\n ),\n Match.when(\n BigCommerceStatusCodes.UNPROCESSABLE_ENTITY,\n () => new BigCommerceUnprocessableEntityError({ errorDetails }),\n ),\n Match.when(\n (code) => code >= 500,\n () =>\n new BigCommerceConnectionError({\n message: `Server error: ${code}`,\n type:\n code === BigCommerceStatusCodes.INTERNAL_SERVER_ERROR\n ? 'internalError'\n : code === BigCommerceStatusCodes.BAD_GATEWAY ||\n code === BigCommerceStatusCodes.GATEWAY_TIMEOUT\n ? 'timeout'\n : 'internalError',\n }),\n ),\n Match.orElse(() => new BigCommerceUnknownError({ cause: errorDetails })),\n ),\n ),\n ),\n );\n};\n\nconst transformResponse = <Schema extends z.ZodType>(\n response: Response,\n schema: Schema,\n): Effect.Effect<z.output<Schema>, SomeBigCommerceError> => {\n if (response.ok) {\n return processSuccessResponse(response, schema);\n }\n return processErrorResponse(response);\n};\n\n// type PendingErrors = Exclude<\n// SomeBigCommerceError,\n// Effect.Effect.Error<ReturnType<typeof processErrorResponse>> | BigCommerceParseResponseError\n// >;\n","import { Config, Context, Data, Effect, Layer } from 'effect';\nimport { DEFAULTS } from '../constants';\n\n// Define a custom error type using Data.TaggedError\nexport class NoBigCommerceConfigError extends Data.TaggedError('NoBigCommerceConfigError')<{\n readonly key: string;\n}> {}\n\nexport class BigCommerceConfig extends Context.Tag('BigCommerceConfig')<\n BigCommerceConfig,\n {\n readonly getStoreHash: Effect.Effect<string, NoBigCommerceConfigError>;\n readonly getClientId: Effect.Effect<string, NoBigCommerceConfigError>;\n readonly getClientSecret: Effect.Effect<string, NoBigCommerceConfigError>;\n readonly getAccessToken: Effect.Effect<string, NoBigCommerceConfigError>;\n readonly getTimeout: Effect.Effect<number, NoBigCommerceConfigError>;\n }\n>() {}\n\nconst getBigCommerceConfig = (key: string) => {\n return Config.nested(Config.string(key), 'BIGCOMMERCE').pipe(\n Effect.mapError(() => new NoBigCommerceConfigError({ key })),\n );\n};\n\nconst getBigCommerceTimeout = () => {\n return Config.nested(Config.number('TIMEOUT'), 'BIGCOMMERCE').pipe(\n Effect.mapError(() => new NoBigCommerceConfigError({ key: 'TIMEOUT' })),\n // Default to 30 seconds if not configured\n Effect.orElse(() => Effect.succeed(DEFAULTS.timeout.ms)),\n );\n};\n\nexport const BigCommerceConfigLive = Layer.effect(\n BigCommerceConfig,\n Effect.gen(function* () {\n const [storeHash, clientId, clientSecret, accessToken, timeout] = yield* Effect.all([\n getBigCommerceConfig('STORE_HASH'),\n getBigCommerceConfig('CLIENT_ID'),\n getBigCommerceConfig('CLIENT_SECRET'),\n getBigCommerceConfig('ACCESS_TOKEN'),\n getBigCommerceTimeout(),\n ]);\n\n return {\n getStoreHash: Effect.succeed(storeHash),\n getClientId: Effect.succeed(clientId),\n getClientSecret: Effect.succeed(clientSecret),\n getAccessToken: Effect.succeed(accessToken),\n getTimeout: Effect.succeed(timeout),\n };\n }),\n);\n\nexport const BigCommerceConfigTest = Layer.succeed(BigCommerceConfig, {\n getAccessToken: Effect.succeed('test'),\n getClientId: Effect.succeed('test'),\n getClientSecret: Effect.succeed('test'),\n getStoreHash: Effect.succeed('test'),\n getTimeout: Effect.succeed(DEFAULTS.timeout.ms),\n});\n\nexport const validateBigCommerceConfig = () =>\n Effect.gen(function* () {\n const config = yield* BigCommerceConfig;\n const [storeHash, clientId, clientSecret, accessToken, timeout] = yield* Effect.all([\n config.getStoreHash,\n config.getClientId,\n config.getClientSecret,\n config.getAccessToken,\n config.getTimeout,\n ]);\n\n return {\n storeHash,\n clientId,\n clientSecret,\n accessToken,\n timeout,\n };\n });\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { InputValidationError } from './validation.error';\nexport const validateInput = <Schema extends z.ZodType>(schema: Schema, data: z.input<Schema>) => {\n return Effect.try({\n try: () => schema.parse(data),\n catch: (error) => new InputValidationError({ input: data, error: error as z.ZodError }),\n });\n};\n","import { Data } from 'effect';\nimport * as z from 'zod';\nexport class InputValidationError extends Data.TaggedError('InputValidationError')<{\n input: unknown;\n error: z.ZodError;\n}> {}\n","import * as z from 'zod';\nimport { DEFAULTS } from '../../../constants';\nexport const CreateCustomerGroupSchema = z.object({\n name: z.string(),\n discount_rules: z.array(\n z.object({\n type: z.literal('price_list'),\n price_list_id: z.int(),\n }),\n ),\n});\n\nexport const CreateCustomerGroupResponseSchema = z.object({\n id: z.int(),\n});\n\nexport const CustomerGroupSchema = z.object({\n id: z.int(),\n name: z.string(),\n is_default: z.boolean(),\n is_group_for_guests: z.boolean(),\n});\n\nexport const FindCustomerGroupsCriteriaSchema = z.object({\n limit: z.int().max(DEFAULTS.customers.getBatchSize).optional(),\n page: z.int().positive().optional(),\n});\n\nexport const SetCustomerGroupPriceListSchema = z.object({\n data: z.object({\n discount_rules: z\n .object({\n type: z.literal('price_list'),\n price_list_id: z.int(),\n })\n .array(),\n }),\n customerGroupId: z.int(),\n});\n\nexport const SetCustomerGroupPriceListResponseSchema = z.object({\n id: z.int(),\n name: z.string(),\n});\n","import { Effect } from 'effect';\nimport { stringify } from 'node:querystring';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport {\n FindCustomerAddressesCriteriaSchema,\n FindCustomerAddressesResponseSchema,\n} from './schemas/find-addresses.schema';\n\nexport const findCustomerAddresses = (\n criteria?: z.input<typeof FindCustomerAddressesCriteriaSchema>,\n) => {\n return Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n const validatedQuery = yield* validateInput(\n FindCustomerAddressesCriteriaSchema,\n criteria ?? {},\n );\n return yield* Effect.retry(\n fetcher.fetch({\n method: 'GET',\n path: `customers/addresses`,\n isB2B: false,\n version: 'v3',\n resultSchema: FindCustomerAddressesResponseSchema,\n query: stringify(validatedQuery),\n }),\n DEFAULTS.retry.policy,\n );\n });\n};\n\nexport const getAllCustomerAddressesBy = (\n criteria: Omit<z.input<typeof FindCustomerAddressesCriteriaSchema>, 'page' | 'limit'>,\n) => {\n return Effect.gen(function* () {\n const all: z.infer<typeof FindCustomerAddressesResponseSchema>['data'] = [];\n let page = 1;\n let hasMore = true;\n\n while (hasMore) {\n const data = yield* findCustomerAddresses({\n ...criteria,\n page,\n limit: DEFAULTS.customers.getBatchSize,\n });\n\n if (data.meta.pagination.total_pages > page) {\n all.push(...data.data);\n page++;\n } else {\n hasMore = false;\n }\n }\n\n return all;\n });\n};\n","import * as z from 'zod';\nexport const FindCustomerAddressesCriteriaSchema = z.object({\n 'id:in': z\n .int()\n .array()\n .transform((ids) => ids.join(','))\n .optional(),\n page: z.int().optional(),\n limit: z.int().optional(),\n 'customer_id:in': z\n .int()\n .array()\n .transform((ids) => ids.join(','))\n .optional(),\n});\n\nexport const FindCustomerAddressesResponseSchema = z.object({\n data: z\n .object({\n address1: z.string(),\n address2: z.string(),\n address_type: z.string(),\n city: z.string(),\n company: z.string(),\n country: z.string(),\n country_code: z.string(),\n customer_id: z.number(),\n first_name: z.string(),\n id: z.int(),\n last_name: z.string(),\n phone: z.string(),\n postal_code: z.string(),\n state_or_province: z.string(),\n })\n .array(),\n meta: z.object({\n pagination: z.object({\n total: z.int(),\n count: z.int(),\n per_page: z.int(),\n current_page: z.int(),\n total_pages: z.int(),\n }),\n }),\n});\n","import { Effect } from 'effect';\nimport { stringify } from 'node:querystring';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { FindCustomerResponse, type CustomerSchema } from './schemas/customer.schema';\nimport { FindCustomersCriteriaSchema } from './schemas/find-customer.criteria';\nexport const findCustomers = (criteria?: z.input<typeof FindCustomersCriteriaSchema>) => {\n return Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n const validatedQuery = yield* validateInput(FindCustomersCriteriaSchema, criteria ?? {});\n return yield* fetcher.fetch({\n method: 'GET',\n path: `customers`,\n isB2B: false,\n version: 'v3',\n resultSchema: FindCustomerResponse,\n query: stringify(validatedQuery),\n });\n });\n};\n\nexport const getAllCustomersBy = (\n criteria: Omit<z.input<typeof FindCustomersCriteriaSchema>, 'page' | 'limit'>,\n) => {\n return Effect.gen(function* () {\n const allCustomers: z.infer<typeof CustomerSchema>[] = [];\n let page = 1;\n let hasMoreCustomers = true;\n\n while (hasMoreCustomers) {\n const customers = yield* findCustomers({\n ...criteria,\n page,\n limit: DEFAULTS.customers.getBatchSize,\n });\n\n if (customers.meta.pagination.links.next) {\n allCustomers.push(...customers.data);\n page++;\n } else {\n hasMoreCustomers = false;\n }\n }\n\n return allCustomers;\n });\n};\n","import * as z from 'zod';\n\nexport const CustomerSchema = z.object({\n email: z.email(),\n first_name: z.string(),\n last_name: z.string(),\n company: z.string().optional(),\n phone: z.string(),\n customer_group_id: z.int(),\n id: z.int(),\n channel_ids: z.array(z.int()),\n});\n\nexport const FindCustomerResponse = z.object({\n data: z.array(CustomerSchema),\n meta: z.object({\n pagination: z.object({\n total: z.int(),\n count: z.int(),\n per_page: z.int(),\n current_page: z.int(),\n total_pages: z.int(),\n links: z.object({\n previous: z.string().optional().nullable(),\n current: z.string(),\n next: z.string().optional().nullable(),\n }),\n }),\n }),\n});\n","import * as z from 'zod';\nexport const FindCustomersCriteriaSchema = z.object({\n 'id:in': z\n .array(z.int())\n .transform((ids) => ids.join(','))\n .optional(),\n page: z.int().optional(),\n limit: z.int().optional(),\n 'company:in': z\n .array(z.string())\n .transform((companies) => companies.join(','))\n .optional(),\n 'customer_group_id:in': z\n .array(z.int())\n .transform((ids) => ids.join(','))\n .optional(),\n});\n","import { Effect } from 'effect';\nimport { stringify } from 'node:querystring';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport {\n CustomerGroupSchema,\n FindCustomerGroupsCriteriaSchema,\n} from './schemas/customer-group.schema';\nconst FindCustomerResponse = z.union([\n z.array(CustomerGroupSchema),\n z.literal(''),\n z.literal(null),\n]);\nexport const findCustomersGroups = (criteria?: z.input<typeof FindCustomerGroupsCriteriaSchema>) =>\n Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n const validatedQuery = yield* validateInput(FindCustomerGroupsCriteriaSchema, criteria ?? {});\n const response = yield* fetcher.fetch({\n method: 'GET',\n path: `customers`,\n isB2B: false,\n version: 'v3',\n resultSchema: FindCustomerResponse,\n query: stringify(validatedQuery),\n });\n return response || [];\n });\n\nexport const getAllCustomerGroupsBy = (\n criteria?: Omit<z.input<typeof FindCustomerGroupsCriteriaSchema>, 'page' | 'limit'>,\n) =>\n Effect.gen(function* () {\n const all: z.infer<typeof CustomerGroupSchema>[] = [];\n let page = 1;\n let hasMore = true;\n\n while (hasMore) {\n const groups = yield* findCustomersGroups({\n ...criteria,\n page,\n limit: DEFAULTS.customers.getBatchSize,\n });\n\n if (groups.length) {\n all.push(...groups);\n page++;\n } else {\n hasMore = false;\n }\n }\n\n return all;\n });\n","import { Effect } from 'effect';\nimport { findCustomers } from './find-customers';\n\nexport const getCustomer = (customerId: number) => {\n return findCustomers({\n 'id:in': [customerId],\n }).pipe(Effect.map((response) => response.data[0]));\n};\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport {\n SetCustomerGroupPriceListResponseSchema,\n SetCustomerGroupPriceListSchema,\n} from './schemas/customer-group.schema';\nexport const setCustomerGroupPriceList = (input: z.input<typeof SetCustomerGroupPriceListSchema>) =>\n Effect.gen(function* () {\n const { customerGroupId, data } = yield* validateInput(SetCustomerGroupPriceListSchema, input);\n const fetcher = yield* BigCommerceFetcher;\n\n return yield* Effect.retry(\n fetcher.fetch({\n body: data,\n isB2B: false,\n method: 'PUT',\n path: `customer_groups/${customerGroupId}`,\n resultSchema: SetCustomerGroupPriceListResponseSchema,\n version: 'v2',\n }),\n DEFAULTS.retry.policy,\n );\n });\n"],"mappings":"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","names":["import_effect","import_effect","import_effect","import_effect","import_effect","code","import_effect","import_effect","import_effect","z","import_effect","import_node_querystring","z","z","import_effect","import_node_querystring","z","FindCustomerResponse","import_effect","import_effect"]}
|