@edgebound/bigcommerce 0.1.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/addresses.d.mts +27 -0
- package/dist/addresses.d.ts +27 -0
- package/dist/addresses.js +69 -0
- package/dist/addresses.js.map +1 -0
- package/dist/addresses.mjs +9 -0
- package/dist/addresses.mjs.map +1 -0
- package/dist/{bigcommerce.fetcher-D1TyK4y4.d.mts → bigcommerce.fetcher-Ujztbs8P.d.mts} +2 -2
- package/dist/{bigcommerce.fetcher-D1TyK4y4.d.ts → bigcommerce.fetcher-Ujztbs8P.d.ts} +2 -2
- package/dist/{chunk-RPASSHB6.mjs → chunk-2VMEIQCL.mjs} +81 -27
- package/dist/chunk-2VMEIQCL.mjs.map +1 -0
- package/dist/chunk-BWLQCNNX.mjs +30 -0
- package/dist/chunk-BWLQCNNX.mjs.map +1 -0
- package/dist/companies.d.mts +230 -1
- package/dist/companies.d.ts +230 -1
- package/dist/companies.js +723 -0
- package/dist/companies.js.map +1 -1
- package/dist/companies.mjs +367 -0
- package/dist/companies.mjs.map +1 -1
- package/dist/customers.d.mts +95 -2
- package/dist/customers.d.ts +95 -2
- package/dist/customers.js +245 -63
- package/dist/customers.js.map +1 -1
- package/dist/customers.mjs +172 -46
- package/dist/customers.mjs.map +1 -1
- package/dist/index.d.mts +10 -3
- package/dist/index.d.ts +10 -3
- package/dist/index.js +82 -19
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +5 -3
- package/dist/orders.d.mts +1323 -2
- package/dist/orders.d.ts +1323 -2
- package/dist/orders.js +283 -181
- package/dist/orders.js.map +1 -1
- package/dist/orders.mjs +193 -166
- package/dist/orders.mjs.map +1 -1
- package/dist/payments.d.mts +28 -0
- package/dist/payments.d.ts +28 -0
- package/dist/payments.js +365 -0
- package/dist/payments.js.map +1 -0
- package/dist/payments.mjs +43 -0
- package/dist/payments.mjs.map +1 -0
- package/dist/priceLists.d.mts +81 -0
- package/dist/priceLists.d.ts +81 -0
- package/dist/priceLists.js +458 -0
- package/dist/priceLists.js.map +1 -0
- package/dist/priceLists.mjs +118 -0
- package/dist/priceLists.mjs.map +1 -0
- package/dist/products.d.mts +29 -7
- package/dist/products.d.ts +29 -7
- package/dist/products.js +114 -60
- package/dist/products.js.map +1 -1
- package/dist/products.mjs +26 -25
- package/dist/products.mjs.map +1 -1
- package/dist/salesStaff.d.mts +64 -0
- package/dist/salesStaff.d.ts +64 -0
- package/dist/salesStaff.js +419 -0
- package/dist/salesStaff.js.map +1 -0
- package/dist/salesStaff.mjs +82 -0
- package/dist/salesStaff.mjs.map +1 -0
- package/package.json +38 -15
- package/dist/chunk-RPASSHB6.mjs.map +0 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
|
|
3
|
+
declare const AddressSchema: z.ZodObject<{
|
|
4
|
+
first_name: z.ZodString;
|
|
5
|
+
last_name: z.ZodString;
|
|
6
|
+
company: z.ZodString;
|
|
7
|
+
street_1: z.ZodString;
|
|
8
|
+
street_2: z.ZodString;
|
|
9
|
+
city: z.ZodString;
|
|
10
|
+
state: z.ZodString;
|
|
11
|
+
zip: z.ZodString;
|
|
12
|
+
country: z.ZodString;
|
|
13
|
+
country_iso2: z.ZodString;
|
|
14
|
+
phone: z.ZodString;
|
|
15
|
+
email: z.ZodString;
|
|
16
|
+
form_fields: z.ZodArray<z.ZodObject<{
|
|
17
|
+
name: z.ZodString;
|
|
18
|
+
value: z.ZodString;
|
|
19
|
+
}, z.core.$strip>>;
|
|
20
|
+
}, z.core.$strip>;
|
|
21
|
+
|
|
22
|
+
declare const AddressFormFieldSchema: z.ZodObject<{
|
|
23
|
+
name: z.ZodString;
|
|
24
|
+
value: z.ZodString;
|
|
25
|
+
}, z.core.$strip>;
|
|
26
|
+
|
|
27
|
+
export { AddressFormFieldSchema, AddressSchema };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
|
|
3
|
+
declare const AddressSchema: z.ZodObject<{
|
|
4
|
+
first_name: z.ZodString;
|
|
5
|
+
last_name: z.ZodString;
|
|
6
|
+
company: z.ZodString;
|
|
7
|
+
street_1: z.ZodString;
|
|
8
|
+
street_2: z.ZodString;
|
|
9
|
+
city: z.ZodString;
|
|
10
|
+
state: z.ZodString;
|
|
11
|
+
zip: z.ZodString;
|
|
12
|
+
country: z.ZodString;
|
|
13
|
+
country_iso2: z.ZodString;
|
|
14
|
+
phone: z.ZodString;
|
|
15
|
+
email: z.ZodString;
|
|
16
|
+
form_fields: z.ZodArray<z.ZodObject<{
|
|
17
|
+
name: z.ZodString;
|
|
18
|
+
value: z.ZodString;
|
|
19
|
+
}, z.core.$strip>>;
|
|
20
|
+
}, z.core.$strip>;
|
|
21
|
+
|
|
22
|
+
declare const AddressFormFieldSchema: z.ZodObject<{
|
|
23
|
+
name: z.ZodString;
|
|
24
|
+
value: z.ZodString;
|
|
25
|
+
}, z.core.$strip>;
|
|
26
|
+
|
|
27
|
+
export { AddressFormFieldSchema, AddressSchema };
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// src/bigcommerce-entities/addresses/index.ts
|
|
31
|
+
var addresses_exports = {};
|
|
32
|
+
__export(addresses_exports, {
|
|
33
|
+
AddressFormFieldSchema: () => AddressFormFieldSchema,
|
|
34
|
+
AddressSchema: () => AddressSchema
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(addresses_exports);
|
|
37
|
+
|
|
38
|
+
// src/bigcommerce-entities/addresses/schemas/address.schema.ts
|
|
39
|
+
var z2 = __toESM(require("zod"));
|
|
40
|
+
|
|
41
|
+
// src/bigcommerce-entities/addresses/schemas/form-field.schema.ts
|
|
42
|
+
var z = __toESM(require("zod"));
|
|
43
|
+
var AddressFormFieldSchema = z.object({
|
|
44
|
+
name: z.string(),
|
|
45
|
+
value: z.string()
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
// src/bigcommerce-entities/addresses/schemas/address.schema.ts
|
|
49
|
+
var AddressSchema = z2.object({
|
|
50
|
+
first_name: z2.string(),
|
|
51
|
+
last_name: z2.string(),
|
|
52
|
+
company: z2.string(),
|
|
53
|
+
street_1: z2.string(),
|
|
54
|
+
street_2: z2.string(),
|
|
55
|
+
city: z2.string(),
|
|
56
|
+
state: z2.string(),
|
|
57
|
+
zip: z2.string(),
|
|
58
|
+
country: z2.string(),
|
|
59
|
+
country_iso2: z2.string(),
|
|
60
|
+
phone: z2.string(),
|
|
61
|
+
email: z2.string(),
|
|
62
|
+
form_fields: z2.array(AddressFormFieldSchema)
|
|
63
|
+
});
|
|
64
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
65
|
+
0 && (module.exports = {
|
|
66
|
+
AddressFormFieldSchema,
|
|
67
|
+
AddressSchema
|
|
68
|
+
});
|
|
69
|
+
//# sourceMappingURL=addresses.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/bigcommerce-entities/addresses/index.ts","../src/bigcommerce-entities/addresses/schemas/address.schema.ts","../src/bigcommerce-entities/addresses/schemas/form-field.schema.ts"],"sourcesContent":["export * from './schemas';\n","import * as z from 'zod';\nimport { AddressFormFieldSchema } from './form-field.schema';\n\nexport const AddressSchema = z.object({\n first_name: z.string(),\n last_name: z.string(),\n company: z.string(),\n street_1: z.string(),\n street_2: z.string(),\n city: z.string(),\n state: z.string(),\n zip: z.string(),\n country: z.string(),\n country_iso2: z.string(),\n phone: z.string(),\n email: z.string(),\n form_fields: z.array(AddressFormFieldSchema),\n});\n","import * as z from 'zod';\n\nexport const AddressFormFieldSchema = z.object({\n name: z.string(),\n value: z.string(),\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAAA,KAAmB;;;ACAnB,QAAmB;AAEZ,IAAM,yBAA2B,SAAO;AAAA,EAC7C,MAAQ,SAAO;AAAA,EACf,OAAS,SAAO;AAClB,CAAC;;;ADFM,IAAM,gBAAkB,UAAO;AAAA,EACpC,YAAc,UAAO;AAAA,EACrB,WAAa,UAAO;AAAA,EACpB,SAAW,UAAO;AAAA,EAClB,UAAY,UAAO;AAAA,EACnB,UAAY,UAAO;AAAA,EACnB,MAAQ,UAAO;AAAA,EACf,OAAS,UAAO;AAAA,EAChB,KAAO,UAAO;AAAA,EACd,SAAW,UAAO;AAAA,EAClB,cAAgB,UAAO;AAAA,EACvB,OAAS,UAAO;AAAA,EAChB,OAAS,UAAO;AAAA,EAChB,aAAe,SAAM,sBAAsB;AAC7C,CAAC;","names":["z"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -71,7 +71,7 @@ declare class BigCommerceParseResponseError extends BigCommerceParseResponseErro
|
|
|
71
71
|
type SomeBigCommerceError = BigCommerceUnprocessableEntityError | BigCommerceUnauthorizedError | BigCommerceForbiddenError | BigCommerceNotFoundError | BigCommerceConflictError | BigCommerceConnectionError | BigCommerceUnknownError | BigCommerceInvalidResponseError | BigCommerceInvalidRequestError | BigCommerceParseResponseError;
|
|
72
72
|
|
|
73
73
|
type BigCommerceFetchMethods = 'GET' | 'POST' | 'PUT' | 'DELETE';
|
|
74
|
-
interface BigCommerceFetchParams<Body extends Record<string, unknown> | Array<Record<string, unknown>>, Query extends Record<string, string
|
|
74
|
+
interface BigCommerceFetchParams<Body extends Record<string, unknown> | Array<Record<string, unknown>>, Query extends Record<string, string> | string, Result extends z.ZodType> {
|
|
75
75
|
readonly body?: Body;
|
|
76
76
|
readonly query?: Query;
|
|
77
77
|
readonly method: BigCommerceFetchMethods;
|
|
@@ -82,7 +82,7 @@ interface BigCommerceFetchParams<Body extends Record<string, unknown> | Array<Re
|
|
|
82
82
|
readonly resultSchema: Result;
|
|
83
83
|
}
|
|
84
84
|
declare const BigCommerceFetcher_base: Context.TagClass<BigCommerceFetcher, "BigCommerceFetcher", {
|
|
85
|
-
readonly fetch: <Body extends Record<string, unknown> | Array<Record<string, unknown>>, Query extends Record<string, string
|
|
85
|
+
readonly fetch: <Body extends Record<string, unknown> | Array<Record<string, unknown>>, Query extends Record<string, string> | string, Result extends z.ZodType>(params: BigCommerceFetchParams<Body, Query, Result>) => Effect.Effect<z.output<Result>, SomeBigCommerceError>;
|
|
86
86
|
}>;
|
|
87
87
|
declare class BigCommerceFetcher extends BigCommerceFetcher_base {
|
|
88
88
|
}
|
|
@@ -71,7 +71,7 @@ declare class BigCommerceParseResponseError extends BigCommerceParseResponseErro
|
|
|
71
71
|
type SomeBigCommerceError = BigCommerceUnprocessableEntityError | BigCommerceUnauthorizedError | BigCommerceForbiddenError | BigCommerceNotFoundError | BigCommerceConflictError | BigCommerceConnectionError | BigCommerceUnknownError | BigCommerceInvalidResponseError | BigCommerceInvalidRequestError | BigCommerceParseResponseError;
|
|
72
72
|
|
|
73
73
|
type BigCommerceFetchMethods = 'GET' | 'POST' | 'PUT' | 'DELETE';
|
|
74
|
-
interface BigCommerceFetchParams<Body extends Record<string, unknown> | Array<Record<string, unknown>>, Query extends Record<string, string
|
|
74
|
+
interface BigCommerceFetchParams<Body extends Record<string, unknown> | Array<Record<string, unknown>>, Query extends Record<string, string> | string, Result extends z.ZodType> {
|
|
75
75
|
readonly body?: Body;
|
|
76
76
|
readonly query?: Query;
|
|
77
77
|
readonly method: BigCommerceFetchMethods;
|
|
@@ -82,7 +82,7 @@ interface BigCommerceFetchParams<Body extends Record<string, unknown> | Array<Re
|
|
|
82
82
|
readonly resultSchema: Result;
|
|
83
83
|
}
|
|
84
84
|
declare const BigCommerceFetcher_base: Context.TagClass<BigCommerceFetcher, "BigCommerceFetcher", {
|
|
85
|
-
readonly fetch: <Body extends Record<string, unknown> | Array<Record<string, unknown>>, Query extends Record<string, string
|
|
85
|
+
readonly fetch: <Body extends Record<string, unknown> | Array<Record<string, unknown>>, Query extends Record<string, string> | string, Result extends z.ZodType>(params: BigCommerceFetchParams<Body, Query, Result>) => Effect.Effect<z.output<Result>, SomeBigCommerceError>;
|
|
86
86
|
}>;
|
|
87
87
|
declare class BigCommerceFetcher extends BigCommerceFetcher_base {
|
|
88
88
|
}
|
|
@@ -41,22 +41,58 @@ import { Effect as Effect3, Layer as Layer2, Match } from "effect";
|
|
|
41
41
|
|
|
42
42
|
// src/constants.ts
|
|
43
43
|
import { Duration, Schedule } from "effect";
|
|
44
|
-
var
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
var DEFAULTS = {
|
|
45
|
+
retry: {
|
|
46
|
+
policy: Schedule.exponential(Duration.millis(200), 2).pipe(
|
|
47
|
+
Schedule.intersect(Schedule.recurs(3))
|
|
48
|
+
)
|
|
49
|
+
},
|
|
50
|
+
timeout: {
|
|
51
|
+
ms: 3e4
|
|
52
|
+
},
|
|
53
|
+
bigcommerceUrls: {
|
|
54
|
+
b2b: "https://api-b2b.bigcommerce.com/api",
|
|
55
|
+
regular: "https://api.bigcommerce.com/stores"
|
|
56
|
+
},
|
|
57
|
+
customers: {
|
|
58
|
+
getBatchSize: 250
|
|
59
|
+
},
|
|
60
|
+
salesStaff: {
|
|
61
|
+
getBatchSize: 250
|
|
62
|
+
},
|
|
63
|
+
companies: {
|
|
64
|
+
salesStaffAssignments: {
|
|
65
|
+
assignBatchSize: 10,
|
|
66
|
+
concurrency: 2
|
|
67
|
+
},
|
|
68
|
+
extraFields: {
|
|
69
|
+
getBatchSize: 250
|
|
70
|
+
},
|
|
71
|
+
roles: {
|
|
72
|
+
getBatchSize: 250
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
products: {
|
|
76
|
+
updateBatchSize: 5,
|
|
77
|
+
updateConcurrency: 2,
|
|
78
|
+
inventory: {
|
|
79
|
+
updateBatchSize: 2e3,
|
|
80
|
+
updateConcurrency: 2
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
orders: {
|
|
84
|
+
getAllBatchSize: 250,
|
|
85
|
+
shippingAddresses: {
|
|
86
|
+
getAllBatchSize: 250
|
|
87
|
+
},
|
|
88
|
+
products: {
|
|
89
|
+
getAllBatchSize: 250
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
priceLists: {
|
|
93
|
+
getAllBatchSize: 250
|
|
94
|
+
}
|
|
48
95
|
};
|
|
49
|
-
var GET_ORDER_BATCH_SIZE = 250;
|
|
50
|
-
var UPDATE_INVENTORY_BATCH_SIZE = 2e3;
|
|
51
|
-
var UPDATE_INVENTORY_CONCURRENCY = 2;
|
|
52
|
-
var DEFAULT_RETRY_TIMES = 2;
|
|
53
|
-
var DEFAULT_RETRY_WAIT = 200;
|
|
54
|
-
var DEFAULT_RETRY_SCHEDULE = Schedule.exponential(Duration.millis(DEFAULT_RETRY_WAIT));
|
|
55
|
-
var RETRY_POLICY_WITH_BACKOFF = Schedule.exponential(
|
|
56
|
-
Duration.millis(DEFAULT_RETRY_WAIT),
|
|
57
|
-
2
|
|
58
|
-
).pipe(Schedule.intersect(Schedule.recurs(DEFAULT_RETRY_TIMES)));
|
|
59
|
-
var GET_CUSTOMERS_BATCH_SIZE = 100;
|
|
60
96
|
|
|
61
97
|
// src/core/config.ts
|
|
62
98
|
import { Config, Context as Context2, Data as Data2, Effect as Effect2, Layer } from "effect";
|
|
@@ -73,7 +109,7 @@ var getBigCommerceTimeout = () => {
|
|
|
73
109
|
return Config.nested(Config.number("TIMEOUT"), "BIGCOMMERCE").pipe(
|
|
74
110
|
Effect2.mapError(() => new NoBigCommerceConfigError({ key: "TIMEOUT" })),
|
|
75
111
|
// Default to 30 seconds if not configured
|
|
76
|
-
Effect2.orElse(() => Effect2.succeed(
|
|
112
|
+
Effect2.orElse(() => Effect2.succeed(DEFAULTS.timeout.ms))
|
|
77
113
|
);
|
|
78
114
|
};
|
|
79
115
|
var BigCommerceConfigLive = Layer.effect(
|
|
@@ -100,7 +136,24 @@ var BigCommerceConfigTest = Layer.succeed(BigCommerceConfig, {
|
|
|
100
136
|
getClientId: Effect2.succeed("test"),
|
|
101
137
|
getClientSecret: Effect2.succeed("test"),
|
|
102
138
|
getStoreHash: Effect2.succeed("test"),
|
|
103
|
-
getTimeout: Effect2.succeed(
|
|
139
|
+
getTimeout: Effect2.succeed(DEFAULTS.timeout.ms)
|
|
140
|
+
});
|
|
141
|
+
var validateBigCommerceConfig = () => Effect2.gen(function* () {
|
|
142
|
+
const config = yield* BigCommerceConfig;
|
|
143
|
+
const [storeHash, clientId, clientSecret, accessToken, timeout] = yield* Effect2.all([
|
|
144
|
+
config.getStoreHash,
|
|
145
|
+
config.getClientId,
|
|
146
|
+
config.getClientSecret,
|
|
147
|
+
config.getAccessToken,
|
|
148
|
+
config.getTimeout
|
|
149
|
+
]);
|
|
150
|
+
return {
|
|
151
|
+
storeHash,
|
|
152
|
+
clientId,
|
|
153
|
+
clientSecret,
|
|
154
|
+
accessToken,
|
|
155
|
+
timeout
|
|
156
|
+
};
|
|
104
157
|
});
|
|
105
158
|
|
|
106
159
|
// src/core/bigcommerce.fetcher.live.ts
|
|
@@ -172,8 +225,12 @@ var applyParams = (url, params) => {
|
|
|
172
225
|
if (!params) {
|
|
173
226
|
return base;
|
|
174
227
|
}
|
|
175
|
-
|
|
176
|
-
base.
|
|
228
|
+
if (typeof params === "string") {
|
|
229
|
+
base.search = params;
|
|
230
|
+
} else {
|
|
231
|
+
for (const [key, value] of Object.entries(params)) {
|
|
232
|
+
base.searchParams.append(key, `${value}`);
|
|
233
|
+
}
|
|
177
234
|
}
|
|
178
235
|
return base;
|
|
179
236
|
};
|
|
@@ -183,9 +240,9 @@ var getBase = ({
|
|
|
183
240
|
version
|
|
184
241
|
}) => {
|
|
185
242
|
if (isB2B) {
|
|
186
|
-
return `${
|
|
243
|
+
return `${DEFAULTS.bigcommerceUrls.b2b}/${version}/io/${path}`;
|
|
187
244
|
}
|
|
188
|
-
return `${
|
|
245
|
+
return `${DEFAULTS.bigcommerceUrls.regular}/[storeHash]/${version}/${path}`;
|
|
189
246
|
};
|
|
190
247
|
function processSuccessResponse(response, schema) {
|
|
191
248
|
return Effect3.tryPromise({
|
|
@@ -258,15 +315,12 @@ export {
|
|
|
258
315
|
BigCommerceInvalidRequestError,
|
|
259
316
|
BigCommerceParseResponseError,
|
|
260
317
|
BigCommerceFetcher,
|
|
261
|
-
|
|
262
|
-
UPDATE_INVENTORY_BATCH_SIZE,
|
|
263
|
-
UPDATE_INVENTORY_CONCURRENCY,
|
|
264
|
-
RETRY_POLICY_WITH_BACKOFF,
|
|
265
|
-
GET_CUSTOMERS_BATCH_SIZE,
|
|
318
|
+
DEFAULTS,
|
|
266
319
|
NoBigCommerceConfigError,
|
|
267
320
|
BigCommerceConfig,
|
|
268
321
|
BigCommerceConfigLive,
|
|
269
322
|
BigCommerceConfigTest,
|
|
323
|
+
validateBigCommerceConfig,
|
|
270
324
|
BigCommerceFetcherLive
|
|
271
325
|
};
|
|
272
|
-
//# sourceMappingURL=chunk-
|
|
326
|
+
//# sourceMappingURL=chunk-2VMEIQCL.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/bigcommerce.error.ts","../src/core/bigcommerce.fetcher.ts","../src/core/bigcommerce.fetcher.live.ts","../src/constants.ts","../src/core/config.ts"],"sourcesContent":["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';\n\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.ZodTypeAny>(\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 { 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 { 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"],"mappings":"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","names":["Effect","Layer","Context","Data","Effect","Data","Context","Effect","Layer","Effect","code"]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// src/bigcommerce-entities/addresses/schemas/form-field.schema.ts
|
|
2
|
+
import * as z from "zod";
|
|
3
|
+
var AddressFormFieldSchema = z.object({
|
|
4
|
+
name: z.string(),
|
|
5
|
+
value: z.string()
|
|
6
|
+
});
|
|
7
|
+
|
|
8
|
+
// src/bigcommerce-entities/addresses/schemas/address.schema.ts
|
|
9
|
+
import * as z2 from "zod";
|
|
10
|
+
var AddressSchema = z2.object({
|
|
11
|
+
first_name: z2.string(),
|
|
12
|
+
last_name: z2.string(),
|
|
13
|
+
company: z2.string(),
|
|
14
|
+
street_1: z2.string(),
|
|
15
|
+
street_2: z2.string(),
|
|
16
|
+
city: z2.string(),
|
|
17
|
+
state: z2.string(),
|
|
18
|
+
zip: z2.string(),
|
|
19
|
+
country: z2.string(),
|
|
20
|
+
country_iso2: z2.string(),
|
|
21
|
+
phone: z2.string(),
|
|
22
|
+
email: z2.string(),
|
|
23
|
+
form_fields: z2.array(AddressFormFieldSchema)
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
export {
|
|
27
|
+
AddressFormFieldSchema,
|
|
28
|
+
AddressSchema
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=chunk-BWLQCNNX.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/bigcommerce-entities/addresses/schemas/form-field.schema.ts","../src/bigcommerce-entities/addresses/schemas/address.schema.ts"],"sourcesContent":["import * as z from 'zod';\n\nexport const AddressFormFieldSchema = z.object({\n name: z.string(),\n value: z.string(),\n});\n","import * as z from 'zod';\nimport { AddressFormFieldSchema } from './form-field.schema';\n\nexport const AddressSchema = z.object({\n first_name: z.string(),\n last_name: z.string(),\n company: z.string(),\n street_1: z.string(),\n street_2: z.string(),\n city: z.string(),\n state: z.string(),\n zip: z.string(),\n country: z.string(),\n country_iso2: z.string(),\n phone: z.string(),\n email: z.string(),\n form_fields: z.array(AddressFormFieldSchema),\n});\n"],"mappings":";AAAA,YAAY,OAAO;AAEZ,IAAM,yBAA2B,SAAO;AAAA,EAC7C,MAAQ,SAAO;AAAA,EACf,OAAS,SAAO;AAClB,CAAC;;;ACLD,YAAYA,QAAO;AAGZ,IAAM,gBAAkB,UAAO;AAAA,EACpC,YAAc,UAAO;AAAA,EACrB,WAAa,UAAO;AAAA,EACpB,SAAW,UAAO;AAAA,EAClB,UAAY,UAAO;AAAA,EACnB,UAAY,UAAO;AAAA,EACnB,MAAQ,UAAO;AAAA,EACf,OAAS,UAAO;AAAA,EAChB,KAAO,UAAO;AAAA,EACd,SAAW,UAAO;AAAA,EAClB,cAAgB,UAAO;AAAA,EACvB,OAAS,UAAO;AAAA,EAChB,OAAS,UAAO;AAAA,EAChB,aAAe,SAAM,sBAAsB;AAC7C,CAAC;","names":["z"]}
|
package/dist/companies.d.mts
CHANGED
|
@@ -1,2 +1,231 @@
|
|
|
1
|
+
import { I as InputValidationError } from './validation.error-CHLpPYC_.mjs';
|
|
2
|
+
import { S as SomeBigCommerceError, B as BigCommerceFetcher } from './bigcommerce.fetcher-Ujztbs8P.mjs';
|
|
3
|
+
import { Effect } from 'effect';
|
|
4
|
+
import * as z from 'zod';
|
|
5
|
+
import 'effect/Cause';
|
|
6
|
+
import 'effect/Types';
|
|
1
7
|
|
|
2
|
-
|
|
8
|
+
declare const CreateCompanySchema: z.ZodObject<{
|
|
9
|
+
companyName: z.ZodString;
|
|
10
|
+
companyPhone: z.ZodString;
|
|
11
|
+
companyEmail: z.ZodString;
|
|
12
|
+
addressLine1: z.ZodString;
|
|
13
|
+
addressLine2: z.ZodString;
|
|
14
|
+
city: z.ZodString;
|
|
15
|
+
state: z.ZodString;
|
|
16
|
+
country: z.ZodString;
|
|
17
|
+
zipCode: z.ZodString;
|
|
18
|
+
adminFirstName: z.ZodString;
|
|
19
|
+
adminLastName: z.ZodString;
|
|
20
|
+
adminEmail: z.ZodString;
|
|
21
|
+
adminPhoneNumber: z.ZodString;
|
|
22
|
+
acceptCreationEmail: z.ZodBoolean;
|
|
23
|
+
uuid: z.ZodString;
|
|
24
|
+
channelIds: z.ZodArray<z.ZodInt>;
|
|
25
|
+
originChannelId: z.ZodInt;
|
|
26
|
+
customerGroupId: z.ZodInt;
|
|
27
|
+
extraFields: z.ZodArray<z.ZodObject<{
|
|
28
|
+
fieldName: z.ZodString;
|
|
29
|
+
fieldValue: z.ZodString;
|
|
30
|
+
}, z.core.$strip>>;
|
|
31
|
+
}, z.core.$strip>;
|
|
32
|
+
declare const CreateCompanyResponseSchema: z.ZodObject<{
|
|
33
|
+
data: z.ZodObject<{
|
|
34
|
+
companyId: z.ZodInt;
|
|
35
|
+
}, z.core.$strip>;
|
|
36
|
+
meta: z.ZodObject<{
|
|
37
|
+
message: z.ZodString;
|
|
38
|
+
}, z.core.$strip>;
|
|
39
|
+
}, z.core.$strip>;
|
|
40
|
+
|
|
41
|
+
declare const SetCompanyCreditSchema: z.ZodObject<{
|
|
42
|
+
data: z.ZodObject<{
|
|
43
|
+
creditEnabled: z.ZodBoolean;
|
|
44
|
+
creditCurrency: z.ZodEnum<{
|
|
45
|
+
MXN: "MXN";
|
|
46
|
+
}>;
|
|
47
|
+
availableCredit: z.ZodNumber;
|
|
48
|
+
limitPurchases: z.ZodBoolean;
|
|
49
|
+
creditHold: z.ZodBoolean;
|
|
50
|
+
}, z.core.$strip>;
|
|
51
|
+
companyId: z.ZodInt;
|
|
52
|
+
}, z.core.$strip>;
|
|
53
|
+
declare const SetCompanyCreditResponseSchema: z.ZodObject<{}, z.core.$strip>;
|
|
54
|
+
|
|
55
|
+
declare const GetCompanyExtraFieldsCriteriaSchema: z.ZodObject<{
|
|
56
|
+
limit: z.ZodOptional<z.ZodInt>;
|
|
57
|
+
offset: z.ZodOptional<z.ZodInt>;
|
|
58
|
+
}, z.core.$strip>;
|
|
59
|
+
declare const CompanyExtraFieldSchema: z.ZodObject<{
|
|
60
|
+
fieldName: z.ZodString;
|
|
61
|
+
labelName: z.ZodString;
|
|
62
|
+
listOfValue: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
63
|
+
maximumLength: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
|
|
64
|
+
}, z.core.$strip>;
|
|
65
|
+
declare const GetCompanyExtraFieldsResponseSchema: z.ZodObject<{
|
|
66
|
+
data: z.ZodArray<z.ZodObject<{
|
|
67
|
+
fieldName: z.ZodString;
|
|
68
|
+
labelName: z.ZodString;
|
|
69
|
+
listOfValue: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
70
|
+
maximumLength: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
|
|
71
|
+
}, z.core.$strip>>;
|
|
72
|
+
meta: z.ZodObject<{
|
|
73
|
+
message: z.ZodString;
|
|
74
|
+
pagination: z.ZodObject<{
|
|
75
|
+
totalCount: z.ZodNumber;
|
|
76
|
+
offset: z.ZodNumber;
|
|
77
|
+
limit: z.ZodNumber;
|
|
78
|
+
}, z.core.$strip>;
|
|
79
|
+
}, z.core.$strip>;
|
|
80
|
+
}, z.core.$strip>;
|
|
81
|
+
|
|
82
|
+
declare const SetCompanyPaymentMethodsSchema: z.ZodObject<{
|
|
83
|
+
data: z.ZodObject<{
|
|
84
|
+
payments: z.ZodArray<z.ZodObject<{
|
|
85
|
+
code: z.ZodString;
|
|
86
|
+
isEnabled: z.ZodBoolean;
|
|
87
|
+
}, z.core.$strip>>;
|
|
88
|
+
}, z.core.$strip>;
|
|
89
|
+
companyId: z.ZodInt;
|
|
90
|
+
}, z.core.$strip>;
|
|
91
|
+
declare const SetCompanyPaymentMethodsResponseSchema: z.ZodObject<{}, z.core.$strip>;
|
|
92
|
+
|
|
93
|
+
declare const CompanyRoleSchema: z.ZodObject<{
|
|
94
|
+
id: z.ZodInt;
|
|
95
|
+
name: z.ZodString;
|
|
96
|
+
roleLevel: z.ZodNumber;
|
|
97
|
+
roleType: z.ZodNumber;
|
|
98
|
+
}, z.core.$strip>;
|
|
99
|
+
declare const GetCompanyRolesCriteriaSchema: z.ZodObject<{
|
|
100
|
+
limit: z.ZodOptional<z.ZodInt>;
|
|
101
|
+
offset: z.ZodOptional<z.ZodInt>;
|
|
102
|
+
}, z.core.$strip>;
|
|
103
|
+
declare const GetCompanyRolesResponseSchema: z.ZodObject<{
|
|
104
|
+
data: z.ZodArray<z.ZodObject<{
|
|
105
|
+
id: z.ZodInt;
|
|
106
|
+
name: z.ZodString;
|
|
107
|
+
roleLevel: z.ZodNumber;
|
|
108
|
+
roleType: z.ZodNumber;
|
|
109
|
+
}, z.core.$strip>>;
|
|
110
|
+
meta: z.ZodObject<{
|
|
111
|
+
message: z.ZodString;
|
|
112
|
+
pagination: z.ZodObject<{
|
|
113
|
+
limit: z.ZodNumber;
|
|
114
|
+
offset: z.ZodNumber;
|
|
115
|
+
totalCount: z.ZodNumber;
|
|
116
|
+
}, z.core.$strip>;
|
|
117
|
+
}, z.core.$strip>;
|
|
118
|
+
}, z.core.$strip>;
|
|
119
|
+
|
|
120
|
+
declare const AssignSalesStaffSchema: z.ZodObject<{
|
|
121
|
+
assignments: z.ZodArray<z.ZodObject<{
|
|
122
|
+
assignStatus: z.ZodBoolean;
|
|
123
|
+
companyId: z.ZodInt;
|
|
124
|
+
}, z.core.$strip>>;
|
|
125
|
+
salesStaffId: z.ZodPipe<z.ZodInt, z.ZodTransform<string, number>>;
|
|
126
|
+
}, z.core.$strip>;
|
|
127
|
+
declare const AssignSalesStaffResponseSchema: z.ZodObject<{
|
|
128
|
+
code: z.ZodInt;
|
|
129
|
+
meta: z.ZodObject<{
|
|
130
|
+
message: z.ZodString;
|
|
131
|
+
}, z.core.$strip>;
|
|
132
|
+
}, z.core.$strip>;
|
|
133
|
+
|
|
134
|
+
declare const CreateCompanyUserSchema: z.ZodObject<{
|
|
135
|
+
acceptWelcomeEmail: z.ZodBoolean;
|
|
136
|
+
companyId: z.ZodInt;
|
|
137
|
+
companyRoleId: z.ZodInt;
|
|
138
|
+
email: z.ZodEmail;
|
|
139
|
+
firstName: z.ZodString;
|
|
140
|
+
lastName: z.ZodString;
|
|
141
|
+
phoneNumber: z.ZodString;
|
|
142
|
+
}, z.core.$strip>;
|
|
143
|
+
declare const CreateCompanyUserResponseSchema: z.ZodObject<{
|
|
144
|
+
code: z.ZodNumber;
|
|
145
|
+
data: z.ZodObject<{
|
|
146
|
+
bcId: z.ZodNumber;
|
|
147
|
+
userId: z.ZodInt;
|
|
148
|
+
}, z.core.$strip>;
|
|
149
|
+
meta: z.ZodObject<{
|
|
150
|
+
message: z.ZodString;
|
|
151
|
+
}, z.core.$strip>;
|
|
152
|
+
}, z.core.$strip>;
|
|
153
|
+
|
|
154
|
+
declare const assignSalesStaffToCompany: (input: z.input<typeof AssignSalesStaffSchema>) => Effect.Effect<{
|
|
155
|
+
code: number;
|
|
156
|
+
meta: {
|
|
157
|
+
message: string;
|
|
158
|
+
};
|
|
159
|
+
}[], SomeBigCommerceError | InputValidationError, BigCommerceFetcher>;
|
|
160
|
+
|
|
161
|
+
declare const createCompany: (data: z.input<typeof CreateCompanySchema>) => Effect.Effect<{
|
|
162
|
+
data: {
|
|
163
|
+
companyId: number;
|
|
164
|
+
};
|
|
165
|
+
meta: {
|
|
166
|
+
message: string;
|
|
167
|
+
};
|
|
168
|
+
}, SomeBigCommerceError | InputValidationError, BigCommerceFetcher>;
|
|
169
|
+
|
|
170
|
+
declare const createCompanyUser: (data: z.input<typeof CreateCompanyUserSchema>) => Effect.Effect<{
|
|
171
|
+
code: number;
|
|
172
|
+
data: {
|
|
173
|
+
bcId: number;
|
|
174
|
+
userId: number;
|
|
175
|
+
};
|
|
176
|
+
meta: {
|
|
177
|
+
message: string;
|
|
178
|
+
};
|
|
179
|
+
}, SomeBigCommerceError | InputValidationError, BigCommerceFetcher>;
|
|
180
|
+
|
|
181
|
+
declare const setCompanyCredit: (input: z.infer<typeof SetCompanyCreditSchema>) => Effect.Effect<Record<string, never>, SomeBigCommerceError | InputValidationError, BigCommerceFetcher>;
|
|
182
|
+
|
|
183
|
+
declare const findCompanyExtraFields: (criteria: z.input<typeof GetCompanyExtraFieldsCriteriaSchema>) => Effect.Effect<{
|
|
184
|
+
data: {
|
|
185
|
+
fieldName: string;
|
|
186
|
+
labelName: string;
|
|
187
|
+
listOfValue?: string[] | undefined;
|
|
188
|
+
maximumLength?: number | undefined;
|
|
189
|
+
}[];
|
|
190
|
+
meta: {
|
|
191
|
+
message: string;
|
|
192
|
+
pagination: {
|
|
193
|
+
totalCount: number;
|
|
194
|
+
offset: number;
|
|
195
|
+
limit: number;
|
|
196
|
+
};
|
|
197
|
+
};
|
|
198
|
+
}, SomeBigCommerceError | InputValidationError, BigCommerceFetcher>;
|
|
199
|
+
declare const getAllCompanyExtraFieldsBy: (criteria?: Omit<z.input<typeof GetCompanyExtraFieldsCriteriaSchema>, "limit" | "offset">) => Effect.Effect<{
|
|
200
|
+
fieldName: string;
|
|
201
|
+
labelName: string;
|
|
202
|
+
listOfValue?: string[] | undefined;
|
|
203
|
+
maximumLength?: number | undefined;
|
|
204
|
+
}[], SomeBigCommerceError | InputValidationError, BigCommerceFetcher>;
|
|
205
|
+
|
|
206
|
+
declare const findCompanyRoles: (criteria: z.infer<typeof GetCompanyRolesCriteriaSchema>) => Effect.Effect<{
|
|
207
|
+
data: {
|
|
208
|
+
id: number;
|
|
209
|
+
name: string;
|
|
210
|
+
roleLevel: number;
|
|
211
|
+
roleType: number;
|
|
212
|
+
}[];
|
|
213
|
+
meta: {
|
|
214
|
+
message: string;
|
|
215
|
+
pagination: {
|
|
216
|
+
limit: number;
|
|
217
|
+
offset: number;
|
|
218
|
+
totalCount: number;
|
|
219
|
+
};
|
|
220
|
+
};
|
|
221
|
+
}, SomeBigCommerceError | InputValidationError, BigCommerceFetcher>;
|
|
222
|
+
declare const getAllCompanyRolesBy: (criteria?: Omit<z.infer<typeof GetCompanyRolesCriteriaSchema>, "limit" | "offset">) => Effect.Effect<{
|
|
223
|
+
id: number;
|
|
224
|
+
name: string;
|
|
225
|
+
roleLevel: number;
|
|
226
|
+
roleType: number;
|
|
227
|
+
}[], SomeBigCommerceError | InputValidationError, BigCommerceFetcher>;
|
|
228
|
+
|
|
229
|
+
declare const setCompanyPaymentMethods: (input: z.infer<typeof SetCompanyPaymentMethodsSchema>) => Effect.Effect<Record<string, never>, SomeBigCommerceError | InputValidationError, BigCommerceFetcher>;
|
|
230
|
+
|
|
231
|
+
export { AssignSalesStaffResponseSchema, AssignSalesStaffSchema, CompanyExtraFieldSchema, CompanyRoleSchema, CreateCompanyResponseSchema, CreateCompanySchema, CreateCompanyUserResponseSchema, CreateCompanyUserSchema, GetCompanyExtraFieldsCriteriaSchema, GetCompanyExtraFieldsResponseSchema, GetCompanyRolesCriteriaSchema, GetCompanyRolesResponseSchema, SetCompanyCreditResponseSchema, SetCompanyCreditSchema, SetCompanyPaymentMethodsResponseSchema, SetCompanyPaymentMethodsSchema, assignSalesStaffToCompany, createCompany, createCompanyUser, findCompanyExtraFields, findCompanyRoles, getAllCompanyExtraFieldsBy, getAllCompanyRolesBy, setCompanyCredit, setCompanyPaymentMethods };
|