@edgebound/bigcommerce 0.2.0 → 0.3.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.
@@ -323,4 +323,4 @@ export {
323
323
  validateBigCommerceConfig,
324
324
  BigCommerceFetcherLive
325
325
  };
326
- //# sourceMappingURL=chunk-2VMEIQCL.mjs.map
326
+ //# sourceMappingURL=chunk-PAXNZ36X.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';\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 { 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"]}
@@ -116,6 +116,7 @@ declare const GetCompanyRolesResponseSchema: z.ZodObject<{
116
116
  }, z.core.$strip>;
117
117
  }, z.core.$strip>;
118
118
  }, z.core.$strip>;
119
+ type GetCompanyRolesResponse = z.output<typeof GetCompanyRolesResponseSchema>;
119
120
 
120
121
  declare const AssignSalesStaffSchema: z.ZodObject<{
121
122
  assignments: z.ZodArray<z.ZodObject<{
@@ -228,4 +229,4 @@ declare const getAllCompanyRolesBy: (criteria?: Omit<z.infer<typeof GetCompanyRo
228
229
 
229
230
  declare const setCompanyPaymentMethods: (input: z.infer<typeof SetCompanyPaymentMethodsSchema>) => Effect.Effect<Record<string, never>, SomeBigCommerceError | InputValidationError, BigCommerceFetcher>;
230
231
 
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 };
232
+ export { AssignSalesStaffResponseSchema, AssignSalesStaffSchema, CompanyExtraFieldSchema, CompanyRoleSchema, CreateCompanyResponseSchema, CreateCompanySchema, CreateCompanyUserResponseSchema, CreateCompanyUserSchema, GetCompanyExtraFieldsCriteriaSchema, GetCompanyExtraFieldsResponseSchema, GetCompanyRolesCriteriaSchema, type GetCompanyRolesResponse, GetCompanyRolesResponseSchema, SetCompanyCreditResponseSchema, SetCompanyCreditSchema, SetCompanyPaymentMethodsResponseSchema, SetCompanyPaymentMethodsSchema, assignSalesStaffToCompany, createCompany, createCompanyUser, findCompanyExtraFields, findCompanyRoles, getAllCompanyExtraFieldsBy, getAllCompanyRolesBy, setCompanyCredit, setCompanyPaymentMethods };
@@ -116,6 +116,7 @@ declare const GetCompanyRolesResponseSchema: z.ZodObject<{
116
116
  }, z.core.$strip>;
117
117
  }, z.core.$strip>;
118
118
  }, z.core.$strip>;
119
+ type GetCompanyRolesResponse = z.output<typeof GetCompanyRolesResponseSchema>;
119
120
 
