@edgebound/bigcommerce 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/companies.js +4 -4
- package/dist/companies.js.map +1 -1
- package/dist/companies.mjs +4 -4
- package/dist/companies.mjs.map +1 -1
- package/dist/customers.js +4 -4
- package/dist/customers.js.map +1 -1
- package/dist/customers.mjs +4 -4
- package/dist/customers.mjs.map +1 -1
- package/dist/orders.js +6 -6
- package/dist/orders.js.map +1 -1
- package/dist/orders.mjs +6 -6
- package/dist/orders.mjs.map +1 -1
- package/dist/payments.js +2 -2
- package/dist/payments.js.map +1 -1
- package/dist/payments.mjs +2 -2
- package/dist/payments.mjs.map +1 -1
- package/dist/priceLists.js +2 -2
- package/dist/priceLists.js.map +1 -1
- package/dist/priceLists.mjs +2 -2
- package/dist/priceLists.mjs.map +1 -1
- package/dist/salesStaff.js +2 -2
- package/dist/salesStaff.js.map +1 -1
- package/dist/salesStaff.mjs +2 -2
- package/dist/salesStaff.mjs.map +1 -1
- package/package.json +1 -4
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
|
|
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:
|
|
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
|
|
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:
|
|
651
|
+
query: (0, import_node_querystring2.stringify)(validatedCriteria),
|
|
652
652
|
path: "companies/roles",
|
|
653
653
|
resultSchema: GetCompanyRolesResponseSchema,
|
|
654
654
|
version: "v3"
|
package/dist/companies.js.map
CHANGED
|
@@ -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';\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 { 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 { 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: 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","import_effect","import_node_querystring","import_effect"]}
|
package/dist/companies.mjs
CHANGED
|
@@ -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
|
|
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:
|
|
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
|
|
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:
|
|
295
|
+
query: stringify2(validatedCriteria),
|
|
296
296
|
path: "companies/roles",
|
|
297
297
|
resultSchema: GetCompanyRolesResponseSchema,
|
|
298
298
|
version: "v3"
|
package/dist/companies.mjs.map
CHANGED
|
@@ -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});\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 { 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: 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","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
|
|
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:
|
|
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
|
|
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:
|
|
513
|
+
query: (0, import_node_querystring2.stringify)(validatedQuery)
|
|
514
514
|
});
|
|
515
515
|
return response || [];
|
|
516
516
|
});
|
package/dist/customers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/bigcommerce-entities/customers/index.ts","../src/bigcommerce-entities/customers/create-customer-group.ts","../src/constants.ts","../src/core/bigcommerce.error.ts","../src/core/bigcommerce.fetcher.ts","../src/core/bigcommerce.fetcher.live.ts","../src/core/config.ts","../src/validation/index.ts","../src/validation/validation.error.ts","../src/bigcommerce-entities/customers/schemas/customer-group.schema.ts","../src/bigcommerce-entities/customers/find-customers.ts","../src/bigcommerce-entities/customers/schemas/customer.schema.ts","../src/bigcommerce-entities/customers/schemas/find-customer.criteria.ts","../src/bigcommerce-entities/customers/get-all-customer-groups.ts","../src/bigcommerce-entities/customers/get-customer.ts","../src/bigcommerce-entities/customers/set-customer-group-price-list.ts"],"sourcesContent":["export * from './create-customer-group';\nexport * from './find-customers';\nexport * from './get-all-customer-groups';\nexport * from './get-customer';\nexport * from './schemas';\nexport * from './set-customer-group-price-list';\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport {\n CreateCustomerGroupResponseSchema,\n CreateCustomerGroupSchema,\n} from './schemas/customer-group.schema';\nexport const createCustomerGroup = (data: z.input<typeof CreateCustomerGroupSchema>) =>\n Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n const validatedBody = yield* validateInput(CreateCustomerGroupSchema, data);\n return yield* Effect.retry(\n fetcher.fetch({\n body: validatedBody,\n isB2B: false,\n method: 'POST',\n path: 'customer_groups',\n resultSchema: CreateCustomerGroupResponseSchema,\n version: 'v2',\n }),\n DEFAULTS.retry.policy,\n );\n });\n","import { Duration, Schedule } from 'effect';\n\nexport const DEFAULTS = {\n retry: {\n policy: Schedule.exponential(Duration.millis(200), 2).pipe(\n Schedule.intersect(Schedule.recurs(3)),\n ),\n },\n timeout: {\n ms: 30000,\n },\n bigcommerceUrls: {\n b2b: 'https://api-b2b.bigcommerce.com/api',\n regular: 'https://api.bigcommerce.com/stores',\n },\n customers: {\n getBatchSize: 250,\n },\n salesStaff: {\n getBatchSize: 250,\n },\n companies: {\n salesStaffAssignments: {\n assignBatchSize: 10,\n concurrency: 2,\n },\n extraFields: {\n getBatchSize: 250,\n },\n roles: {\n getBatchSize: 250,\n },\n },\n products: {\n updateBatchSize: 5,\n updateConcurrency: 2,\n inventory: {\n updateBatchSize: 2000,\n updateConcurrency: 2,\n },\n },\n orders: {\n getAllBatchSize: 250,\n shippingAddresses: {\n getAllBatchSize: 250,\n },\n products: {\n getAllBatchSize: 250,\n },\n },\n priceLists: {\n getAllBatchSize: 250,\n },\n} as const;\n","import { Data } from 'effect';\nimport * as z from 'zod';\nexport class BigCommerceUnprocessableEntityError extends Data.TaggedError(\n 'BigCommerceUnprocessableEntityError',\n)<{\n readonly errorDetails: unknown;\n}> {}\n\nexport class BigCommerceUnauthorizedError extends Data.TaggedError(\n 'BigCommerceUnauthorizedError',\n) {}\n\nexport class BigCommerceForbiddenError extends Data.TaggedError('BigCommerceForbiddenError') {}\n\nexport class BigCommerceNotFoundError extends Data.TaggedError('BigCommerceNotFoundError') {}\n\nexport class BigCommerceConflictError extends Data.TaggedError('BigCommerceConflictError')<{\n readonly details: unknown;\n}> {}\n\nexport class BigCommerceConnectionError extends Data.TaggedError('BigCommerceConnectionError')<{\n readonly message: string;\n readonly type: 'timeout' | 'internalError' | 'unknown';\n}> {}\n\nexport class BigCommerceUnknownError extends Data.TaggedError('BigCommerceUnknownError')<{\n cause: unknown;\n}> {}\n\nexport class BigCommerceInvalidResponseError extends Data.TaggedError(\n 'BigCommerceInvalidResponseError',\n)<{\n cause: unknown;\n}> {}\n\nexport class BigCommerceInvalidRequestError extends Data.TaggedError(\n 'BigCommerceInvalidRequestError',\n)<{\n readonly errorDetails: unknown;\n}> {}\n\nexport class BigCommerceParseResponseError extends Data.TaggedError(\n 'BigCommerceParseResponseError',\n)<{\n readonly error: z.ZodError;\n}> {}\n\nexport type SomeBigCommerceError =\n | BigCommerceUnprocessableEntityError\n | BigCommerceUnauthorizedError\n | BigCommerceForbiddenError\n | BigCommerceNotFoundError\n | BigCommerceConflictError\n | BigCommerceConnectionError\n | BigCommerceUnknownError\n | BigCommerceInvalidResponseError\n | BigCommerceInvalidRequestError\n | BigCommerceParseResponseError;\n","import { Context, Effect } from 'effect';\nimport * as z from 'zod';\nimport { type SomeBigCommerceError } from './bigcommerce.error';\nexport type BigCommerceFetchMethods = 'GET' | 'POST' | 'PUT' | 'DELETE';\nexport interface BigCommerceFetchParams<\n // Always send json for now, maybe later send a Blob\n Body extends Record<string, unknown> | Array<Record<string, unknown>>,\n Query extends Record<string, string> | string,\n Result extends z.ZodType,\n> {\n readonly body?: Body;\n readonly query?: Query;\n readonly method: BigCommerceFetchMethods;\n readonly path: string;\n readonly headers?: Record<string, string>;\n readonly isB2B: boolean;\n readonly version: 'v3' | 'v2';\n readonly resultSchema: Result;\n}\n\nexport class BigCommerceFetcher extends Context.Tag('BigCommerceFetcher')<\n BigCommerceFetcher,\n {\n readonly fetch: <\n Body extends Record<string, unknown> | Array<Record<string, unknown>>,\n Query extends Record<string, string> | string,\n Result extends z.ZodType,\n >(\n params: BigCommerceFetchParams<Body, Query, Result>,\n ) => Effect.Effect<z.output<Result>, SomeBigCommerceError>;\n }\n>() {}\n","import { Effect, Layer, Match } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../constants';\nimport {\n BigCommerceConflictError,\n BigCommerceConnectionError,\n BigCommerceForbiddenError,\n BigCommerceInvalidRequestError,\n BigCommerceInvalidResponseError,\n BigCommerceNotFoundError,\n BigCommerceParseResponseError,\n BigCommerceUnauthorizedError,\n BigCommerceUnknownError,\n BigCommerceUnprocessableEntityError,\n type SomeBigCommerceError,\n} from './bigcommerce.error';\nimport { BigCommerceFetcher } from './bigcommerce.fetcher';\nimport { BigCommerceConfig, type NoBigCommerceConfigError } from './config';\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';\nimport { DEFAULTS } from '../../../constants';\nexport const CreateCustomerGroupSchema = z.object({\n name: z.string(),\n discount_rules: z.array(\n z.object({\n type: z.literal('price_list'),\n price_list_id: z.int(),\n }),\n ),\n});\n\nexport const CreateCustomerGroupResponseSchema = z.object({\n id: z.int(),\n});\n\nexport const CustomerGroupSchema = z.object({\n id: z.int(),\n name: z.string(),\n is_default: z.boolean(),\n is_group_for_guests: z.boolean(),\n});\n\nexport const FindCustomerGroupsCriteriaSchema = z.object({\n limit: z.int().max(DEFAULTS.customers.getBatchSize).optional(),\n page: z.int().positive().optional(),\n});\n\nexport const SetCustomerGroupPriceListSchema = z.object({\n data: z.object({\n discount_rules: z\n .object({\n type: z.literal('price_list'),\n price_list_id: z.int(),\n })\n .array(),\n }),\n customerGroupId: z.int(),\n});\n\nexport const SetCustomerGroupPriceListResponseSchema = z.object({\n id: z.int(),\n name: z.string(),\n});\n","import { Effect } from 'effect';\nimport qs from 'qs';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { FindCustomerResponse, type CustomerSchema } from './schemas/customer.schema';\nimport { FindCustomersCriteriaSchema } from './schemas/find-customer.criteria';\nexport const findCustomers = (criteria?: z.input<typeof FindCustomersCriteriaSchema>) => {\n return Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n const validatedQuery = yield* validateInput(FindCustomersCriteriaSchema, criteria ?? {});\n return yield* fetcher.fetch({\n method: 'GET',\n path: `customers`,\n isB2B: false,\n version: 'v3',\n resultSchema: FindCustomerResponse,\n query: qs.stringify(validatedQuery),\n });\n });\n};\n\nexport const getAllCustomersBy = (\n criteria: Omit<z.input<typeof FindCustomersCriteriaSchema>, 'page' | 'limit'>,\n) => {\n return Effect.gen(function* () {\n const allCustomers: z.infer<typeof CustomerSchema>[] = [];\n let page = 1;\n let hasMoreCustomers = true;\n\n while (hasMoreCustomers) {\n const customers = yield* findCustomers({\n ...criteria,\n page,\n limit: DEFAULTS.customers.getBatchSize,\n });\n\n if (customers.meta.pagination.links.next) {\n allCustomers.push(...customers.data);\n page++;\n } else {\n hasMoreCustomers = false;\n }\n }\n\n return allCustomers;\n });\n};\n","import * as z from 'zod';\n\nexport const CustomerSchema = z.object({\n email: z.email(),\n first_name: z.string(),\n last_name: z.string(),\n company: z.string().optional(),\n phone: z.string(),\n customer_group_id: z.int(),\n id: z.int(),\n channel_ids: z.array(z.int()),\n});\n\nexport const FindCustomerResponse = z.object({\n data: z.array(CustomerSchema),\n meta: z.object({\n pagination: z.object({\n total: z.int(),\n count: z.int(),\n per_page: z.int(),\n current_page: z.int(),\n total_pages: z.int(),\n links: z.object({\n previous: z.string().optional().nullable(),\n current: z.string(),\n next: z.string().optional().nullable(),\n }),\n }),\n }),\n});\n","import * as z from 'zod';\nexport const FindCustomersCriteriaSchema = z.object({\n 'id:in': z\n .array(z.int())\n .transform((ids) => ids.join(','))\n .optional(),\n page: z.int().optional(),\n limit: z.int().optional(),\n 'company:in': z\n .array(z.string())\n .transform((companies) => companies.join(','))\n .optional(),\n 'customer_group_id:in': z\n .array(z.int())\n .transform((ids) => ids.join(','))\n .optional(),\n});\n","import { Effect } from 'effect';\nimport qs from 'qs';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport {\n CustomerGroupSchema,\n FindCustomerGroupsCriteriaSchema,\n} from './schemas/customer-group.schema';\nconst FindCustomerResponse = z.union([\n z.array(CustomerGroupSchema),\n z.literal(''),\n z.literal(null),\n]);\nexport const findCustomersGroups = (criteria?: z.input<typeof FindCustomerGroupsCriteriaSchema>) =>\n Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n const validatedQuery = yield* validateInput(FindCustomerGroupsCriteriaSchema, criteria ?? {});\n const response = yield* fetcher.fetch({\n method: 'GET',\n path: `customers`,\n isB2B: false,\n version: 'v3',\n resultSchema: FindCustomerResponse,\n query: qs.stringify(validatedQuery),\n });\n return response || [];\n });\n\nexport const getAllCustomerGroupsBy = (\n criteria?: Omit<z.input<typeof FindCustomerGroupsCriteriaSchema>, 'page' | 'limit'>,\n) =>\n Effect.gen(function* () {\n const all: z.infer<typeof CustomerGroupSchema>[] = [];\n let page = 1;\n let hasMore = true;\n\n while (hasMore) {\n const groups = yield* findCustomersGroups({\n ...criteria,\n page,\n limit: DEFAULTS.customers.getBatchSize,\n });\n\n if (groups.length) {\n all.push(...groups);\n page++;\n } else {\n hasMore = false;\n }\n }\n\n return all;\n });\n","import { Effect } from 'effect';\nimport { findCustomers } from './find-customers';\n\nexport const getCustomer = (customerId: number) => {\n return findCustomers({\n 'id:in': [customerId],\n }).pipe(Effect.map((response) => response.data[0]));\n};\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport {\n SetCustomerGroupPriceListResponseSchema,\n SetCustomerGroupPriceListSchema,\n} from './schemas/customer-group.schema';\nexport const setCustomerGroupPriceList = (input: z.input<typeof SetCustomerGroupPriceListSchema>) =>\n Effect.gen(function* () {\n const { customerGroupId, data } = yield* validateInput(SetCustomerGroupPriceListSchema, input);\n const fetcher = yield* BigCommerceFetcher;\n\n return yield* Effect.retry(\n fetcher.fetch({\n body: data,\n isB2B: false,\n method: 'PUT',\n path: `customer_groups/${customerGroupId}`,\n resultSchema: SetCustomerGroupPriceListResponseSchema,\n version: 'v2',\n }),\n DEFAULTS.retry.policy,\n );\n });\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAAA,iBAAuB;;;ACAvB,oBAAmC;AAE5B,IAAM,WAAW;AAAA,EACtB,OAAO;AAAA,IACL,QAAQ,uBAAS,YAAY,uBAAS,OAAO,GAAG,GAAG,CAAC,EAAE;AAAA,MACpD,uBAAS,UAAU,uBAAS,OAAO,CAAC,CAAC;AAAA,IACvC;AAAA,EACF;AAAA,EACA,SAAS;AAAA,IACP,IAAI;AAAA,EACN;AAAA,EACA,iBAAiB;AAAA,IACf,KAAK;AAAA,IACL,SAAS;AAAA,EACX;AAAA,EACA,WAAW;AAAA,IACT,cAAc;AAAA,EAChB;AAAA,EACA,YAAY;AAAA,IACV,cAAc;AAAA,EAChB;AAAA,EACA,WAAW;AAAA,IACT,uBAAuB;AAAA,MACrB,iBAAiB;AAAA,MACjB,aAAa;AAAA,IACf;AAAA,IACA,aAAa;AAAA,MACX,cAAc;AAAA,IAChB;AAAA,IACA,OAAO;AAAA,MACL,cAAc;AAAA,IAChB;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,IACnB,WAAW;AAAA,MACT,iBAAiB;AAAA,MACjB,mBAAmB;AAAA,IACrB;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,MACjB,iBAAiB;AAAA,IACnB;AAAA,IACA,UAAU;AAAA,MACR,iBAAiB;AAAA,IACnB;AAAA,EACF;AAAA,EACA,YAAY;AAAA,IACV,iBAAiB;AAAA,EACnB;AACF;;;ACrDA,IAAAC,iBAAqB;AAEd,IAAM,sCAAN,cAAkD,oBAAK;AAAA,EAC5D;AACF,EAEG;AAAC;AAEG,IAAM,+BAAN,cAA2C,oBAAK;AAAA,EACrD;AACF,EAAE;AAAC;AAEI,IAAM,4BAAN,cAAwC,oBAAK,YAAY,2BAA2B,EAAE;AAAC;AAEvF,IAAM,2BAAN,cAAuC,oBAAK,YAAY,0BAA0B,EAAE;AAAC;AAErF,IAAM,2BAAN,cAAuC,oBAAK,YAAY,0BAA0B,EAEtF;AAAC;AAEG,IAAM,6BAAN,cAAyC,oBAAK,YAAY,4BAA4B,EAG1F;AAAC;AAEG,IAAM,0BAAN,cAAsC,oBAAK,YAAY,yBAAyB,EAEpF;AAAC;AAEG,IAAM,kCAAN,cAA8C,oBAAK;AAAA,EACxD;AACF,EAEG;AAAC;AAEG,IAAM,iCAAN,cAA6C,oBAAK;AAAA,EACvD;AACF,EAEG;AAAC;AAEG,IAAM,gCAAN,cAA4C,oBAAK;AAAA,EACtD;AACF,EAEG;AAAC;;;AC7CJ,IAAAC,iBAAgC;AAoBzB,IAAM,qBAAN,cAAiC,uBAAQ,IAAI,oBAAoB,EAWtE,EAAE;AAAC;;;AC/BL,IAAAC,iBAAqC;;;ACArC,IAAAC,iBAAqD;AAI9C,IAAM,2BAAN,cAAuC,oBAAK,YAAY,0BAA0B,EAEtF;AAAC;AAEG,IAAM,oBAAN,cAAgC,uBAAQ,IAAI,mBAAmB,EASpE,EAAE;AAAC;AAEL,IAAM,uBAAuB,CAAC,QAAgB;AAC5C,SAAO,sBAAO,OAAO,sBAAO,OAAO,GAAG,GAAG,aAAa,EAAE;AAAA,IACtD,sBAAO,SAAS,MAAM,IAAI,yBAAyB,EAAE,IAAI,CAAC,CAAC;AAAA,EAC7D;AACF;AAEA,IAAM,wBAAwB,MAAM;AAClC,SAAO,sBAAO,OAAO,sBAAO,OAAO,SAAS,GAAG,aAAa,EAAE;AAAA,IAC5D,sBAAO,SAAS,MAAM,IAAI,yBAAyB,EAAE,KAAK,UAAU,CAAC,CAAC;AAAA;AAAA,IAEtE,sBAAO,OAAO,MAAM,sBAAO,QAAQ,SAAS,QAAQ,EAAE,CAAC;AAAA,EACzD;AACF;AAEO,IAAM,wBAAwB,qBAAM;AAAA,EACzC;AAAA,EACA,sBAAO,IAAI,aAAa;AACtB,UAAM,CAAC,WAAW,UAAU,cAAc,aAAa,OAAO,IAAI,OAAO,sBAAO,IAAI;AAAA,MAClF,qBAAqB,YAAY;AAAA,MACjC,qBAAqB,WAAW;AAAA,MAChC,qBAAqB,eAAe;AAAA,MACpC,qBAAqB,cAAc;AAAA,MACnC,sBAAsB;AAAA,IACxB,CAAC;AAED,WAAO;AAAA,MACL,cAAc,sBAAO,QAAQ,SAAS;AAAA,MACtC,aAAa,sBAAO,QAAQ,QAAQ;AAAA,MACpC,iBAAiB,sBAAO,QAAQ,YAAY;AAAA,MAC5C,gBAAgB,sBAAO,QAAQ,WAAW;AAAA,MAC1C,YAAY,sBAAO,QAAQ,OAAO;AAAA,IACpC;AAAA,EACF,CAAC;AACH;AAEO,IAAM,wBAAwB,qBAAM,QAAQ,mBAAmB;AAAA,EACpE,gBAAgB,sBAAO,QAAQ,MAAM;AAAA,EACrC,aAAa,sBAAO,QAAQ,MAAM;AAAA,EAClC,iBAAiB,sBAAO,QAAQ,MAAM;AAAA,EACtC,cAAc,sBAAO,QAAQ,MAAM;AAAA,EACnC,YAAY,sBAAO,QAAQ,SAAS,QAAQ,EAAE;AAChD,CAAC;;;ADzCD,IAAM,yBAAyB;AAAA,EAC7B,cAAc;AAAA,EACd,UAAU;AAAA,EACV,WAAW;AAAA,EACX,WAAW;AAAA,EACX,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,aAAa;AAAA,EACb,qBAAqB;AAAA,EACrB,iBAAiB;AAAA,EACjB,iBAAiB;AACnB;AAEO,IAAM,yBAIT,qBAAM;AAAA,EACR;AAAA,EACA,sBAAO,IAAI,aAAa;AACtB,UAAM,SAAS,OAAO;AACtB,UAAM,YAAY,OAAO,OAAO;AAChC,UAAM,cAAc,OAAO,OAAO;AAClC,UAAM,UAAU,OAAO,OAAO;AAE9B,WAAO;AAAA,MACL,OAAO,CAAC,WAAW;AACjB,cAAM,OAAO,QAAQ,MAAM;AAC3B,cAAM,UAAkC;AAAA,UACtC,QAAQ;AAAA,UACR,gBAAgB;AAAA,UAChB,gBAAgB;AAAA,QAClB;AAEA,YAAI,OAAO,OAAO;AAChB,kBAAQ,cAAc,IAAI;AAAA,QAC5B;AACA,cAAM,MAAM,YAAY,KAAK,QAAQ,eAAe,SAAS,GAAG,OAAO,KAAK;AAE5E,eAAO,sBAAO,WAAW;AAAA,UACvB,KAAK,MACH,MAAM,KAAK;AAAA,YACT;AAAA,YACA,QAAQ,YAAY,QAAQ,OAAO;AAAA,YACnC,QAAQ,OAAO;AAAA,YACf,GAAI,OAAO,QAAQ,EAAE,MAAM,KAAK,UAAU,OAAO,IAAI,EAAE;AAAA,UACzD,CAAC;AAAA,UACH,OAAO,CAAC,UAAU;AAChB,gBAAI,iBAAiB,SAAS,MAAM,SAAS,gBAAgB;AAC3D,qBAAO,IAAI,2BAA2B;AAAA,gBACpC,SAAS,yBAAyB,OAAO;AAAA,gBACzC,MAAM;AAAA,cACR,CAAC;AAAA,YACH;AACA,gBAAI,iBAAiB,SAAS,MAAM,SAAS,cAAc;AACzD,qBAAO,IAAI,2BAA2B;AAAA,gBACpC,SAAS,yBAAyB,OAAO;AAAA,gBACzC,MAAM;AAAA,cACR,CAAC;AAAA,YACH;AACA,mBAAO,IAAI,wBAAwB,EAAE,OAAO,MAAM,CAAC;AAAA,UACrD;AAAA,QACF,CAAC,EAAE;AAAA,UACD,sBAAO;AAAA,YAAS,CAAC,UACf,sBAAO,SAAS,wCAAwC,MAAM,KAAK;AAAA,UACrE;AAAA,UACA,sBAAO,QAAQ,CAAC,aAAa,kBAAkB,UAAU,OAAO,YAAY,CAAC;AAAA,QAC/E;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AACH;AACA,IAAM,cAAc,CAAC,KAAa,WAA2D;AAC3F,QAAM,OAAO,IAAI,IAAI,GAAG;AACxB,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AACA,MAAI,OAAO,WAAW,UAAU;AAC9B,SAAK,SAAS;AAAA,EAChB,OAAO;AACL,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AACjD,WAAK,aAAa,OAAO,KAAK,GAAG,KAAK,EAAE;AAAA,IAC1C;AAAA,EACF;AACA,SAAO;AACT;AAEA,IAAM,UAAU,CAAC;AAAA,EACf;AAAA,EACA;AAAA,EACA;AACF,MAIc;AACZ,MAAI,OAAO;AACT,WAAO,GAAG,SAAS,gBAAgB,GAAG,IAAI,OAAO,OAAO,IAAI;AAAA,EAC9D;AACA,SAAO,GAAG,SAAS,gBAAgB,OAAO,gBAAgB,OAAO,IAAI,IAAI;AAC3E;AACA,SAAS,uBAAoD,UAAoB,QAAgB;AAC/F,SAAO,sBAAO,WAAW;AAAA,IACvB,KAAK,MAAM,SAAS,KAAK;AAAA,IACzB,OAAO,CAAC,UAAU,IAAI,gCAAgC,EAAE,OAAO,MAAM,CAAC;AAAA,EACxE,CAAC,EAAE;AAAA,IACD,sBAAO;AAAA,MAAS,CAAC,UACf,sBAAO,SAAS,+CAA+C,MAAM,KAAK;AAAA,IAC5E;AAAA,IACA,sBAAO,OAAO;AAAA,MACZ,KAAK,CAAC,SAAS,OAAO,MAAM,IAAI;AAAA,MAChC,OAAO,CAAC,UAAU,IAAI,8BAA8B,EAAE,MAA2B,CAAC;AAAA,IACpF,CAAC;AAAA,EACH;AACF;AACA,IAAM,uBAAuB,CAAC,aAAuB;AACnD,QAAM,OAAO,SAAS;AACtB,SAAO,sBAAO,WAAW;AAAA,IACvB,KAAK,MAAM,SAAS,KAAK;AAAA,IACzB,OAAO,CAAC,UAAU,IAAI,gCAAgC,EAAE,OAAO,MAAM,CAAC;AAAA,EACxE,CAAC,EAAE;AAAA,IACD,sBAAO,SAAS,CAAC,UAAU,sBAAO,SAAS,gCAAgC,MAAM,KAAK,CAAC;AAAA,IACvF,sBAAO;AAAA,MAAQ,CAAC,iBACd,sBAAO;AAAA,QACL,qBAAM,MAAM,IAAI,EAAE;AAAA,UAChB,qBAAM;AAAA,YACJ,uBAAuB;AAAA,YACvB,MAAM,IAAI,+BAA+B,EAAE,aAAa,CAAC;AAAA,UAC3D;AAAA,UACA,qBAAM,KAAK,uBAAuB,cAAc,MAAM,IAAI,6BAA6B,CAAC;AAAA,UACxF,qBAAM,KAAK,uBAAuB,WAAW,MAAM,IAAI,0BAA0B,CAAC;AAAA,UAClF,qBAAM,KAAK,uBAAuB,WAAW,MAAM,IAAI,yBAAyB,CAAC;AAAA,UACjF,qBAAM;AAAA,YACJ,uBAAuB;AAAA,YACvB,MAAM,IAAI,yBAAyB,EAAE,SAAS,aAAa,CAAC;AAAA,UAC9D;AAAA,UACA,qBAAM;AAAA,YACJ,uBAAuB;AAAA,YACvB,MAAM,IAAI,oCAAoC,EAAE,aAAa,CAAC;AAAA,UAChE;AAAA,UACA,qBAAM;AAAA,YACJ,CAACC,UAASA,SAAQ;AAAA,YAClB,MACE,IAAI,2BAA2B;AAAA,cAC7B,SAAS,iBAAiB,IAAI;AAAA,cAC9B,MACE,SAAS,uBAAuB,wBAC5B,kBACA,SAAS,uBAAuB,eAC9B,SAAS,uBAAuB,kBAChC,YACA;AAAA,YACV,CAAC;AAAA,UACL;AAAA,UACA,qBAAM,OAAO,MAAM,IAAI,wBAAwB,EAAE,OAAO,aAAa,CAAC,CAAC;AAAA,QACzE;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAM,oBAAoB,CACxB,UACA,WAC0D;AAC1D,MAAI,SAAS,IAAI;AACf,WAAO,uBAAuB,UAAU,MAAM;AAAA,EAChD;AACA,SAAO,qBAAqB,QAAQ;AACtC;;;AE5LA,IAAAC,iBAAuB;;;ACAvB,IAAAC,iBAAqB;AAEd,IAAM,uBAAN,cAAmC,oBAAK,YAAY,sBAAsB,EAG9E;AAAC;;;ADFG,IAAM,gBAAgB,CAA2B,QAAgB,SAA0B;AAChG,SAAO,sBAAO,IAAI;AAAA,IAChB,KAAK,MAAM,OAAO,MAAM,IAAI;AAAA,IAC5B,OAAO,CAAC,UAAU,IAAI,qBAAqB,EAAE,OAAO,MAAM,MAA2B,CAAC;AAAA,EACxF,CAAC;AACH;;;AERA,QAAmB;AAEZ,IAAM,4BAA8B,SAAO;AAAA,EAChD,MAAQ,SAAO;AAAA,EACf,gBAAkB;AAAA,IACd,SAAO;AAAA,MACP,MAAQ,UAAQ,YAAY;AAAA,MAC5B,eAAiB,MAAI;AAAA,IACvB,CAAC;AAAA,EACH;AACF,CAAC;AAEM,IAAM,oCAAsC,SAAO;AAAA,EACxD,IAAM,MAAI;AACZ,CAAC;AAEM,IAAM,sBAAwB,SAAO;AAAA,EAC1C,IAAM,MAAI;AAAA,EACV,MAAQ,SAAO;AAAA,EACf,YAAc,UAAQ;AAAA,EACtB,qBAAuB,UAAQ;AACjC,CAAC;AAEM,IAAM,mCAAqC,SAAO;AAAA,EACvD,OAAS,MAAI,EAAE,IAAI,SAAS,UAAU,YAAY,EAAE,SAAS;AAAA,EAC7D,MAAQ,MAAI,EAAE,SAAS,EAAE,SAAS;AACpC,CAAC;AAEM,IAAM,kCAAoC,SAAO;AAAA,EACtD,MAAQ,SAAO;AAAA,IACb,gBACG,SAAO;AAAA,MACN,MAAQ,UAAQ,YAAY;AAAA,MAC5B,eAAiB,MAAI;AAAA,IACvB,CAAC,EACA,MAAM;AAAA,EACX,CAAC;AAAA,EACD,iBAAmB,MAAI;AACzB,CAAC;AAEM,IAAM,0CAA4C,SAAO;AAAA,EAC9D,IAAM,MAAI;AAAA,EACV,MAAQ,SAAO;AACjB,CAAC;;;ARlCM,IAAM,sBAAsB,CAAC,SAClC,sBAAO,IAAI,aAAa;AACtB,QAAM,UAAU,OAAO;AACvB,QAAM,gBAAgB,OAAO,cAAc,2BAA2B,IAAI;AAC1E,SAAO,OAAO,sBAAO;AAAA,IACnB,QAAQ,MAAM;AAAA,MACZ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,cAAc;AAAA,MACd,SAAS;AAAA,IACX,CAAC;AAAA,IACD,SAAS,MAAM;AAAA,EACjB;AACF,CAAC;;;ASxBH,IAAAC,iBAAuB;AACvB,gBAAe;;;ACDf,IAAAC,KAAmB;AAEZ,IAAM,iBAAmB,UAAO;AAAA,EACrC,OAAS,SAAM;AAAA,EACf,YAAc,UAAO;AAAA,EACrB,WAAa,UAAO;AAAA,EACpB,SAAW,UAAO,EAAE,SAAS;AAAA,EAC7B,OAAS,UAAO;AAAA,EAChB,mBAAqB,OAAI;AAAA,EACzB,IAAM,OAAI;AAAA,EACV,aAAe,SAAQ,OAAI,CAAC;AAC9B,CAAC;AAEM,IAAM,uBAAyB,UAAO;AAAA,EAC3C,MAAQ,SAAM,cAAc;AAAA,EAC5B,MAAQ,UAAO;AAAA,IACb,YAAc,UAAO;AAAA,MACnB,OAAS,OAAI;AAAA,MACb,OAAS,OAAI;AAAA,MACb,UAAY,OAAI;AAAA,MAChB,cAAgB,OAAI;AAAA,MACpB,aAAe,OAAI;AAAA,MACnB,OAAS,UAAO;AAAA,QACd,UAAY,UAAO,EAAE,SAAS,EAAE,SAAS;AAAA,QACzC,SAAW,UAAO;AAAA,QAClB,MAAQ,UAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MACvC,CAAC;AAAA,IACH,CAAC;AAAA,EACH,CAAC;AACH,CAAC;;;AC7BD,IAAAC,KAAmB;AACZ,IAAM,8BAAgC,UAAO;AAAA,EAClD,SACG,SAAQ,OAAI,CAAC,EACb,UAAU,CAAC,QAAQ,IAAI,KAAK,GAAG,CAAC,EAChC,SAAS;AAAA,EACZ,MAAQ,OAAI,EAAE,SAAS;AAAA,EACvB,OAAS,OAAI,EAAE,SAAS;AAAA,EACxB,cACG,SAAQ,UAAO,CAAC,EAChB,UAAU,CAAC,cAAc,UAAU,KAAK,GAAG,CAAC,EAC5C,SAAS;AAAA,EACZ,wBACG,SAAQ,OAAI,CAAC,EACb,UAAU,CAAC,QAAQ,IAAI,KAAK,GAAG,CAAC,EAChC,SAAS;AACd,CAAC;;;AFRM,IAAM,gBAAgB,CAAC,aAA2D;AACvF,SAAO,sBAAO,IAAI,aAAa;AAC7B,UAAM,UAAU,OAAO;AACvB,UAAM,iBAAiB,OAAO,cAAc,6BAA6B,YAAY,CAAC,CAAC;AACvF,WAAO,OAAO,QAAQ,MAAM;AAAA,MAC1B,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,MACT,cAAc;AAAA,MACd,OAAO,UAAAC,QAAG,UAAU,cAAc;AAAA,IACpC,CAAC;AAAA,EACH,CAAC;AACH;AAEO,IAAM,oBAAoB,CAC/B,aACG;AACH,SAAO,sBAAO,IAAI,aAAa;AAC7B,UAAM,eAAiD,CAAC;AACxD,QAAI,OAAO;AACX,QAAI,mBAAmB;AAEvB,WAAO,kBAAkB;AACvB,YAAM,YAAY,OAAO,cAAc;AAAA,QACrC,GAAG;AAAA,QACH;AAAA,QACA,OAAO,SAAS,UAAU;AAAA,MAC5B,CAAC;AAED,UAAI,UAAU,KAAK,WAAW,MAAM,MAAM;AACxC,qBAAa,KAAK,GAAG,UAAU,IAAI;AACnC;AAAA,MACF,OAAO;AACL,2BAAmB;AAAA,MACrB;AAAA,IACF;AAEA,WAAO;AAAA,EACT,CAAC;AACH;;;AGhDA,IAAAC,kBAAuB;AACvB,IAAAC,aAAe;AACf,IAAAC,KAAmB;AAQnB,IAAMC,wBAAyB,SAAM;AAAA,EACjC,SAAM,mBAAmB;AAAA,EACzB,WAAQ,EAAE;AAAA,EACV,WAAQ,IAAI;AAChB,CAAC;AACM,IAAM,sBAAsB,CAAC,aAClC,uBAAO,IAAI,aAAa;AACtB,QAAM,UAAU,OAAO;AACvB,QAAM,iBAAiB,OAAO,cAAc,kCAAkC,YAAY,CAAC,CAAC;AAC5F,QAAM,WAAW,OAAO,QAAQ,MAAM;AAAA,IACpC,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SAAS;AAAA,IACT,cAAcA;AAAA,IACd,OAAO,WAAAC,QAAG,UAAU,cAAc;AAAA,EACpC,CAAC;AACD,SAAO,YAAY,CAAC;AACtB,CAAC;AAEI,IAAM,yBAAyB,CACpC,aAEA,uBAAO,IAAI,aAAa;AACtB,QAAM,MAA6C,CAAC;AACpD,MAAI,OAAO;AACX,MAAI,UAAU;AAEd,SAAO,SAAS;AACd,UAAM,SAAS,OAAO,oBAAoB;AAAA,MACxC,GAAG;AAAA,MACH;AAAA,MACA,OAAO,SAAS,UAAU;AAAA,IAC5B,CAAC;AAED,QAAI,OAAO,QAAQ;AACjB,UAAI,KAAK,GAAG,MAAM;AAClB;AAAA,IACF,OAAO;AACL,gBAAU;AAAA,IACZ;AAAA,EACF;AAEA,SAAO;AACT,CAAC;;;ACtDH,IAAAC,kBAAuB;AAGhB,IAAM,cAAc,CAAC,eAAuB;AACjD,SAAO,cAAc;AAAA,IACnB,SAAS,CAAC,UAAU;AAAA,EACtB,CAAC,EAAE,KAAK,uBAAO,IAAI,CAAC,aAAa,SAAS,KAAK,CAAC,CAAC,CAAC;AACpD;;;ACPA,IAAAC,kBAAuB;AAShB,IAAM,4BAA4B,CAAC,UACxC,uBAAO,IAAI,aAAa;AACtB,QAAM,EAAE,iBAAiB,KAAK,IAAI,OAAO,cAAc,iCAAiC,KAAK;AAC7F,QAAM,UAAU,OAAO;AAEvB,SAAO,OAAO,uBAAO;AAAA,IACnB,QAAQ,MAAM;AAAA,MACZ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM,mBAAmB,eAAe;AAAA,MACxC,cAAc;AAAA,MACd,SAAS;AAAA,IACX,CAAC;AAAA,IACD,SAAS,MAAM;AAAA,EACjB;AACF,CAAC;","names":["import_effect","import_effect","import_effect","import_effect","import_effect","code","import_effect","import_effect","import_effect","z","z","qs","import_effect","import_qs","z","FindCustomerResponse","qs","import_effect","import_effect"]}
|
|
1
|
+
{"version":3,"sources":["../src/bigcommerce-entities/customers/index.ts","../src/bigcommerce-entities/customers/create-customer-group.ts","../src/constants.ts","../src/core/bigcommerce.error.ts","../src/core/bigcommerce.fetcher.ts","../src/core/bigcommerce.fetcher.live.ts","../src/core/config.ts","../src/validation/index.ts","../src/validation/validation.error.ts","../src/bigcommerce-entities/customers/schemas/customer-group.schema.ts","../src/bigcommerce-entities/customers/find-customers.ts","../src/bigcommerce-entities/customers/schemas/customer.schema.ts","../src/bigcommerce-entities/customers/schemas/find-customer.criteria.ts","../src/bigcommerce-entities/customers/get-all-customer-groups.ts","../src/bigcommerce-entities/customers/get-customer.ts","../src/bigcommerce-entities/customers/set-customer-group-price-list.ts"],"sourcesContent":["export * from './create-customer-group';\nexport * from './find-customers';\nexport * from './get-all-customer-groups';\nexport * from './get-customer';\nexport * from './schemas';\nexport * from './set-customer-group-price-list';\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport {\n CreateCustomerGroupResponseSchema,\n CreateCustomerGroupSchema,\n} from './schemas/customer-group.schema';\nexport const createCustomerGroup = (data: z.input<typeof CreateCustomerGroupSchema>) =>\n Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n const validatedBody = yield* validateInput(CreateCustomerGroupSchema, data);\n return yield* Effect.retry(\n fetcher.fetch({\n body: validatedBody,\n isB2B: false,\n method: 'POST',\n path: 'customer_groups',\n resultSchema: CreateCustomerGroupResponseSchema,\n version: 'v2',\n }),\n DEFAULTS.retry.policy,\n );\n });\n","import { Duration, Schedule } from 'effect';\n\nexport const DEFAULTS = {\n retry: {\n policy: Schedule.exponential(Duration.millis(200), 2).pipe(\n Schedule.intersect(Schedule.recurs(3)),\n ),\n },\n timeout: {\n ms: 30000,\n },\n bigcommerceUrls: {\n b2b: 'https://api-b2b.bigcommerce.com/api',\n regular: 'https://api.bigcommerce.com/stores',\n },\n customers: {\n getBatchSize: 250,\n },\n salesStaff: {\n getBatchSize: 250,\n },\n companies: {\n salesStaffAssignments: {\n assignBatchSize: 10,\n concurrency: 2,\n },\n extraFields: {\n getBatchSize: 250,\n },\n roles: {\n getBatchSize: 250,\n },\n },\n products: {\n updateBatchSize: 5,\n updateConcurrency: 2,\n inventory: {\n updateBatchSize: 2000,\n updateConcurrency: 2,\n },\n },\n orders: {\n getAllBatchSize: 250,\n shippingAddresses: {\n getAllBatchSize: 250,\n },\n products: {\n getAllBatchSize: 250,\n },\n },\n priceLists: {\n getAllBatchSize: 250,\n },\n} as const;\n","import { Data } from 'effect';\nimport * as z from 'zod';\nexport class BigCommerceUnprocessableEntityError extends Data.TaggedError(\n 'BigCommerceUnprocessableEntityError',\n)<{\n readonly errorDetails: unknown;\n}> {}\n\nexport class BigCommerceUnauthorizedError extends Data.TaggedError(\n 'BigCommerceUnauthorizedError',\n) {}\n\nexport class BigCommerceForbiddenError extends Data.TaggedError('BigCommerceForbiddenError') {}\n\nexport class BigCommerceNotFoundError extends Data.TaggedError('BigCommerceNotFoundError') {}\n\nexport class BigCommerceConflictError extends Data.TaggedError('BigCommerceConflictError')<{\n readonly details: unknown;\n}> {}\n\nexport class BigCommerceConnectionError extends Data.TaggedError('BigCommerceConnectionError')<{\n readonly message: string;\n readonly type: 'timeout' | 'internalError' | 'unknown';\n}> {}\n\nexport class BigCommerceUnknownError extends Data.TaggedError('BigCommerceUnknownError')<{\n cause: unknown;\n}> {}\n\nexport class BigCommerceInvalidResponseError extends Data.TaggedError(\n 'BigCommerceInvalidResponseError',\n)<{\n cause: unknown;\n}> {}\n\nexport class BigCommerceInvalidRequestError extends Data.TaggedError(\n 'BigCommerceInvalidRequestError',\n)<{\n readonly errorDetails: unknown;\n}> {}\n\nexport class BigCommerceParseResponseError extends Data.TaggedError(\n 'BigCommerceParseResponseError',\n)<{\n readonly error: z.ZodError;\n}> {}\n\nexport type SomeBigCommerceError =\n | BigCommerceUnprocessableEntityError\n | BigCommerceUnauthorizedError\n | BigCommerceForbiddenError\n | BigCommerceNotFoundError\n | BigCommerceConflictError\n | BigCommerceConnectionError\n | BigCommerceUnknownError\n | BigCommerceInvalidResponseError\n | BigCommerceInvalidRequestError\n | BigCommerceParseResponseError;\n","import { Context, Effect } from 'effect';\nimport * as z from 'zod';\nimport { type SomeBigCommerceError } from './bigcommerce.error';\nexport type BigCommerceFetchMethods = 'GET' | 'POST' | 'PUT' | 'DELETE';\nexport interface BigCommerceFetchParams<\n // Always send json for now, maybe later send a Blob\n Body extends Record<string, unknown> | Array<Record<string, unknown>>,\n Query extends Record<string, string> | string,\n Result extends z.ZodType,\n> {\n readonly body?: Body;\n readonly query?: Query;\n readonly method: BigCommerceFetchMethods;\n readonly path: string;\n readonly headers?: Record<string, string>;\n readonly isB2B: boolean;\n readonly version: 'v3' | 'v2';\n readonly resultSchema: Result;\n}\n\nexport class BigCommerceFetcher extends Context.Tag('BigCommerceFetcher')<\n BigCommerceFetcher,\n {\n readonly fetch: <\n Body extends Record<string, unknown> | Array<Record<string, unknown>>,\n Query extends Record<string, string> | string,\n Result extends z.ZodType,\n >(\n params: BigCommerceFetchParams<Body, Query, Result>,\n ) => Effect.Effect<z.output<Result>, SomeBigCommerceError>;\n }\n>() {}\n","import { Effect, Layer, Match } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../constants';\nimport {\n BigCommerceConflictError,\n BigCommerceConnectionError,\n BigCommerceForbiddenError,\n BigCommerceInvalidRequestError,\n BigCommerceInvalidResponseError,\n BigCommerceNotFoundError,\n BigCommerceParseResponseError,\n BigCommerceUnauthorizedError,\n BigCommerceUnknownError,\n BigCommerceUnprocessableEntityError,\n type SomeBigCommerceError,\n} from './bigcommerce.error';\nimport { BigCommerceFetcher } from './bigcommerce.fetcher';\nimport { BigCommerceConfig, type NoBigCommerceConfigError } from './config';\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';\nimport { DEFAULTS } from '../../../constants';\nexport const CreateCustomerGroupSchema = z.object({\n name: z.string(),\n discount_rules: z.array(\n z.object({\n type: z.literal('price_list'),\n price_list_id: z.int(),\n }),\n ),\n});\n\nexport const CreateCustomerGroupResponseSchema = z.object({\n id: z.int(),\n});\n\nexport const CustomerGroupSchema = z.object({\n id: z.int(),\n name: z.string(),\n is_default: z.boolean(),\n is_group_for_guests: z.boolean(),\n});\n\nexport const FindCustomerGroupsCriteriaSchema = z.object({\n limit: z.int().max(DEFAULTS.customers.getBatchSize).optional(),\n page: z.int().positive().optional(),\n});\n\nexport const SetCustomerGroupPriceListSchema = z.object({\n data: z.object({\n discount_rules: z\n .object({\n type: z.literal('price_list'),\n price_list_id: z.int(),\n })\n .array(),\n }),\n customerGroupId: z.int(),\n});\n\nexport const SetCustomerGroupPriceListResponseSchema = z.object({\n id: z.int(),\n name: z.string(),\n});\n","import { Effect } from 'effect';\nimport { stringify } from 'node:querystring';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport { FindCustomerResponse, type CustomerSchema } from './schemas/customer.schema';\nimport { FindCustomersCriteriaSchema } from './schemas/find-customer.criteria';\nexport const findCustomers = (criteria?: z.input<typeof FindCustomersCriteriaSchema>) => {\n return Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n const validatedQuery = yield* validateInput(FindCustomersCriteriaSchema, criteria ?? {});\n return yield* fetcher.fetch({\n method: 'GET',\n path: `customers`,\n isB2B: false,\n version: 'v3',\n resultSchema: FindCustomerResponse,\n query: stringify(validatedQuery),\n });\n });\n};\n\nexport const getAllCustomersBy = (\n criteria: Omit<z.input<typeof FindCustomersCriteriaSchema>, 'page' | 'limit'>,\n) => {\n return Effect.gen(function* () {\n const allCustomers: z.infer<typeof CustomerSchema>[] = [];\n let page = 1;\n let hasMoreCustomers = true;\n\n while (hasMoreCustomers) {\n const customers = yield* findCustomers({\n ...criteria,\n page,\n limit: DEFAULTS.customers.getBatchSize,\n });\n\n if (customers.meta.pagination.links.next) {\n allCustomers.push(...customers.data);\n page++;\n } else {\n hasMoreCustomers = false;\n }\n }\n\n return allCustomers;\n });\n};\n","import * as z from 'zod';\n\nexport const CustomerSchema = z.object({\n email: z.email(),\n first_name: z.string(),\n last_name: z.string(),\n company: z.string().optional(),\n phone: z.string(),\n customer_group_id: z.int(),\n id: z.int(),\n channel_ids: z.array(z.int()),\n});\n\nexport const FindCustomerResponse = z.object({\n data: z.array(CustomerSchema),\n meta: z.object({\n pagination: z.object({\n total: z.int(),\n count: z.int(),\n per_page: z.int(),\n current_page: z.int(),\n total_pages: z.int(),\n links: z.object({\n previous: z.string().optional().nullable(),\n current: z.string(),\n next: z.string().optional().nullable(),\n }),\n }),\n }),\n});\n","import * as z from 'zod';\nexport const FindCustomersCriteriaSchema = z.object({\n 'id:in': z\n .array(z.int())\n .transform((ids) => ids.join(','))\n .optional(),\n page: z.int().optional(),\n limit: z.int().optional(),\n 'company:in': z\n .array(z.string())\n .transform((companies) => companies.join(','))\n .optional(),\n 'customer_group_id:in': z\n .array(z.int())\n .transform((ids) => ids.join(','))\n .optional(),\n});\n","import { Effect } from 'effect';\nimport { stringify } from 'node:querystring';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport {\n CustomerGroupSchema,\n FindCustomerGroupsCriteriaSchema,\n} from './schemas/customer-group.schema';\nconst FindCustomerResponse = z.union([\n z.array(CustomerGroupSchema),\n z.literal(''),\n z.literal(null),\n]);\nexport const findCustomersGroups = (criteria?: z.input<typeof FindCustomerGroupsCriteriaSchema>) =>\n Effect.gen(function* () {\n const fetcher = yield* BigCommerceFetcher;\n const validatedQuery = yield* validateInput(FindCustomerGroupsCriteriaSchema, criteria ?? {});\n const response = yield* fetcher.fetch({\n method: 'GET',\n path: `customers`,\n isB2B: false,\n version: 'v3',\n resultSchema: FindCustomerResponse,\n query: stringify(validatedQuery),\n });\n return response || [];\n });\n\nexport const getAllCustomerGroupsBy = (\n criteria?: Omit<z.input<typeof FindCustomerGroupsCriteriaSchema>, 'page' | 'limit'>,\n) =>\n Effect.gen(function* () {\n const all: z.infer<typeof CustomerGroupSchema>[] = [];\n let page = 1;\n let hasMore = true;\n\n while (hasMore) {\n const groups = yield* findCustomersGroups({\n ...criteria,\n page,\n limit: DEFAULTS.customers.getBatchSize,\n });\n\n if (groups.length) {\n all.push(...groups);\n page++;\n } else {\n hasMore = false;\n }\n }\n\n return all;\n });\n","import { Effect } from 'effect';\nimport { findCustomers } from './find-customers';\n\nexport const getCustomer = (customerId: number) => {\n return findCustomers({\n 'id:in': [customerId],\n }).pipe(Effect.map((response) => response.data[0]));\n};\n","import { Effect } from 'effect';\nimport * as z from 'zod';\nimport { DEFAULTS } from '../../constants';\nimport { BigCommerceFetcher } from '../../core';\nimport { validateInput } from '../../validation';\nimport {\n SetCustomerGroupPriceListResponseSchema,\n SetCustomerGroupPriceListSchema,\n} from './schemas/customer-group.schema';\nexport const setCustomerGroupPriceList = (input: z.input<typeof SetCustomerGroupPriceListSchema>) =>\n Effect.gen(function* () {\n const { customerGroupId, data } = yield* validateInput(SetCustomerGroupPriceListSchema, input);\n const fetcher = yield* BigCommerceFetcher;\n\n return yield* Effect.retry(\n fetcher.fetch({\n body: data,\n isB2B: false,\n method: 'PUT',\n path: `customer_groups/${customerGroupId}`,\n resultSchema: SetCustomerGroupPriceListResponseSchema,\n version: 'v2',\n }),\n DEFAULTS.retry.policy,\n );\n });\n"],"mappings":"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","names":["import_effect","import_effect","import_effect","import_effect","import_effect","code","import_effect","import_effect","import_effect","z","z","import_effect","import_node_querystring","z","FindCustomerResponse","import_effect","import_effect"]}
|