120
121
  declare const AssignSalesStaffSchema: z.ZodObject<{
121
122
  assignments: z.ZodArray<z.ZodObject<{
@@ -228,4 +229,4 @@ declare const getAllCompanyRolesBy: (criteria?: Omit<z.infer<typeof GetCompanyRo
228
229
 
229
230
  declare const setCompanyPaymentMethods: (input: z.infer<typeof SetCompanyPaymentMethodsSchema>) => Effect.Effect<Record<string, never>, SomeBigCommerceError | InputValidationError, BigCommerceFetcher>;
230
231
 
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 };
232
+ export { AssignSalesStaffResponseSchema, AssignSalesStaffSchema, CompanyExtraFieldSchema, CompanyRoleSchema, CreateCompanyResponseSchema, CreateCompanySchema, CreateCompanyUserResponseSchema, CreateCompanyUserSchema, GetCompanyExtraFieldsCriteriaSchema, GetCompanyExtraFieldsResponseSchema, GetCompanyRolesCriteriaSchema, type GetCompanyRolesResponse, GetCompanyRolesResponseSchema, SetCompanyCreditResponseSchema, SetCompanyCreditSchema, SetCompanyPaymentMethodsResponseSchema, SetCompanyPaymentMethodsSchema, assignSalesStaffToCompany, createCompany, createCompanyUser, findCompanyExtraFields, findCompanyRoles, getAllCompanyExtraFieldsBy, getAllCompanyRolesBy, setCompanyCredit, setCompanyPaymentMethods };
package/dist/companies.js CHANGED
@@ -601,7 +601,7 @@ var setCompanyCredit = (input) => import_effect11.Effect.gen(function* () {
601
601
 
602
602
  // src/bigcommerce-entities/companies/get-company-fields.ts
603
603
  var import_effect12 = require("effect");
604
- var import_qs = __toESM(require("qs"));
604
+ var import_node_querystring = require("querystring");
605
605
  var findCompanyExtraFields = (criteria) => import_effect12.Effect.gen(function* () {
606
606
  const validatedCriteria = yield* validateInput(GetCompanyExtraFieldsCriteriaSchema, criteria);
607
607
  const fetcher = yield* BigCommerceFetcher;
@@ -609,7 +609,7 @@ var findCompanyExtraFields = (criteria) => import_effect12.Effect.gen(function*
609
609
  fetcher.fetch({
610
610
  isB2B: true,
611
611
  method: "GET",
612
- query: import_qs.default.stringify(validatedCriteria),
612
+ query: (0, import_node_querystring.stringify)(validatedCriteria),
613
613
  path: "companies/extra-fields",
614
614
  resultSchema: GetCompanyExtraFieldsResponseSchema,
615
615
  version: "v3"
@@ -640,7 +640,7 @@ var getAllCompanyExtraFieldsBy = (criteria) => import_effect12.Effect.gen(functi
640
640
 
641
641
  // src/bigcommerce-entities/companies/get-company-roles.ts
642
642
  var import_effect13 = require("effect");
643
- var import_qs2 = __toESM(require("qs"));
643
+ var import_node_querystring2 = require("querystring");
644
644
  var findCompanyRoles = (criteria) => import_effect13.Effect.gen(function* () {
645
645
  const validatedCriteria = yield* validateInput(GetCompanyRolesCriteriaSchema, criteria);
646
646
  const fetcher = yield* BigCommerceFetcher;
@@ -648,7 +648,7 @@ var findCompanyRoles = (criteria) => import_effect13.Effect.gen(function* () {
648
648
  fetcher.fetch({
649
649
  isB2B: true,
650
650
  method: "GET",
651
- query: import_qs2.default.stringify(validatedCriteria),
651
+ query: (0, import_node_querystring2.stringify)(validatedCriteria),
652
652
  path: "companies/roles",
653
653
  resultSchema: GetCompanyRolesResponseSchema,
654
654
  version: "v3"
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/bigcommerce-entities/companies/index.ts","../src/bigcommerce-entities/companies/assign-sales-staff.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/companies/schemas/company.schema.ts","../src/bigcommerce-entities/companies/schemas/credit.schemas.ts","../src/bigcommerce-entities/companies/schemas/extra-fields.schema.ts","../src/bigcommerce-entities/companies/schemas/payment-methods.schema.ts","../src/bigcommerce-entities/companies/schemas/roles.ts","../src/bigcommerce-entities/companies/schemas/sales-staff.schema.ts","../src/bigcommerce-entities/companies/schemas/user.schema.ts","../src/bigcommerce-entities/companies/create-company.ts","../src/bigcommerce-entities/companies/create-company-user.ts","../src/bigcommerce-entities/companies/credit.ts","../src/bigcommerce-entities/companies/get-company-fields.ts","../src/bigcommerce-entities/companies/get-company-roles.ts","../src/bigcommerce-entities/companies/set-payment-methods.ts"],"sourcesContent":["export * from './assign-sales-staff';\nexport * from './create-company';\nexport * from './create-company-user';\nexport * from './credit';\nexport * from './get-company-fields';\nexport * from './get-company-roles';\nexport * from './schemas';\nexport * from './set-payment-methods';\n","import { Chunk, Effect, Stream } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { AssignSalesStaffResponseSchema, AssignSalesStaffSchema } from './schemas';\nconst assignSalesStaffToCompanyBatch = (\n staffId: string,\n assignments: z.input<typeof AssignSalesStaffSchema>['assignments'],\n) =>\n Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n return yield* Effect.retry(\n fetcher.fetch({\n isB2B: true,\n method: 'PUT',\n path: `sales-staffs/${staffId}`,\n version: 'v3',\n body: assignments,\n resultSchema: AssignSalesStaffResponseSchema,\n }),\n DEFAULTS.retry.policy,\n );\n });\n\nexport const assignSalesStaffToCompany = (input: z.input<typeof AssignSalesStaffSchema>) =>\n Effect.gen(function* () {\n const validatedInput = yield* validateInput(AssignSalesStaffSchema, input);\n return yield* Stream.fromIterable(validatedInput.assignments).pipe(\n Stream.grouped(DEFAULTS.companies.salesStaffAssignments.assignBatchSize),\n Stream.mapEffect(\n (chunk) =>\n assignSalesStaffToCompanyBatch(validatedInput.salesStaffId, Chunk.toArray(chunk)),\n { concurrency: DEFAULTS.companies.salesStaffAssignments.concurrency },\n ),\n Stream.runCollect,\n Effect.map(Chunk.toArray),\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';\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 { 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';\nexport const CreateCompanySchema = z.object({\n companyName: z.string(),\n companyPhone: z.string(),\n companyEmail: z.string(),\n addressLine1: z.string(),\n addressLine2: z.string(),\n city: z.string(),\n state: z.string(),\n country: z.string(),\n zipCode: z.string(),\n adminFirstName: z.string(),\n adminLastName: z.string(),\n adminEmail: z.string(),\n adminPhoneNumber: z.string(),\n acceptCreationEmail: z.boolean(),\n uuid: z.string(),\n channelIds: z.array(z.int()),\n originChannelId: z.int(),\n customerGroupId: z.int(),\n extraFields: z.array(\n z.object({\n fieldName: z.string(),\n fieldValue: z.string(),\n }),\n ),\n});\n\nexport const CreateCompanyResponseSchema = z.object({\n data: z.object({\n companyId: z.int(),\n }),\n meta: z.object({\n message: z.string(),\n }),\n});\n","import * as z from 'zod';\nexport const SetCompanyCreditSchema = z.object({\n data: z.object({\n creditEnabled: z.boolean(),\n creditCurrency: z.enum(['MXN']),\n availableCredit: z.number(),\n limitPurchases: z.boolean(),\n creditHold: z.boolean(),\n }),\n companyId: z.int(),\n});\n\nexport const SetCompanyCreditResponseSchema = z.object({});\n","import * as z from 'zod';\nimport { DEFAULTS } from '../../../constants';\nexport const GetCompanyExtraFieldsCriteriaSchema = z.object({\n limit: z.int().max(DEFAULTS.companies.extraFields.getBatchSize).optional(),\n offset: z.int().optional(),\n});\nexport const CompanyExtraFieldSchema = z.object({\n fieldName: z.string(),\n labelName: z.string(),\n listOfValue: z.string().array().optional(),\n maximumLength: z.coerce.number().optional(),\n});\nexport const GetCompanyExtraFieldsResponseSchema = z.object({\n data: CompanyExtraFieldSchema.array(),\n meta: z.object({\n message: z.string(),\n pagination: z.object({\n totalCount: z.number(),\n offset: z.number(),\n limit: z.number(),\n }),\n }),\n});\n","import * as z from 'zod';\nexport const SetCompanyPaymentMethodsSchema = z.object({\n data: z.object({\n payments: z\n .object({\n code: z.string(),\n isEnabled: z.boolean(),\n })\n .array(),\n }),\n companyId: z.int(),\n});\n\nexport const SetCompanyPaymentMethodsResponseSchema = z.object({});\n","import * as z from 'zod';\nexport const CompanyRoleSchema = z.object({\n id: z.int(),\n name: z.string(),\n roleLevel: z.number(),\n roleType: z.number(),\n});\nexport const GetCompanyRolesCriteriaSchema = z.object({\n limit: z.int().optional(),\n offset: z.int().optional(),\n});\nexport const GetCompanyRolesResponseSchema = z.object({\n data: CompanyRoleSchema.array(),\n meta: z.object({\n message: z.string(),\n pagination: z.object({\n limit: z.number(),\n offset: z.number(),\n totalCount: z.number(),\n }),\n }),\n});\n","import * as z from 'zod';\nexport const AssignSalesStaffSchema = z.object({\n assignments: z.array(\n z.object({\n assignStatus: z.boolean(),\n companyId: z.int(),\n }),\n ),\n salesStaffId: z.int().transform(String),\n});\n\nexport const AssignSalesStaffResponseSchema = z.object({\n code: z.int(),\n meta: z.object({\n message: z.string(),\n }),\n});\n","import * as z from 'zod';\nexport const CreateCompanyUserSchema = z.object({\n acceptWelcomeEmail: z.boolean(),\n companyId: z.int(),\n companyRoleId: z.int(),\n email: z.email(),\n firstName: z.string(),\n lastName: z.string(),\n phoneNumber: z.string(),\n});\n\nexport const CreateCompanyUserResponseSchema = z.object({\n code: z.number(),\n data: z.object({\n bcId: z.number(),\n userId: z.int(),\n }),\n meta: z.object({\n message: z.string(),\n }),\n});\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { CreateCompanyResponseSchema, CreateCompanySchema } from './schemas/company.schema';\nexport const createCompany = (data: z.input<typeof CreateCompanySchema>) =>\n Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n const validatedData = yield* validateInput(CreateCompanySchema, data);\n return yield* Effect.retry(\n fetcher.fetch({\n isB2B: true,\n method: 'POST',\n path: 'companies',\n resultSchema: CreateCompanyResponseSchema,\n version: 'v3',\n body: validatedData,\n }),\n DEFAULTS.retry.policy,\n );\n });\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { CreateCompanyUserResponseSchema, CreateCompanyUserSchema } from './schemas/user.schema';\nexport const createCompanyUser = (data: z.input<typeof CreateCompanyUserSchema>) =>\n Effect.gen(function* () {\n const validatedData = yield* validateInput(CreateCompanyUserSchema, data);\n const fetcher = yield* BigCommerceFetcher;\n\n return yield* Effect.retry(\n fetcher.fetch({\n body: validatedData,\n isB2B: true,\n method: 'POST',\n path: 'users',\n resultSchema: CreateCompanyUserResponseSchema,\n version: 'v3',\n }),\n DEFAULTS.retry.policy,\n );\n });\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { SetCompanyCreditResponseSchema, SetCompanyCreditSchema } from './schemas/credit.schemas';\nexport const setCompanyCredit = (input: z.infer<typeof SetCompanyCreditSchema>) =>\n Effect.gen(function* () {\n const { companyId, data } = yield* validateInput(SetCompanyCreditSchema, input);\n const fetcher = yield* BigCommerceFetcher;\n\n return yield* Effect.retry(\n fetcher.fetch({\n body: data,\n isB2B: true,\n method: 'PUT',\n path: `companies/${companyId}/credit`,\n resultSchema: SetCompanyCreditResponseSchema,\n version: 'v3',\n }),\n DEFAULTS.retry.policy,\n );\n });\n","import { Effect } from 'effect';\nimport qs from 'qs';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport {\n GetCompanyExtraFieldsCriteriaSchema,\n GetCompanyExtraFieldsResponseSchema,\n} from './schemas/extra-fields.schema';\nexport const findCompanyExtraFields = (\n criteria: z.input<typeof GetCompanyExtraFieldsCriteriaSchema>,\n) =>\n Effect.gen(function* () {\n const validatedCriteria = yield* validateInput(GetCompanyExtraFieldsCriteriaSchema, criteria);\n const fetcher = yield* BigCommerceFetcher;\n\n return yield* Effect.retry(\n fetcher.fetch({\n isB2B: true,\n method: 'GET',\n query: qs.stringify(validatedCriteria),\n path: 'companies/extra-fields',\n resultSchema: GetCompanyExtraFieldsResponseSchema,\n version: 'v3',\n }),\n DEFAULTS.retry.policy,\n );\n });\n\nexport const getAllCompanyExtraFieldsBy = (\n criteria?: Omit<z.input<typeof GetCompanyExtraFieldsCriteriaSchema>, 'limit' | 'offset'>,\n) =>\n Effect.gen(function* () {\n let offset = 0;\n const limit = DEFAULTS.companies.extraFields.getBatchSize;\n let hasMore = true;\n const data: z.infer<typeof GetCompanyExtraFieldsResponseSchema>['data'] = [];\n while (hasMore) {\n const response = yield* findCompanyExtraFields({\n ...criteria,\n limit,\n offset,\n });\n if (response.data.length) {\n offset += limit;\n data.push(...response.data);\n } else {\n hasMore = false;\n }\n }\n\n return data;\n });\n","import { Effect } from 'effect';\nimport qs from 'qs';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { GetCompanyRolesCriteriaSchema, GetCompanyRolesResponseSchema } from './schemas/roles';\nexport const findCompanyRoles = (criteria: z.infer<typeof GetCompanyRolesCriteriaSchema>) =>\n Effect.gen(function* () {\n const validatedCriteria = yield* validateInput(GetCompanyRolesCriteriaSchema, criteria);\n const fetcher = yield* BigCommerceFetcher;\n\n return yield* Effect.retry(\n fetcher.fetch({\n isB2B: true,\n method: 'GET',\n query: qs.stringify(validatedCriteria),\n path: 'companies/roles',\n resultSchema: GetCompanyRolesResponseSchema,\n version: 'v3',\n }),\n DEFAULTS.retry.policy,\n );\n });\n\nexport const getAllCompanyRolesBy = (\n criteria?: Omit<z.infer<typeof GetCompanyRolesCriteriaSchema>, 'limit' | 'offset'>,\n) =>\n Effect.gen(function* () {\n let hasMore = true;\n const data: z.output<typeof GetCompanyRolesResponseSchema>['data'] = [];\n let offset = 0;\n const limit = DEFAULTS.companies.roles.getBatchSize;\n while (hasMore) {\n const response = yield* findCompanyRoles({\n ...criteria,\n limit,\n offset,\n });\n if (response.data.length) {\n offset += limit;\n data.push(...response.data);\n } else {\n hasMore = false;\n }\n }\n return data;\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 SetCompanyPaymentMethodsResponseSchema,\n SetCompanyPaymentMethodsSchema,\n} from './schemas/payment-methods.schema';\nexport const setCompanyPaymentMethods = (input: z.infer<typeof SetCompanyPaymentMethodsSchema>) =>\n Effect.gen(function* () {\n const { companyId, data } = yield* validateInput(SetCompanyPaymentMethodsSchema, input);\n const fetcher = yield* BigCommerceFetcher;\n\n return yield* Effect.retry(\n fetcher.fetch({\n body: data,\n isB2B: true,\n method: 'PUT',\n path: `companies/${companyId}/payments`,\n resultSchema: SetCompanyPaymentMethodsResponseSchema,\n version: 'v3',\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","z","z","z","z","z","z","import_effect","import_effect","import_effect","import_effect","qs","import_effect","import_qs","qs","import_effect"]}
1
+ {"version":3,"sources":["../src/bigcommerce-entities/companies/index.ts","../src/bigcommerce-entities/companies/assign-sales-staff.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/companies/schemas/company.schema.ts","../src/bigcommerce-entities/companies/schemas/credit.schemas.ts","../src/bigcommerce-entities/companies/schemas/extra-fields.schema.ts","../src/bigcommerce-entities/companies/schemas/payment-methods.schema.ts","../src/bigcommerce-entities/companies/schemas/roles.ts","../src/bigcommerce-entities/companies/schemas/sales-staff.schema.ts","../src/bigcommerce-entities/companies/schemas/user.schema.ts","../src/bigcommerce-entities/companies/create-company.ts","../src/bigcommerce-entities/companies/create-company-user.ts","../src/bigcommerce-entities/companies/credit.ts","../src/bigcommerce-entities/companies/get-company-fields.ts","../src/bigcommerce-entities/companies/get-company-roles.ts","../src/bigcommerce-entities/companies/set-payment-methods.ts"],"sourcesContent":["export * from './assign-sales-staff';\nexport * from './create-company';\nexport * from './create-company-user';\nexport * from './credit';\nexport * from './get-company-fields';\nexport * from './get-company-roles';\nexport * from './schemas';\nexport * from './set-payment-methods';\n","import { Chunk, Effect, Stream } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { AssignSalesStaffResponseSchema, AssignSalesStaffSchema } from './schemas';\nconst assignSalesStaffToCompanyBatch = (\n staffId: string,\n assignments: z.input<typeof AssignSalesStaffSchema>['assignments'],\n) =>\n Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n return yield* Effect.retry(\n fetcher.fetch({\n isB2B: true,\n method: 'PUT',\n path: `sales-staffs/${staffId}`,\n version: 'v3',\n body: assignments,\n resultSchema: AssignSalesStaffResponseSchema,\n }),\n DEFAULTS.retry.policy,\n );\n });\n\nexport const assignSalesStaffToCompany = (input: z.input<typeof AssignSalesStaffSchema>) =>\n Effect.gen(function* () {\n const validatedInput = yield* validateInput(AssignSalesStaffSchema, input);\n return yield* Stream.fromIterable(validatedInput.assignments).pipe(\n Stream.grouped(DEFAULTS.companies.salesStaffAssignments.assignBatchSize),\n Stream.mapEffect(\n (chunk) =>\n assignSalesStaffToCompanyBatch(validatedInput.salesStaffId, Chunk.toArray(chunk)),\n { concurrency: DEFAULTS.companies.salesStaffAssignments.concurrency },\n ),\n Stream.runCollect,\n Effect.map(Chunk.toArray),\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';\nexport const CreateCompanySchema = z.object({\n companyName: z.string(),\n companyPhone: z.string(),\n companyEmail: z.string(),\n addressLine1: z.string(),\n addressLine2: z.string(),\n city: z.string(),\n state: z.string(),\n country: z.string(),\n zipCode: z.string(),\n adminFirstName: z.string(),\n adminLastName: z.string(),\n adminEmail: z.string(),\n adminPhoneNumber: z.string(),\n acceptCreationEmail: z.boolean(),\n uuid: z.string(),\n channelIds: z.array(z.int()),\n originChannelId: z.int(),\n customerGroupId: z.int(),\n extraFields: z.array(\n z.object({\n fieldName: z.string(),\n fieldValue: z.string(),\n }),\n ),\n});\n\nexport const CreateCompanyResponseSchema = z.object({\n data: z.object({\n companyId: z.int(),\n }),\n meta: z.object({\n message: z.string(),\n }),\n});\n","import * as z from 'zod';\nexport const SetCompanyCreditSchema = z.object({\n data: z.object({\n creditEnabled: z.boolean(),\n creditCurrency: z.enum(['MXN']),\n availableCredit: z.number(),\n limitPurchases: z.boolean(),\n creditHold: z.boolean(),\n }),\n companyId: z.int(),\n});\n\nexport const SetCompanyCreditResponseSchema = z.object({});\n","import * as z from 'zod';\nimport { DEFAULTS } from '../../../constants';\nexport const GetCompanyExtraFieldsCriteriaSchema = z.object({\n limit: z.int().max(DEFAULTS.companies.extraFields.getBatchSize).optional(),\n offset: z.int().optional(),\n});\nexport const CompanyExtraFieldSchema = z.object({\n fieldName: z.string(),\n labelName: z.string(),\n listOfValue: z.string().array().optional(),\n maximumLength: z.coerce.number().optional(),\n});\nexport const GetCompanyExtraFieldsResponseSchema = z.object({\n data: CompanyExtraFieldSchema.array(),\n meta: z.object({\n message: z.string(),\n pagination: z.object({\n totalCount: z.number(),\n offset: z.number(),\n limit: z.number(),\n }),\n }),\n});\n","import * as z from 'zod';\nexport const SetCompanyPaymentMethodsSchema = z.object({\n data: z.object({\n payments: z\n .object({\n code: z.string(),\n isEnabled: z.boolean(),\n })\n .array(),\n }),\n companyId: z.int(),\n});\n\nexport const SetCompanyPaymentMethodsResponseSchema = z.object({});\n","import * as z from 'zod';\nexport const CompanyRoleSchema = z.object({\n id: z.int(),\n name: z.string(),\n roleLevel: z.number(),\n roleType: z.number(),\n});\nexport const GetCompanyRolesCriteriaSchema = z.object({\n limit: z.int().optional(),\n offset: z.int().optional(),\n});\nexport const GetCompanyRolesResponseSchema = z.object({\n data: CompanyRoleSchema.array(),\n meta: z.object({\n message: z.string(),\n pagination: z.object({\n limit: z.number(),\n offset: z.number(),\n totalCount: z.number(),\n }),\n }),\n});\nexport type GetCompanyRolesResponse = z.output<typeof GetCompanyRolesResponseSchema>;\n","import * as z from 'zod';\nexport const AssignSalesStaffSchema = z.object({\n assignments: z.array(\n z.object({\n assignStatus: z.boolean(),\n companyId: z.int(),\n }),\n ),\n salesStaffId: z.int().transform(String),\n});\n\nexport const AssignSalesStaffResponseSchema = z.object({\n code: z.int(),\n meta: z.object({\n message: z.string(),\n }),\n});\n","import * as z from 'zod';\nexport const CreateCompanyUserSchema = z.object({\n acceptWelcomeEmail: z.boolean(),\n companyId: z.int(),\n companyRoleId: z.int(),\n email: z.email(),\n firstName: z.string(),\n lastName: z.string(),\n phoneNumber: z.string(),\n});\n\nexport const CreateCompanyUserResponseSchema = z.object({\n code: z.number(),\n data: z.object({\n bcId: z.number(),\n userId: z.int(),\n }),\n meta: z.object({\n message: z.string(),\n }),\n});\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { CreateCompanyResponseSchema, CreateCompanySchema } from './schemas/company.schema';\nexport const createCompany = (data: z.input<typeof CreateCompanySchema>) =>\n Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n const validatedData = yield* validateInput(CreateCompanySchema, data);\n return yield* Effect.retry(\n fetcher.fetch({\n isB2B: true,\n method: 'POST',\n path: 'companies',\n resultSchema: CreateCompanyResponseSchema,\n version: 'v3',\n body: validatedData,\n }),\n DEFAULTS.retry.policy,\n );\n });\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { CreateCompanyUserResponseSchema, CreateCompanyUserSchema } from './schemas/user.schema';\nexport const createCompanyUser = (data: z.input<typeof CreateCompanyUserSchema>) =>\n Effect.gen(function* () {\n const validatedData = yield* validateInput(CreateCompanyUserSchema, data);\n const fetcher = yield* BigCommerceFetcher;\n\n return yield* Effect.retry(\n fetcher.fetch({\n body: validatedData,\n isB2B: true,\n method: 'POST',\n path: 'users',\n resultSchema: CreateCompanyUserResponseSchema,\n version: 'v3',\n }),\n DEFAULTS.retry.policy,\n );\n });\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { SetCompanyCreditResponseSchema, SetCompanyCreditSchema } from './schemas/credit.schemas';\nexport const setCompanyCredit = (input: z.infer<typeof SetCompanyCreditSchema>) =>\n Effect.gen(function* () {\n const { companyId, data } = yield* validateInput(SetCompanyCreditSchema, input);\n const fetcher = yield* BigCommerceFetcher;\n\n return yield* Effect.retry(\n fetcher.fetch({\n body: data,\n isB2B: true,\n method: 'PUT',\n path: `companies/${companyId}/credit`,\n resultSchema: SetCompanyCreditResponseSchema,\n version: 'v3',\n }),\n DEFAULTS.retry.policy,\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 {\n GetCompanyExtraFieldsCriteriaSchema,\n GetCompanyExtraFieldsResponseSchema,\n} from './schemas/extra-fields.schema';\nexport const findCompanyExtraFields = (\n criteria: z.input<typeof GetCompanyExtraFieldsCriteriaSchema>,\n) =>\n Effect.gen(function* () {\n const validatedCriteria = yield* validateInput(GetCompanyExtraFieldsCriteriaSchema, criteria);\n const fetcher = yield* BigCommerceFetcher;\n\n return yield* Effect.retry(\n fetcher.fetch({\n isB2B: true,\n method: 'GET',\n query: stringify(validatedCriteria),\n path: 'companies/extra-fields',\n resultSchema: GetCompanyExtraFieldsResponseSchema,\n version: 'v3',\n }),\n DEFAULTS.retry.policy,\n );\n });\n\nexport const getAllCompanyExtraFieldsBy = (\n criteria?: Omit<z.input<typeof GetCompanyExtraFieldsCriteriaSchema>, 'limit' | 'offset'>,\n) =>\n Effect.gen(function* () {\n let offset = 0;\n const limit = DEFAULTS.companies.extraFields.getBatchSize;\n let hasMore = true;\n const data: z.infer<typeof GetCompanyExtraFieldsResponseSchema>['data'] = [];\n while (hasMore) {\n const response = yield* findCompanyExtraFields({\n ...criteria,\n limit,\n offset,\n });\n if (response.data.length) {\n offset += limit;\n data.push(...response.data);\n } else {\n hasMore = false;\n }\n }\n\n return data;\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 GetCompanyRolesCriteriaSchema,\n GetCompanyRolesResponseSchema,\n type GetCompanyRolesResponse,\n} from './schemas/roles';\nexport const findCompanyRoles = (criteria: z.infer<typeof GetCompanyRolesCriteriaSchema>) =>\n Effect.gen(function* () {\n const validatedCriteria = yield* validateInput(GetCompanyRolesCriteriaSchema, criteria);\n const fetcher = yield* BigCommerceFetcher;\n\n return yield* Effect.retry(\n fetcher.fetch({\n isB2B: true,\n method: 'GET',\n query: stringify(validatedCriteria),\n path: 'companies/roles',\n resultSchema: GetCompanyRolesResponseSchema,\n version: 'v3',\n }),\n DEFAULTS.retry.policy,\n );\n });\n\nexport const getAllCompanyRolesBy = (\n criteria?: Omit<z.infer<typeof GetCompanyRolesCriteriaSchema>, 'limit' | 'offset'>,\n) =>\n Effect.gen(function* () {\n let hasMore = true;\n const data: GetCompanyRolesResponse['data'] = [];\n let offset = 0;\n const limit = DEFAULTS.companies.roles.getBatchSize;\n while (hasMore) {\n const response = yield* findCompanyRoles({\n ...criteria,\n limit,\n offset,\n });\n if (response.data.length) {\n offset += limit;\n data.push(...response.data);\n } else {\n hasMore = false;\n }\n }\n return data;\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 SetCompanyPaymentMethodsResponseSchema,\n SetCompanyPaymentMethodsSchema,\n} from './schemas/payment-methods.schema';\nexport const setCompanyPaymentMethods = (input: z.infer<typeof SetCompanyPaymentMethodsSchema>) =>\n Effect.gen(function* () {\n const { companyId, data } = yield* validateInput(SetCompanyPaymentMethodsSchema, input);\n const fetcher = yield* BigCommerceFetcher;\n\n return yield* Effect.retry(\n fetcher.fetch({\n body: data,\n isB2B: true,\n method: 'PUT',\n path: `companies/${companyId}/payments`,\n resultSchema: SetCompanyPaymentMethodsResponseSchema,\n version: 'v3',\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","z","z","z","z","z","z","import_effect","import_effect","import_effect","import_effect","import_effect","import_node_querystring","import_effect"]}
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  BigCommerceFetcher,
6
6
  DEFAULTS
7
- } from "./chunk-2VMEIQCL.mjs";
7
+ } from "./chunk-PAXNZ36X.mjs";
8
8
 
9
9
  // src/bigcommerce-entities/companies/assign-sales-staff.ts
10
10
  import { Chunk, Effect, Stream } from "effect";
@@ -245,7 +245,7 @@ var setCompanyCredit = (input) => Effect4.gen(function* () {
245
245
 
246
246
  // src/bigcommerce-entities/companies/get-company-fields.ts
247
247
  import { Effect as Effect5 } from "effect";
248
- import qs from "qs";
248
+ import { stringify } from "querystring";
249
249
  var findCompanyExtraFields = (criteria) => Effect5.gen(function* () {
250
250
  const validatedCriteria = yield* validateInput(GetCompanyExtraFieldsCriteriaSchema, criteria);
251
251
  const fetcher = yield* BigCommerceFetcher;
@@ -253,7 +253,7 @@ var findCompanyExtraFields = (criteria) => Effect5.gen(function* () {
253
253
  fetcher.fetch({
254
254
  isB2B: true,
255
255
  method: "GET",
256
- query: qs.stringify(validatedCriteria),
256
+ query: stringify(validatedCriteria),
257
257
  path: "companies/extra-fields",
258
258
  resultSchema: GetCompanyExtraFieldsResponseSchema,
259
259
  version: "v3"
@@ -284,7 +284,7 @@ var getAllCompanyExtraFieldsBy = (criteria) => Effect5.gen(function* () {
284
284
 
285
285
  // src/bigcommerce-entities/companies/get-company-roles.ts
286
286
  import { Effect as Effect6 } from "effect";
287
- import qs2 from "qs";
287
+ import { stringify as stringify2 } from "querystring";
288
288
  var findCompanyRoles = (criteria) => Effect6.gen(function* () {
289
289
  const validatedCriteria = yield* validateInput(GetCompanyRolesCriteriaSchema, criteria);
290
290
  const fetcher = yield* BigCommerceFetcher;
@@ -292,7 +292,7 @@ var findCompanyRoles = (criteria) => Effect6.gen(function* () {
292
292
  fetcher.fetch({
293
293
  isB2B: true,
294
294
  method: "GET",
295
- query: qs2.stringify(validatedCriteria),
295
+ query: stringify2(validatedCriteria),
296
296
  path: "companies/roles",
297
297
  resultSchema: GetCompanyRolesResponseSchema,
298
298
  version: "v3"
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/bigcommerce-entities/companies/assign-sales-staff.ts","../src/bigcommerce-entities/companies/schemas/company.schema.ts","../src/bigcommerce-entities/companies/schemas/credit.schemas.ts","../src/bigcommerce-entities/companies/schemas/extra-fields.schema.ts","../src/bigcommerce-entities/companies/schemas/payment-methods.schema.ts","../src/bigcommerce-entities/companies/schemas/roles.ts","../src/bigcommerce-entities/companies/schemas/sales-staff.schema.ts","../src/bigcommerce-entities/companies/schemas/user.schema.ts","../src/bigcommerce-entities/companies/create-company.ts","../src/bigcommerce-entities/companies/create-company-user.ts","../src/bigcommerce-entities/companies/credit.ts","../src/bigcommerce-entities/companies/get-company-fields.ts","../src/bigcommerce-entities/companies/get-company-roles.ts","../src/bigcommerce-entities/companies/set-payment-methods.ts"],"sourcesContent":["import { Chunk, Effect, Stream } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { AssignSalesStaffResponseSchema, AssignSalesStaffSchema } from './schemas';\nconst assignSalesStaffToCompanyBatch = (\n staffId: string,\n assignments: z.input<typeof AssignSalesStaffSchema>['assignments'],\n) =>\n Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n return yield* Effect.retry(\n fetcher.fetch({\n isB2B: true,\n method: 'PUT',\n path: `sales-staffs/${staffId}`,\n version: 'v3',\n body: assignments,\n resultSchema: AssignSalesStaffResponseSchema,\n }),\n DEFAULTS.retry.policy,\n );\n });\n\nexport const assignSalesStaffToCompany = (input: z.input<typeof AssignSalesStaffSchema>) =>\n Effect.gen(function* () {\n const validatedInput = yield* validateInput(AssignSalesStaffSchema, input);\n return yield* Stream.fromIterable(validatedInput.assignments).pipe(\n Stream.grouped(DEFAULTS.companies.salesStaffAssignments.assignBatchSize),\n Stream.mapEffect(\n (chunk) =>\n assignSalesStaffToCompanyBatch(validatedInput.salesStaffId, Chunk.toArray(chunk)),\n { concurrency: DEFAULTS.companies.salesStaffAssignments.concurrency },\n ),\n Stream.runCollect,\n Effect.map(Chunk.toArray),\n );\n });\n","import * as z from 'zod';\nexport const CreateCompanySchema = z.object({\n companyName: z.string(),\n companyPhone: z.string(),\n companyEmail: z.string(),\n addressLine1: z.string(),\n addressLine2: z.string(),\n city: z.string(),\n state: z.string(),\n country: z.string(),\n zipCode: z.string(),\n adminFirstName: z.string(),\n adminLastName: z.string(),\n adminEmail: z.string(),\n adminPhoneNumber: z.string(),\n acceptCreationEmail: z.boolean(),\n uuid: z.string(),\n channelIds: z.array(z.int()),\n originChannelId: z.int(),\n customerGroupId: z.int(),\n extraFields: z.array(\n z.object({\n fieldName: z.string(),\n fieldValue: z.string(),\n }),\n ),\n});\n\nexport const CreateCompanyResponseSchema = z.object({\n data: z.object({\n companyId: z.int(),\n }),\n meta: z.object({\n message: z.string(),\n }),\n});\n","import * as z from 'zod';\nexport const SetCompanyCreditSchema = z.object({\n data: z.object({\n creditEnabled: z.boolean(),\n creditCurrency: z.enum(['MXN']),\n availableCredit: z.number(),\n limitPurchases: z.boolean(),\n creditHold: z.boolean(),\n }),\n companyId: z.int(),\n});\n\nexport const SetCompanyCreditResponseSchema = z.object({});\n","import * as z from 'zod';\nimport { DEFAULTS } from '../../../constants';\nexport const GetCompanyExtraFieldsCriteriaSchema = z.object({\n limit: z.int().max(DEFAULTS.companies.extraFields.getBatchSize).optional(),\n offset: z.int().optional(),\n});\nexport const CompanyExtraFieldSchema = z.object({\n fieldName: z.string(),\n labelName: z.string(),\n listOfValue: z.string().array().optional(),\n maximumLength: z.coerce.number().optional(),\n});\nexport const GetCompanyExtraFieldsResponseSchema = z.object({\n data: CompanyExtraFieldSchema.array(),\n meta: z.object({\n message: z.string(),\n pagination: z.object({\n totalCount: z.number(),\n offset: z.number(),\n limit: z.number(),\n }),\n }),\n});\n","import * as z from 'zod';\nexport const SetCompanyPaymentMethodsSchema = z.object({\n data: z.object({\n payments: z\n .object({\n code: z.string(),\n isEnabled: z.boolean(),\n })\n .array(),\n }),\n companyId: z.int(),\n});\n\nexport const SetCompanyPaymentMethodsResponseSchema = z.object({});\n","import * as z from 'zod';\nexport const CompanyRoleSchema = z.object({\n id: z.int(),\n name: z.string(),\n roleLevel: z.number(),\n roleType: z.number(),\n});\nexport const GetCompanyRolesCriteriaSchema = z.object({\n limit: z.int().optional(),\n offset: z.int().optional(),\n});\nexport const GetCompanyRolesResponseSchema = z.object({\n data: CompanyRoleSchema.array(),\n meta: z.object({\n message: z.string(),\n pagination: z.object({\n limit: z.number(),\n offset: z.number(),\n totalCount: z.number(),\n }),\n }),\n});\n","import * as z from 'zod';\nexport const AssignSalesStaffSchema = z.object({\n assignments: z.array(\n z.object({\n assignStatus: z.boolean(),\n companyId: z.int(),\n }),\n ),\n salesStaffId: z.int().transform(String),\n});\n\nexport const AssignSalesStaffResponseSchema = z.object({\n code: z.int(),\n meta: z.object({\n message: z.string(),\n }),\n});\n","import * as z from 'zod';\nexport const CreateCompanyUserSchema = z.object({\n acceptWelcomeEmail: z.boolean(),\n companyId: z.int(),\n companyRoleId: z.int(),\n email: z.email(),\n firstName: z.string(),\n lastName: z.string(),\n phoneNumber: z.string(),\n});\n\nexport const CreateCompanyUserResponseSchema = z.object({\n code: z.number(),\n data: z.object({\n bcId: z.number(),\n userId: z.int(),\n }),\n meta: z.object({\n message: z.string(),\n }),\n});\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { CreateCompanyResponseSchema, CreateCompanySchema } from './schemas/company.schema';\nexport const createCompany = (data: z.input<typeof CreateCompanySchema>) =>\n Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n const validatedData = yield* validateInput(CreateCompanySchema, data);\n return yield* Effect.retry(\n fetcher.fetch({\n isB2B: true,\n method: 'POST',\n path: 'companies',\n resultSchema: CreateCompanyResponseSchema,\n version: 'v3',\n body: validatedData,\n }),\n DEFAULTS.retry.policy,\n );\n });\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { CreateCompanyUserResponseSchema, CreateCompanyUserSchema } from './schemas/user.schema';\nexport const createCompanyUser = (data: z.input<typeof CreateCompanyUserSchema>) =>\n Effect.gen(function* () {\n const validatedData = yield* validateInput(CreateCompanyUserSchema, data);\n const fetcher = yield* BigCommerceFetcher;\n\n return yield* Effect.retry(\n fetcher.fetch({\n body: validatedData,\n isB2B: true,\n method: 'POST',\n path: 'users',\n resultSchema: CreateCompanyUserResponseSchema,\n version: 'v3',\n }),\n DEFAULTS.retry.policy,\n );\n });\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { SetCompanyCreditResponseSchema, SetCompanyCreditSchema } from './schemas/credit.schemas';\nexport const setCompanyCredit = (input: z.infer<typeof SetCompanyCreditSchema>) =>\n Effect.gen(function* () {\n const { companyId, data } = yield* validateInput(SetCompanyCreditSchema, input);\n const fetcher = yield* BigCommerceFetcher;\n\n return yield* Effect.retry(\n fetcher.fetch({\n body: data,\n isB2B: true,\n method: 'PUT',\n path: `companies/${companyId}/credit`,\n resultSchema: SetCompanyCreditResponseSchema,\n version: 'v3',\n }),\n DEFAULTS.retry.policy,\n );\n });\n","import { Effect } from 'effect';\nimport qs from 'qs';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport {\n GetCompanyExtraFieldsCriteriaSchema,\n GetCompanyExtraFieldsResponseSchema,\n} from './schemas/extra-fields.schema';\nexport const findCompanyExtraFields = (\n criteria: z.input<typeof GetCompanyExtraFieldsCriteriaSchema>,\n) =>\n Effect.gen(function* () {\n const validatedCriteria = yield* validateInput(GetCompanyExtraFieldsCriteriaSchema, criteria);\n const fetcher = yield* BigCommerceFetcher;\n\n return yield* Effect.retry(\n fetcher.fetch({\n isB2B: true,\n method: 'GET',\n query: qs.stringify(validatedCriteria),\n path: 'companies/extra-fields',\n resultSchema: GetCompanyExtraFieldsResponseSchema,\n version: 'v3',\n }),\n DEFAULTS.retry.policy,\n );\n });\n\nexport const getAllCompanyExtraFieldsBy = (\n criteria?: Omit<z.input<typeof GetCompanyExtraFieldsCriteriaSchema>, 'limit' | 'offset'>,\n) =>\n Effect.gen(function* () {\n let offset = 0;\n const limit = DEFAULTS.companies.extraFields.getBatchSize;\n let hasMore = true;\n const data: z.infer<typeof GetCompanyExtraFieldsResponseSchema>['data'] = [];\n while (hasMore) {\n const response = yield* findCompanyExtraFields({\n ...criteria,\n limit,\n offset,\n });\n if (response.data.length) {\n offset += limit;\n data.push(...response.data);\n } else {\n hasMore = false;\n }\n }\n\n return data;\n });\n","import { Effect } from 'effect';\nimport qs from 'qs';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { GetCompanyRolesCriteriaSchema, GetCompanyRolesResponseSchema } from './schemas/roles';\nexport const findCompanyRoles = (criteria: z.infer<typeof GetCompanyRolesCriteriaSchema>) =>\n Effect.gen(function* () {\n const validatedCriteria = yield* validateInput(GetCompanyRolesCriteriaSchema, criteria);\n const fetcher = yield* BigCommerceFetcher;\n\n return yield* Effect.retry(\n fetcher.fetch({\n isB2B: true,\n method: 'GET',\n query: qs.stringify(validatedCriteria),\n path: 'companies/roles',\n resultSchema: GetCompanyRolesResponseSchema,\n version: 'v3',\n }),\n DEFAULTS.retry.policy,\n );\n });\n\nexport const getAllCompanyRolesBy = (\n criteria?: Omit<z.infer<typeof GetCompanyRolesCriteriaSchema>, 'limit' | 'offset'>,\n) =>\n Effect.gen(function* () {\n let hasMore = true;\n const data: z.output<typeof GetCompanyRolesResponseSchema>['data'] = [];\n let offset = 0;\n const limit = DEFAULTS.companies.roles.getBatchSize;\n while (hasMore) {\n const response = yield* findCompanyRoles({\n ...criteria,\n limit,\n offset,\n });\n if (response.data.length) {\n offset += limit;\n data.push(...response.data);\n } else {\n hasMore = false;\n }\n }\n return data;\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 SetCompanyPaymentMethodsResponseSchema,\n SetCompanyPaymentMethodsSchema,\n} from './schemas/payment-methods.schema';\nexport const setCompanyPaymentMethods = (input: z.infer<typeof SetCompanyPaymentMethodsSchema>) =>\n Effect.gen(function* () {\n const { companyId, data } = yield* validateInput(SetCompanyPaymentMethodsSchema, input);\n const fetcher = yield* BigCommerceFetcher;\n\n return yield* Effect.retry(\n fetcher.fetch({\n body: data,\n isB2B: true,\n method: 'PUT',\n path: `companies/${companyId}/payments`,\n resultSchema: SetCompanyPaymentMethodsResponseSchema,\n version: 'v3',\n }),\n DEFAULTS.retry.policy,\n );\n });\n"],"mappings":"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","names":["z","z","z","z","z","z","Effect","Effect","Effect","Effect","Effect","Effect","Effect","Effect","Effect","qs","Effect","qs","Effect","Effect"]}
1
+ {"version":3,"sources":["../src/bigcommerce-entities/companies/assign-sales-staff.ts","../src/bigcommerce-entities/companies/schemas/company.schema.ts","../src/bigcommerce-entities/companies/schemas/credit.schemas.ts","../src/bigcommerce-entities/companies/schemas/extra-fields.schema.ts","../src/bigcommerce-entities/companies/schemas/payment-methods.schema.ts","../src/bigcommerce-entities/companies/schemas/roles.ts","../src/bigcommerce-entities/companies/schemas/sales-staff.schema.ts","../src/bigcommerce-entities/companies/schemas/user.schema.ts","../src/bigcommerce-entities/companies/create-company.ts","../src/bigcommerce-entities/companies/create-company-user.ts","../src/bigcommerce-entities/companies/credit.ts","../src/bigcommerce-entities/companies/get-company-fields.ts","../src/bigcommerce-entities/companies/get-company-roles.ts","../src/bigcommerce-entities/companies/set-payment-methods.ts"],"sourcesContent":["import { Chunk, Effect, Stream } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { AssignSalesStaffResponseSchema, AssignSalesStaffSchema } from './schemas';\nconst assignSalesStaffToCompanyBatch = (\n staffId: string,\n assignments: z.input<typeof AssignSalesStaffSchema>['assignments'],\n) =>\n Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n return yield* Effect.retry(\n fetcher.fetch({\n isB2B: true,\n method: 'PUT',\n path: `sales-staffs/${staffId}`,\n version: 'v3',\n body: assignments,\n resultSchema: AssignSalesStaffResponseSchema,\n }),\n DEFAULTS.retry.policy,\n );\n });\n\nexport const assignSalesStaffToCompany = (input: z.input<typeof AssignSalesStaffSchema>) =>\n Effect.gen(function* () {\n const validatedInput = yield* validateInput(AssignSalesStaffSchema, input);\n return yield* Stream.fromIterable(validatedInput.assignments).pipe(\n Stream.grouped(DEFAULTS.companies.salesStaffAssignments.assignBatchSize),\n Stream.mapEffect(\n (chunk) =>\n assignSalesStaffToCompanyBatch(validatedInput.salesStaffId, Chunk.toArray(chunk)),\n { concurrency: DEFAULTS.companies.salesStaffAssignments.concurrency },\n ),\n Stream.runCollect,\n Effect.map(Chunk.toArray),\n );\n });\n","import * as z from 'zod';\nexport const CreateCompanySchema = z.object({\n companyName: z.string(),\n companyPhone: z.string(),\n companyEmail: z.string(),\n addressLine1: z.string(),\n addressLine2: z.string(),\n city: z.string(),\n state: z.string(),\n country: z.string(),\n zipCode: z.string(),\n adminFirstName: z.string(),\n adminLastName: z.string(),\n adminEmail: z.string(),\n adminPhoneNumber: z.string(),\n acceptCreationEmail: z.boolean(),\n uuid: z.string(),\n channelIds: z.array(z.int()),\n originChannelId: z.int(),\n customerGroupId: z.int(),\n extraFields: z.array(\n z.object({\n fieldName: z.string(),\n fieldValue: z.string(),\n }),\n ),\n});\n\nexport const CreateCompanyResponseSchema = z.object({\n data: z.object({\n companyId: z.int(),\n }),\n meta: z.object({\n message: z.string(),\n }),\n});\n","import * as z from 'zod';\nexport const SetCompanyCreditSchema = z.object({\n data: z.object({\n creditEnabled: z.boolean(),\n creditCurrency: z.enum(['MXN']),\n availableCredit: z.number(),\n limitPurchases: z.boolean(),\n creditHold: z.boolean(),\n }),\n companyId: z.int(),\n});\n\nexport const SetCompanyCreditResponseSchema = z.object({});\n","import * as z from 'zod';\nimport { DEFAULTS } from '../../../constants';\nexport const GetCompanyExtraFieldsCriteriaSchema = z.object({\n limit: z.int().max(DEFAULTS.companies.extraFields.getBatchSize).optional(),\n offset: z.int().optional(),\n});\nexport const CompanyExtraFieldSchema = z.object({\n fieldName: z.string(),\n labelName: z.string(),\n listOfValue: z.string().array().optional(),\n maximumLength: z.coerce.number().optional(),\n});\nexport const GetCompanyExtraFieldsResponseSchema = z.object({\n data: CompanyExtraFieldSchema.array(),\n meta: z.object({\n message: z.string(),\n pagination: z.object({\n totalCount: z.number(),\n offset: z.number(),\n limit: z.number(),\n }),\n }),\n});\n","import * as z from 'zod';\nexport const SetCompanyPaymentMethodsSchema = z.object({\n data: z.object({\n payments: z\n .object({\n code: z.string(),\n isEnabled: z.boolean(),\n })\n .array(),\n }),\n companyId: z.int(),\n});\n\nexport const SetCompanyPaymentMethodsResponseSchema = z.object({});\n","import * as z from 'zod';\nexport const CompanyRoleSchema = z.object({\n id: z.int(),\n name: z.string(),\n roleLevel: z.number(),\n roleType: z.number(),\n});\nexport const GetCompanyRolesCriteriaSchema = z.object({\n limit: z.int().optional(),\n offset: z.int().optional(),\n});\nexport const GetCompanyRolesResponseSchema = z.object({\n data: CompanyRoleSchema.array(),\n meta: z.object({\n message: z.string(),\n pagination: z.object({\n limit: z.number(),\n offset: z.number(),\n totalCount: z.number(),\n }),\n }),\n});\nexport type GetCompanyRolesResponse = z.output<typeof GetCompanyRolesResponseSchema>;\n","import * as z from 'zod';\nexport const AssignSalesStaffSchema = z.object({\n assignments: z.array(\n z.object({\n assignStatus: z.boolean(),\n companyId: z.int(),\n }),\n ),\n salesStaffId: z.int().transform(String),\n});\n\nexport const AssignSalesStaffResponseSchema = z.object({\n code: z.int(),\n meta: z.object({\n message: z.string(),\n }),\n});\n","import * as z from 'zod';\nexport const CreateCompanyUserSchema = z.object({\n acceptWelcomeEmail: z.boolean(),\n companyId: z.int(),\n companyRoleId: z.int(),\n email: z.email(),\n firstName: z.string(),\n lastName: z.string(),\n phoneNumber: z.string(),\n});\n\nexport const CreateCompanyUserResponseSchema = z.object({\n code: z.number(),\n data: z.object({\n bcId: z.number(),\n userId: z.int(),\n }),\n meta: z.object({\n message: z.string(),\n }),\n});\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { CreateCompanyResponseSchema, CreateCompanySchema } from './schemas/company.schema';\nexport const createCompany = (data: z.input<typeof CreateCompanySchema>) =>\n Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n const validatedData = yield* validateInput(CreateCompanySchema, data);\n return yield* Effect.retry(\n fetcher.fetch({\n isB2B: true,\n method: 'POST',\n path: 'companies',\n resultSchema: CreateCompanyResponseSchema,\n version: 'v3',\n body: validatedData,\n }),\n DEFAULTS.retry.policy,\n );\n });\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { CreateCompanyUserResponseSchema, CreateCompanyUserSchema } from './schemas/user.schema';\nexport const createCompanyUser = (data: z.input<typeof CreateCompanyUserSchema>) =>\n Effect.gen(function* () {\n const validatedData = yield* validateInput(CreateCompanyUserSchema, data);\n const fetcher = yield* BigCommerceFetcher;\n\n return yield* Effect.retry(\n fetcher.fetch({\n body: validatedData,\n isB2B: true,\n method: 'POST',\n path: 'users',\n resultSchema: CreateCompanyUserResponseSchema,\n version: 'v3',\n }),\n DEFAULTS.retry.policy,\n );\n });\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { SetCompanyCreditResponseSchema, SetCompanyCreditSchema } from './schemas/credit.schemas';\nexport const setCompanyCredit = (input: z.infer<typeof SetCompanyCreditSchema>) =>\n Effect.gen(function* () {\n const { companyId, data } = yield* validateInput(SetCompanyCreditSchema, input);\n const fetcher = yield* BigCommerceFetcher;\n\n return yield* Effect.retry(\n fetcher.fetch({\n body: data,\n isB2B: true,\n method: 'PUT',\n path: `companies/${companyId}/credit`,\n resultSchema: SetCompanyCreditResponseSchema,\n version: 'v3',\n }),\n DEFAULTS.retry.policy,\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 {\n GetCompanyExtraFieldsCriteriaSchema,\n GetCompanyExtraFieldsResponseSchema,\n} from './schemas/extra-fields.schema';\nexport const findCompanyExtraFields = (\n criteria: z.input<typeof GetCompanyExtraFieldsCriteriaSchema>,\n) =>\n Effect.gen(function* () {\n const validatedCriteria = yield* validateInput(GetCompanyExtraFieldsCriteriaSchema, criteria);\n const fetcher = yield* BigCommerceFetcher;\n\n return yield* Effect.retry(\n fetcher.fetch({\n isB2B: true,\n method: 'GET',\n query: stringify(validatedCriteria),\n path: 'companies/extra-fields',\n resultSchema: GetCompanyExtraFieldsResponseSchema,\n version: 'v3',\n }),\n DEFAULTS.retry.policy,\n );\n });\n\nexport const getAllCompanyExtraFieldsBy = (\n criteria?: Omit<z.input<typeof GetCompanyExtraFieldsCriteriaSchema>, 'limit' | 'offset'>,\n) =>\n Effect.gen(function* () {\n let offset = 0;\n const limit = DEFAULTS.companies.extraFields.getBatchSize;\n let hasMore = true;\n const data: z.infer<typeof GetCompanyExtraFieldsResponseSchema>['data'] = [];\n while (hasMore) {\n const response = yield* findCompanyExtraFields({\n ...criteria,\n limit,\n offset,\n });\n if (response.data.length) {\n offset += limit;\n data.push(...response.data);\n } else {\n hasMore = false;\n }\n }\n\n return data;\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 GetCompanyRolesCriteriaSchema,\n GetCompanyRolesResponseSchema,\n type GetCompanyRolesResponse,\n} from './schemas/roles';\nexport const findCompanyRoles = (criteria: z.infer<typeof GetCompanyRolesCriteriaSchema>) =>\n Effect.gen(function* () {\n const validatedCriteria = yield* validateInput(GetCompanyRolesCriteriaSchema, criteria);\n const fetcher = yield* BigCommerceFetcher;\n\n return yield* Effect.retry(\n fetcher.fetch({\n isB2B: true,\n method: 'GET',\n query: stringify(validatedCriteria),\n path: 'companies/roles',\n resultSchema: GetCompanyRolesResponseSchema,\n version: 'v3',\n }),\n DEFAULTS.retry.policy,\n );\n });\n\nexport const getAllCompanyRolesBy = (\n criteria?: Omit<z.infer<typeof GetCompanyRolesCriteriaSchema>, 'limit' | 'offset'>,\n) =>\n Effect.gen(function* () {\n let hasMore = true;\n const data: GetCompanyRolesResponse['data'] = [];\n let offset = 0;\n const limit = DEFAULTS.companies.roles.getBatchSize;\n while (hasMore) {\n const response = yield* findCompanyRoles({\n ...criteria,\n limit,\n offset,\n });\n if (response.data.length) {\n offset += limit;\n data.push(...response.data);\n } else {\n hasMore = false;\n }\n }\n return data;\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 SetCompanyPaymentMethodsResponseSchema,\n SetCompanyPaymentMethodsSchema,\n} from './schemas/payment-methods.schema';\nexport const setCompanyPaymentMethods = (input: z.infer<typeof SetCompanyPaymentMethodsSchema>) =>\n Effect.gen(function* () {\n const { companyId, data } = yield* validateInput(SetCompanyPaymentMethodsSchema, input);\n const fetcher = yield* BigCommerceFetcher;\n\n return yield* Effect.retry(\n fetcher.fetch({\n body: data,\n isB2B: true,\n method: 'PUT',\n path: `companies/${companyId}/payments`,\n resultSchema: SetCompanyPaymentMethodsResponseSchema,\n version: 'v3',\n }),\n DEFAULTS.retry.policy,\n );\n });\n"],"mappings":";;;;;;;;;AAAA,SAAS,OAAO,QAAQ,cAAc;;;ACAtC,YAAY,OAAO;AACZ,IAAM,sBAAwB,SAAO;AAAA,EAC1C,aAAe,SAAO;AAAA,EACtB,cAAgB,SAAO;AAAA,EACvB,cAAgB,SAAO;AAAA,EACvB,cAAgB,SAAO;AAAA,EACvB,cAAgB,SAAO;AAAA,EACvB,MAAQ,SAAO;AAAA,EACf,OAAS,SAAO;AAAA,EAChB,SAAW,SAAO;AAAA,EAClB,SAAW,SAAO;AAAA,EAClB,gBAAkB,SAAO;AAAA,EACzB,eAAiB,SAAO;AAAA,EACxB,YAAc,SAAO;AAAA,EACrB,kBAAoB,SAAO;AAAA,EAC3B,qBAAuB,UAAQ;AAAA,EAC/B,MAAQ,SAAO;AAAA,EACf,YAAc,QAAQ,MAAI,CAAC;AAAA,EAC3B,iBAAmB,MAAI;AAAA,EACvB,iBAAmB,MAAI;AAAA,EACvB,aAAe;AAAA,IACX,SAAO;AAAA,MACP,WAAa,SAAO;AAAA,MACpB,YAAc,SAAO;AAAA,IACvB,CAAC;AAAA,EACH;AACF,CAAC;AAEM,IAAM,8BAAgC,SAAO;AAAA,EAClD,MAAQ,SAAO;AAAA,IACb,WAAa,MAAI;AAAA,EACnB,CAAC;AAAA,EACD,MAAQ,SAAO;AAAA,IACb,SAAW,SAAO;AAAA,EACpB,CAAC;AACH,CAAC;;;ACnCD,YAAYA,QAAO;AACZ,IAAM,yBAA2B,UAAO;AAAA,EAC7C,MAAQ,UAAO;AAAA,IACb,eAAiB,WAAQ;AAAA,IACzB,gBAAkB,QAAK,CAAC,KAAK,CAAC;AAAA,IAC9B,iBAAmB,UAAO;AAAA,IAC1B,gBAAkB,WAAQ;AAAA,IAC1B,YAAc,WAAQ;AAAA,EACxB,CAAC;AAAA,EACD,WAAa,OAAI;AACnB,CAAC;AAEM,IAAM,iCAAmC,UAAO,CAAC,CAAC;;;ACZzD,YAAYC,QAAO;AAEZ,IAAM,sCAAwC,UAAO;AAAA,EAC1D,OAAS,OAAI,EAAE,IAAI,SAAS,UAAU,YAAY,YAAY,EAAE,SAAS;AAAA,EACzE,QAAU,OAAI,EAAE,SAAS;AAC3B,CAAC;AACM,IAAM,0BAA4B,UAAO;AAAA,EAC9C,WAAa,UAAO;AAAA,EACpB,WAAa,UAAO;AAAA,EACpB,aAAe,UAAO,EAAE,MAAM,EAAE,SAAS;AAAA,EACzC,eAAiB,UAAO,OAAO,EAAE,SAAS;AAC5C,CAAC;AACM,IAAM,sCAAwC,UAAO;AAAA,EAC1D,MAAM,wBAAwB,MAAM;AAAA,EACpC,MAAQ,UAAO;AAAA,IACb,SAAW,UAAO;AAAA,IAClB,YAAc,UAAO;AAAA,MACnB,YAAc,UAAO;AAAA,MACrB,QAAU,UAAO;AAAA,MACjB,OAAS,UAAO;AAAA,IAClB,CAAC;AAAA,EACH,CAAC;AACH,CAAC;;;ACtBD,YAAYC,QAAO;AACZ,IAAM,iCAAmC,UAAO;AAAA,EACrD,MAAQ,UAAO;AAAA,IACb,UACG,UAAO;AAAA,MACN,MAAQ,UAAO;AAAA,MACf,WAAa,WAAQ;AAAA,IACvB,CAAC,EACA,MAAM;AAAA,EACX,CAAC;AAAA,EACD,WAAa,OAAI;AACnB,CAAC;AAEM,IAAM,yCAA2C,UAAO,CAAC,CAAC;;;ACbjE,YAAYC,QAAO;AACZ,IAAM,oBAAsB,UAAO;AAAA,EACxC,IAAM,OAAI;AAAA,EACV,MAAQ,UAAO;AAAA,EACf,WAAa,UAAO;AAAA,EACpB,UAAY,UAAO;AACrB,CAAC;AACM,IAAM,gCAAkC,UAAO;AAAA,EACpD,OAAS,OAAI,EAAE,SAAS;AAAA,EACxB,QAAU,OAAI,EAAE,SAAS;AAC3B,CAAC;AACM,IAAM,gCAAkC,UAAO;AAAA,EACpD,MAAM,kBAAkB,MAAM;AAAA,EAC9B,MAAQ,UAAO;AAAA,IACb,SAAW,UAAO;AAAA,IAClB,YAAc,UAAO;AAAA,MACnB,OAAS,UAAO;AAAA,MAChB,QAAU,UAAO;AAAA,MACjB,YAAc,UAAO;AAAA,IACvB,CAAC;AAAA,EACH,CAAC;AACH,CAAC;;;ACrBD,YAAYC,QAAO;AACZ,IAAM,yBAA2B,UAAO;AAAA,EAC7C,aAAe;AAAA,IACX,UAAO;AAAA,MACP,cAAgB,WAAQ;AAAA,MACxB,WAAa,OAAI;AAAA,IACnB,CAAC;AAAA,EACH;AAAA,EACA,cAAgB,OAAI,EAAE,UAAU,MAAM;AACxC,CAAC;AAEM,IAAM,iCAAmC,UAAO;AAAA,EACrD,MAAQ,OAAI;AAAA,EACZ,MAAQ,UAAO;AAAA,IACb,SAAW,UAAO;AAAA,EACpB,CAAC;AACH,CAAC;;;AChBD,YAAYC,QAAO;AACZ,IAAM,0BAA4B,UAAO;AAAA,EAC9C,oBAAsB,WAAQ;AAAA,EAC9B,WAAa,OAAI;AAAA,EACjB,eAAiB,OAAI;AAAA,EACrB,OAAS,SAAM;AAAA,EACf,WAAa,UAAO;AAAA,EACpB,UAAY,UAAO;AAAA,EACnB,aAAe,UAAO;AACxB,CAAC;AAEM,IAAM,kCAAoC,UAAO;AAAA,EACtD,MAAQ,UAAO;AAAA,EACf,MAAQ,UAAO;AAAA,IACb,MAAQ,UAAO;AAAA,IACf,QAAU,OAAI;AAAA,EAChB,CAAC;AAAA,EACD,MAAQ,UAAO;AAAA,IACb,SAAW,UAAO;AAAA,EACpB,CAAC;AACH,CAAC;;;APdD,IAAM,iCAAiC,CACrC,SACA,gBAEA,OAAO,IAAI,aAAa;AACtB,QAAM,UAAU,OAAO;AACvB,SAAO,OAAO,OAAO;AAAA,IACnB,QAAQ,MAAM;AAAA,MACZ,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM,gBAAgB,OAAO;AAAA,MAC7B,SAAS;AAAA,MACT,MAAM;AAAA,MACN,cAAc;AAAA,IAChB,CAAC;AAAA,IACD,SAAS,MAAM;AAAA,EACjB;AACF,CAAC;AAEI,IAAM,4BAA4B,CAAC,UACxC,OAAO,IAAI,aAAa;AACtB,QAAM,iBAAiB,OAAO,cAAc,wBAAwB,KAAK;AACzE,SAAO,OAAO,OAAO,aAAa,eAAe,WAAW,EAAE;AAAA,IAC5D,OAAO,QAAQ,SAAS,UAAU,sBAAsB,eAAe;AAAA,IACvE,OAAO;AAAA,MACL,CAAC,UACC,+BAA+B,eAAe,cAAc,MAAM,QAAQ,KAAK,CAAC;AAAA,MAClF,EAAE,aAAa,SAAS,UAAU,sBAAsB,YAAY;AAAA,IACtE;AAAA,IACA,OAAO;AAAA,IACP,OAAO,IAAI,MAAM,OAAO;AAAA,EAC1B;AACF,CAAC;;;AQtCH,SAAS,UAAAC,eAAc;AAMhB,IAAM,gBAAgB,CAAC,SAC5BC,QAAO,IAAI,aAAa;AACtB,QAAM,UAAU,OAAO;AACvB,QAAM,gBAAgB,OAAO,cAAc,qBAAqB,IAAI;AACpE,SAAO,OAAOA,QAAO;AAAA,IACnB,QAAQ,MAAM;AAAA,MACZ,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,cAAc;AAAA,MACd,SAAS;AAAA,MACT,MAAM;AAAA,IACR,CAAC;AAAA,IACD,SAAS,MAAM;AAAA,EACjB;AACF,CAAC;;;ACrBH,SAAS,UAAAC,eAAc;AAMhB,IAAM,oBAAoB,CAAC,SAChCC,QAAO,IAAI,aAAa;AACtB,QAAM,gBAAgB,OAAO,cAAc,yBAAyB,IAAI;AACxE,QAAM,UAAU,OAAO;AAEvB,SAAO,OAAOA,QAAO;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;;;ACtBH,SAAS,UAAAC,eAAc;AAMhB,IAAM,mBAAmB,CAAC,UAC/BC,QAAO,IAAI,aAAa;AACtB,QAAM,EAAE,WAAW,KAAK,IAAI,OAAO,cAAc,wBAAwB,KAAK;AAC9E,QAAM,UAAU,OAAO;AAEvB,SAAO,OAAOA,QAAO;AAAA,IACnB,QAAQ,MAAM;AAAA,MACZ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM,aAAa,SAAS;AAAA,MAC5B,cAAc;AAAA,MACd,SAAS;AAAA,IACX,CAAC;AAAA,IACD,SAAS,MAAM;AAAA,EACjB;AACF,CAAC;;;ACtBH,SAAS,UAAAC,eAAc;AACvB,SAAS,iBAAiB;AASnB,IAAM,yBAAyB,CACpC,aAEAC,QAAO,IAAI,aAAa;AACtB,QAAM,oBAAoB,OAAO,cAAc,qCAAqC,QAAQ;AAC5F,QAAM,UAAU,OAAO;AAEvB,SAAO,OAAOA,QAAO;AAAA,IACnB,QAAQ,MAAM;AAAA,MACZ,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO,UAAU,iBAAiB;AAAA,MAClC,MAAM;AAAA,MACN,cAAc;AAAA,MACd,SAAS;AAAA,IACX,CAAC;AAAA,IACD,SAAS,MAAM;AAAA,EACjB;AACF,CAAC;AAEI,IAAM,6BAA6B,CACxC,aAEAA,QAAO,IAAI,aAAa;AACtB,MAAI,SAAS;AACb,QAAM,QAAQ,SAAS,UAAU,YAAY;AAC7C,MAAI,UAAU;AACd,QAAM,OAAoE,CAAC;AAC3E,SAAO,SAAS;AACd,UAAM,WAAW,OAAO,uBAAuB;AAAA,MAC7C,GAAG;AAAA,MACH;AAAA,MACA;AAAA,IACF,CAAC;AACD,QAAI,SAAS,KAAK,QAAQ;AACxB,gBAAU;AACV,WAAK,KAAK,GAAG,SAAS,IAAI;AAAA,IAC5B,OAAO;AACL,gBAAU;AAAA,IACZ;AAAA,EACF;AAEA,SAAO;AACT,CAAC;;;ACrDH,SAAS,UAAAC,eAAc;AACvB,SAAS,aAAAC,kBAAiB;AAUnB,IAAM,mBAAmB,CAAC,aAC/BC,QAAO,IAAI,aAAa;AACtB,QAAM,oBAAoB,OAAO,cAAc,+BAA+B,QAAQ;AACtF,QAAM,UAAU,OAAO;AAEvB,SAAO,OAAOA,QAAO;AAAA,IACnB,QAAQ,MAAM;AAAA,MACZ,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAOC,WAAU,iBAAiB;AAAA,MAClC,MAAM;AAAA,MACN,cAAc;AAAA,MACd,SAAS;AAAA,IACX,CAAC;AAAA,IACD,SAAS,MAAM;AAAA,EACjB;AACF,CAAC;AAEI,IAAM,uBAAuB,CAClC,aAEAD,QAAO,IAAI,aAAa;AACtB,MAAI,UAAU;AACd,QAAM,OAAwC,CAAC;AAC/C,MAAI,SAAS;AACb,QAAM,QAAQ,SAAS,UAAU,MAAM;AACvC,SAAO,SAAS;AACd,UAAM,WAAW,OAAO,iBAAiB;AAAA,MACvC,GAAG;AAAA,MACH;AAAA,MACA;AAAA,IACF,CAAC;AACD,QAAI,SAAS,KAAK,QAAQ;AACxB,gBAAU;AACV,WAAK,KAAK,GAAG,SAAS,IAAI;AAAA,IAC5B,OAAO;AACL,gBAAU;AAAA,IACZ;AAAA,EACF;AACA,SAAO;AACT,CAAC;;;ACnDH,SAAS,UAAAE,eAAc;AAShB,IAAM,2BAA2B,CAAC,UACvCC,QAAO,IAAI,aAAa;AACtB,QAAM,EAAE,WAAW,KAAK,IAAI,OAAO,cAAc,gCAAgC,KAAK;AACtF,QAAM,UAAU,OAAO;AAEvB,SAAO,OAAOA,QAAO;AAAA,IACnB,QAAQ,MAAM;AAAA,MACZ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM,aAAa,SAAS;AAAA,MAC5B,cAAc;AAAA,MACd,SAAS;AAAA,IACX,CAAC;AAAA,IACD,SAAS,MAAM;AAAA,EACjB;AACF,CAAC;","names":["z","z","z","z","z","z","Effect","Effect","Effect","Effect","Effect","Effect","Effect","Effect","Effect","stringify","Effect","stringify","Effect","Effect"]}
package/dist/customers.js CHANGED
@@ -413,7 +413,7 @@ var createCustomerGroup = (data) => import_effect8.Effect.gen(function* () {
413
413
 
414
414
  // src/bigcommerce-entities/customers/find-customers.ts
415
415
  var import_effect9 = require("effect");
416
- var import_qs = __toESM(require("qs"));
416
+ var import_node_querystring = require("querystring");
417
417
 
418
418
  // src/bigcommerce-entities/customers/schemas/customer.schema.ts
419
419
  var z2 = __toESM(require("zod"));
@@ -466,7 +466,7 @@ var findCustomers = (criteria) => {
466
466
  isB2B: false,
467
467
  version: "v3",
468
468
  resultSchema: FindCustomerResponse,
469
- query: import_qs.default.stringify(validatedQuery)
469
+ query: (0, import_node_querystring.stringify)(validatedQuery)
470
470
  });
471
471
  });
472
472
  };
@@ -494,7 +494,7 @@ var getAllCustomersBy = (criteria) => {
494
494
 
495
495
  // src/bigcommerce-entities/customers/get-all-customer-groups.ts
496
496
  var import_effect10 = require("effect");
497
- var import_qs2 = __toESM(require("qs"));
497
+ var import_node_querystring2 = require("querystring");
498
498
  var z4 = __toESM(require("zod"));
499
499
  var FindCustomerResponse2 = z4.union([
500
500
  z4.array(CustomerGroupSchema),
@@ -510,7 +510,7 @@ var findCustomersGroups = (criteria) => import_effect10.Effect.gen(function* ()
510
510
  isB2B: false,
511
511
  version: "v3",
512
512
  resultSchema: FindCustomerResponse2,
513
- query: import_qs2.default.stringify(validatedQuery)
513
+ query: (0, import_node_querystring2.stringify)(validatedQuery)
514
514
  });
515
515
  return response || [];
516
516
  });