diff --git a/.fern/metadata.json b/.fern/metadata.json index eb5c29ba1..20bad3ddf 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,7 +1,7 @@ { - "cliVersion": "2.2.5", + "cliVersion": "3.38.0", "generatorName": "fernapi/fern-typescript-sdk", - "generatorVersion": "3.33.0", + "generatorVersion": "3.43.8", "generatorConfig": { "namespaceExport": "Square", "allowCustomFetcher": true, @@ -53,5 +53,6 @@ "test:integration": "jest --selectProjects integration" } } - } + }, + "sdkVersion": "43.2.2" } diff --git a/LICENSE b/LICENSE index f5669d1d5..878ffc142 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2025 Square. +Copyright (c) 2026 Square. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 42ea71816..fd2511ee8 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,30 @@ [![fern shield](https://img.shields.io/badge/%F0%9F%8C%BF-Built%20with%20Fern-brightgreen)](https://buildwithfern.com?utm_source=github&utm_medium=github&utm_campaign=readme&utm_source=https%3A%2F%2Fgithub.com%2Fsquare%2Fsquare-nodejs-sdk) [![npm shield](https://img.shields.io/npm/v/square)](https://www.npmjs.com/package/square) -The Square TypeScript library provides convenient access to the Square API from TypeScript. +The Square TypeScript library provides convenient access to the Square APIs from TypeScript. + +## Table of Contents + +- [Installation](#installation) +- [Reference](#reference) +- [Versioning](#versioning) +- [Usage](#usage) +- [Legacy Sdk](#legacy-sdk) +- [Request and Response Types](#request-and-response-types) +- [Exception Handling](#exception-handling) +- [File Uploads](#file-uploads) +- [Pagination](#pagination) +- [Webhook Signature Verification](#webhook-signature-verification) +- [Advanced](#advanced) + - [Additional Headers](#additional-headers) + - [Additional Query String Parameters](#additional-query-string-parameters) + - [Retries](#retries) + - [Timeouts](#timeouts) + - [Aborting Requests](#aborting-requests) + - [Access Raw Response Data](#access-raw-response-data) + - [Logging](#logging) + - [Runtime Compatibility](#runtime-compatibility) +- [Contributing](#contributing) ## Installation @@ -13,7 +36,7 @@ npm i -s square ## Reference -A full reference for this library is available [here](./reference.md). +A full reference for this library is available [here](https://github.com/square/square-nodejs-sdk/blob/HEAD/./reference.md). ## Versioning @@ -38,45 +61,34 @@ await client.payments.create({ sourceId: "ccof:GaJGNaZa8x4OgDJn4GB", idempotencyKey: "7b0f3ec5-086a-4871-8f13-3c81b3875218", amountMoney: { - amount: BigInt(1000), - currency: "USD", + amount: BigInt("1000"), + currency: "USD" }, appFeeMoney: { - amount: BigInt(10), - currency: "USD", + amount: BigInt("10"), + currency: "USD" }, autocomplete: true, customerId: "W92WH6P11H4Z77CTET0RNTGFW8", locationId: "L88917AVBK2S5", referenceId: "123456", - note: "Brief description", + note: "Brief description" }); ``` ## Legacy SDK -> If you're using TypeScript, make sure that the `moduleResolution` setting in your `tsconfig.json` is equal to `node16`, `nodenext`, -> or `bundler` to consume the legacy SDK. - -While the new SDK has a lot of improvements, we at Square understand that it takes time to upgrade when there are breaking changes. -To make the migration easier, the new SDK also exports the legacy SDK as `square/legacy`. Here's an example of how you can use the -legacy SDK alongside the new SDK inside a single file: - -```typescript -import { randomUUID } from "crypto"; -import { Square, SquareClient } from "square"; -import { Client } from "square/legacy"; - +> If you're using TypeScript, make sure that the `moduleResolution` setting in your `tsconfig.json` is equal to `node16`, `nodenext`, > or `bundler` to consume the legacy SDK. +While the new SDK has a lot of improvements, we at Square understand that it takes time to upgrade when there are breaking changes. To make the migration easier, the new SDK also exports the legacy SDK as `square/legacy`. Here's an example of how you can use the legacy SDK alongside the new SDK inside a single file: +```typescript import { randomUUID } from "crypto"; import { Square, SquareClient } from "square"; import { Client } from "square/legacy"; const client = new SquareClient({ token: process.env.SQUARE_ACCESS_TOKEN, }); - const legacyClient = new Client({ bearerAuthCredentials: { accessToken: process.env.SQUARE_ACCESS_TOKEN!, }, }); - async function getLocation(): Promise { return ( await client.locations.get({ @@ -84,7 +96,6 @@ async function getLocation(): Promise { }) ).location!; } - async function createOrder() { const location = await getLocation(); await legacyClient.ordersApi.createOrder({ @@ -104,22 +115,14 @@ async function createOrder() { }, }); } - -createOrder(); -``` - +createOrder(); ``` We recommend migrating to the new SDK using the following steps: - -1. Upgrade the NPM module to `^40.0.0` -2. Search and replace all requires and imports from `"square"` to `"square/legacy"` - -- For required, replace `require("square")` with `require("square/legacy")` -- For imports, replace `from "square"` with `from "square/legacy"` -- For dynamic imports, replace `import("square")` with `import("square/legacy")` - +1. Upgrade the NPM module to `^40.0.0` 2. Search and replace all requires and imports from `"square"` to `"square/legacy"` +- For required, replace `require("square")` with `require("square/legacy")` - For imports, replace `from "square"` with `from "square/legacy"` - For dynamic imports, replace `import("square")` with `import("square/legacy")` 3. Gradually move over to use the new SDK by importing it from the `"square"` import. -## Request And Response Types + +## Request and Response Types The SDK exports all request and response types as TypeScript interfaces. Simply import them with the following namespace: @@ -147,10 +150,54 @@ try { console.log(err.statusCode); console.log(err.message); console.log(err.body); + console.log(err.rawResponse); } } ``` +## File Uploads + +You can upload files using the client: + +```typescript +import { createReadStream } from "fs"; +import { SquareClient } from "square"; + +const client = new SquareClient({ token: "YOUR_TOKEN" }); +await client.disputes.createEvidenceFile({ + disputeId: "dispute_id" +}); +``` +The client accepts a variety of types for file upload parameters: +* Stream types: `fs.ReadStream`, `stream.Readable`, and `ReadableStream` +* Buffered types: `Buffer`, `Blob`, `File`, `ArrayBuffer`, `ArrayBufferView`, and `Uint8Array` + +### Metadata + +You can configure metadata when uploading a file: +```typescript +const file: Uploadable.WithMetadata = { + data: createReadStream("path/to/file"), + filename: "my-file", // optional + contentType: "audio/mpeg", // optional + contentLength: 1949, // optional +}; +``` + +Alternatively, you can upload a file directly from a file path: +```typescript +const file : Uploadable.FromPath = { + path: "path/to/file", + filename: "my-file", // optional + contentType: "audio/mpeg", // optional + contentLength: 1949, // optional +}; +``` + +The metadata is used to set the `Content-Length`, `Content-Type`, and `Content-Disposition` headers. If not provided, the client will attempt to determine them automatically. +For example, `fs.ReadStream` has a `path` property which the SDK uses to retrieve the file size from the filesystem without loading it into memory. + + ## Pagination List endpoints are paginated. The SDK provides an iterator so that you can simply loop over the items: @@ -159,16 +206,27 @@ List endpoints are paginated. The SDK provides an iterator so that you can simpl import { SquareClient } from "square"; const client = new SquareClient({ token: "YOUR_TOKEN" }); -const response = await client.bankAccounts.list(); -for await (const item of response) { +const pageableResponse = await client.bankAccounts.list({ + cursor: "cursor", + limit: 1, + locationId: "location_id" +}); +for await (const item of pageableResponse) { console.log(item); } // Or you can manually iterate page-by-page -const page = await client.bankAccounts.list(); +let page = await client.bankAccounts.list({ + cursor: "cursor", + limit: 1, + locationId: "location_id" +}); while (page.hasNextPage()) { page = page.getNextPage(); } + +// You can also access the underlying response +const response = page.response; ``` ## Webhook Signature Verification @@ -194,6 +252,15 @@ const isValid = WebhooksHelper.verifySignature({ If you would like to send additional headers as part of the request, use the `headers` request option. ```typescript +import { SquareClient } from "square"; + +const client = new SquareClient({ + ... + headers: { + 'X-Custom-Header': 'custom value' + } +}); + const response = await client.payments.create(..., { headers: { 'X-Custom-Header': 'custom value' @@ -201,30 +268,25 @@ const response = await client.payments.create(..., { }); ``` -### Receive extra properties - -Every response includes any extra properties in the JSON response that were not specified in the type. -This can be useful for API features not present in the SDK yet. +### Additional Query String Parameters -You can receive and interact with the extra properties by accessing each one directly like so: +If you would like to send additional query string parameters as part of the request, use the `queryParams` request option. ```typescript -const response = await client.locations.create(...); - -// Cast the response type into an `any`. -const location = response.location as any; - -// Then access the extra property by its name. -const undocumentedProperty = location.undocumentedProperty; +const response = await client.payments.create(..., { + queryParams: { + 'customQueryParamKey': 'custom query param value' + } +}); ``` ### Retries The SDK is instrumented with automatic retries with exponential backoff. A request will be retried as long -as the request is deemed retriable and the number of retry attempts has not grown larger than the configured +as the request is deemed retryable and the number of retry attempts has not grown larger than the configured retry limit (default: 2). -A request is deemed retriable when any of the following HTTP status codes is returned: +A request is deemed retryable when any of the following HTTP status codes is returned: - [408](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/408) (Timeout) - [429](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429) (Too Many Requests) @@ -260,11 +322,89 @@ const response = await client.payments.create(..., { controller.abort(); // aborts the request ``` +### Access Raw Response Data + +The SDK provides access to raw response data, including headers, through the `.withRawResponse()` method. +The `.withRawResponse()` method returns a promise that results to an object with a `data` and a `rawResponse` property. + +```typescript +const { data, rawResponse } = await client.payments.create(...).withRawResponse(); + +console.log(data); +console.log(rawResponse.headers['X-My-Header']); +``` + +### Logging + +The SDK supports logging. You can configure the logger by passing in a `logging` object to the client options. + +```typescript +import { SquareClient, logging } from "square"; + +const client = new SquareClient({ + ... + logging: { + level: logging.LogLevel.Debug, // defaults to logging.LogLevel.Info + logger: new logging.ConsoleLogger(), // defaults to ConsoleLogger + silent: false, // defaults to true, set to false to enable logging + } +}); +``` +The `logging` object can have the following properties: +- `level`: The log level to use. Defaults to `logging.LogLevel.Info`. +- `logger`: The logger to use. Defaults to a `logging.ConsoleLogger`. +- `silent`: Whether to silence the logger. Defaults to `true`. + +The `level` property can be one of the following values: +- `logging.LogLevel.Debug` +- `logging.LogLevel.Info` +- `logging.LogLevel.Warn` +- `logging.LogLevel.Error` + +To provide a custom logger, you can pass in an object that implements the `logging.ILogger` interface. + +
+Custom logger examples + +Here's an example using the popular `winston` logging library. +```ts +import winston from 'winston'; + +const winstonLogger = winston.createLogger({...}); + +const logger: logging.ILogger = { + debug: (msg, ...args) => winstonLogger.debug(msg, ...args), + info: (msg, ...args) => winstonLogger.info(msg, ...args), + warn: (msg, ...args) => winstonLogger.warn(msg, ...args), + error: (msg, ...args) => winstonLogger.error(msg, ...args), +}; +``` + +Here's an example using the popular `pino` logging library. + +```ts +import pino from 'pino'; + +const pinoLogger = pino({...}); + +const logger: logging.ILogger = { + debug: (msg, ...args) => pinoLogger.debug(args, msg), + info: (msg, ...args) => pinoLogger.info(args, msg), + warn: (msg, ...args) => pinoLogger.warn(args, msg), + error: (msg, ...args) => pinoLogger.error(args, msg), +}; +``` +
+ + ### Runtime Compatibility + The SDK defaults to `node-fetch` but will use the global fetch client if present. The SDK works in the following runtimes: + + - Node.js 18+ - Vercel - Cloudflare Workers @@ -274,7 +414,7 @@ runtimes: ### Customizing Fetch Client -The SDK provides a way for your to customize the underlying HTTP client / Fetch function. If you're running in an +The SDK provides a way for you to customize the underlying HTTP client / Fetch function. If you're running in an unsupported environment, this provides a way for you to break glass and ensure the SDK works. ```typescript @@ -294,4 +434,4 @@ otherwise they would be overwritten upon the next generated release. Feel free t a proof of concept, but know that we will not be able to merge it as-is. We suggest opening an issue first to discuss with us! -On the other hand, contributions to the README are always very welcome! +On the other hand, contributions to the README are always very welcome! \ No newline at end of file diff --git a/package.json b/package.json index 3e168ab12..0eafeb759 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,11 @@ { "name": "square", - "version": "43.2.1", + "version": "43.2.2", "private": false, - "repository": "github:square/square-nodejs-sdk", + "repository": { + "type": "git", + "url": "git+https://github.com/square/square-nodejs-sdk.git" + }, "license": "MIT", "main": "./index.js", "types": "./index.d.ts", diff --git a/src/BaseClient.ts b/src/BaseClient.ts index 796b29c04..99e02b499 100644 --- a/src/BaseClient.ts +++ b/src/BaseClient.ts @@ -1,14 +1,14 @@ // This file was auto-generated by Fern from our API Definition. +import { BearerAuthProvider } from "./auth/BearerAuthProvider"; import * as core from "./core"; import { mergeHeaders } from "./core/headers"; import type * as environments from "./environments"; -export interface BaseClientOptions { +export type BaseClientOptions = { environment?: core.Supplier; /** Specify a custom URL to connect the client to. */ baseUrl?: core.Supplier; - token?: core.Supplier; /** Override the Square-Version header */ version?: "2025-10-16"; /** Additional headers to include in requests. */ @@ -22,7 +22,7 @@ export interface BaseClientOptions { fetcher?: core.FetchFunction; /** Configure logging for the client. */ logging?: core.logging.LogConfig | core.logging.Logger; -} +} & BearerAuthProvider.AuthOptions; export interface BaseRequestOptions { /** The maximum time to wait for a response in seconds. */ @@ -39,13 +39,25 @@ export interface BaseRequestOptions { headers?: Record | null | undefined>; } -export function normalizeClientOptions(options: T): T { +export type NormalizedClientOptions = T & { + logging: core.logging.Logger; + authProvider?: core.AuthProvider; +}; + +export type NormalizedClientOptionsWithAuth = + NormalizedClientOptions & { + authProvider: core.AuthProvider; + }; + +export function normalizeClientOptions( + options: T, +): NormalizedClientOptions { const headers = mergeHeaders( { "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "square", - "X-Fern-SDK-Version": "43.2.1", - "User-Agent": "square/43.2.1", + "X-Fern-SDK-Version": "43.2.2", + "User-Agent": "square/43.2.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, "Square-Version": options?.version ?? "2025-10-16", @@ -57,5 +69,23 @@ export function normalizeClientOptions(options: T): ...options, logging: core.logging.createLogger(options?.logging), headers, - } as T; + } as NormalizedClientOptions; +} + +export function normalizeClientOptionsWithAuth( + options: T, +): NormalizedClientOptionsWithAuth { + const normalized = normalizeClientOptions(options) as NormalizedClientOptionsWithAuth; + const normalizedWithNoOpAuthProvider = withNoOpAuthProvider(normalized); + normalized.authProvider ??= new BearerAuthProvider(normalizedWithNoOpAuthProvider); + return normalized; +} + +function withNoOpAuthProvider( + options: NormalizedClientOptions, +): NormalizedClientOptionsWithAuth { + return { + ...options, + authProvider: new core.NoOpAuthProvider(), + }; } diff --git a/src/Client.ts b/src/Client.ts index f81557c60..1fb6b568d 100644 --- a/src/Client.ts +++ b/src/Client.ts @@ -37,16 +37,16 @@ import { V1TransactionsClient } from "./api/resources/v1Transactions/client/Clie import { VendorsClient } from "./api/resources/vendors/client/Client"; import { WebhooksClient } from "./api/resources/webhooks/client/Client"; import type { BaseClientOptions, BaseRequestOptions } from "./BaseClient"; -import { normalizeClientOptions } from "./BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "./BaseClient"; export declare namespace SquareClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class SquareClient { - protected readonly _options: SquareClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; protected _mobile: MobileClient | undefined; protected _oAuth: OAuthClient | undefined; protected _v1Transactions: V1TransactionsClient | undefined; @@ -85,7 +85,7 @@ export class SquareClient { protected _webhooks: WebhooksClient | undefined; constructor(options: SquareClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } public get mobile(): MobileClient { diff --git a/src/api/resources/applePay/client/Client.ts b/src/api/resources/applePay/client/Client.ts index 5579b3dad..5637a5886 100644 --- a/src/api/resources/applePay/client/Client.ts +++ b/src/api/resources/applePay/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; export declare namespace ApplePayClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class ApplePayClient { - protected readonly _options: ApplePayClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: ApplePayClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -57,12 +58,11 @@ export class ApplePayClient { request: Square.RegisterDomainRequest, requestOptions?: ApplePayClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -108,29 +108,6 @@ export class ApplePayClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/apple-pay/domains."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/apple-pay/domains"); } } diff --git a/src/api/resources/bankAccounts/client/Client.ts b/src/api/resources/bankAccounts/client/Client.ts index bacd34365..68841b5a2 100644 --- a/src/api/resources/bankAccounts/client/Client.ts +++ b/src/api/resources/bankAccounts/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; export declare namespace BankAccountsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class BankAccountsClient { - protected readonly _options: BankAccountsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: BankAccountsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -44,22 +45,16 @@ export class BankAccountsClient { request: Square.ListBankAccountsRequest, ): Promise> => { const { cursor, limit, locationId } = request; - const _queryParams: Record = {}; - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (locationId !== undefined) { - _queryParams.location_id = locationId; - } + const _queryParams: Record = { + cursor, + limit, + location_id: locationId, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -97,21 +92,7 @@ export class BankAccountsClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/bank-accounts."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/bank-accounts"); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -150,12 +131,11 @@ export class BankAccountsClient { requestOptions?: BankAccountsClient.RequestOptions, ): Promise> { const { v1BankAccountId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -195,23 +175,12 @@ export class BankAccountsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/bank-accounts/by-v1-id/{v1_bank_account_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/bank-accounts/by-v1-id/{v1_bank_account_id}", + ); } /** @@ -238,12 +207,11 @@ export class BankAccountsClient { requestOptions?: BankAccountsClient.RequestOptions, ): Promise> { const { bankAccountId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -283,31 +251,11 @@ export class BankAccountsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/bank-accounts/{bank_account_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/bank-accounts/{bank_account_id}", + ); } } diff --git a/src/api/resources/bookings/client/Client.ts b/src/api/resources/bookings/client/Client.ts index 423a86aba..e1fd053b8 100644 --- a/src/api/resources/bookings/client/Client.ts +++ b/src/api/resources/bookings/client/Client.ts @@ -1,10 +1,11 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; @@ -14,20 +15,20 @@ import { LocationProfilesClient } from "../resources/locationProfiles/client/Cli import { TeamMemberProfilesClient } from "../resources/teamMemberProfiles/client/Client"; export declare namespace BookingsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class BookingsClient { - protected readonly _options: BookingsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; protected _customAttributeDefinitions: CustomAttributeDefinitionsClient | undefined; protected _customAttributes: CustomAttributesClient | undefined; protected _locationProfiles: LocationProfilesClient | undefined; protected _teamMemberProfiles: TeamMemberProfilesClient | undefined; constructor(options: BookingsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } public get customAttributeDefinitions(): CustomAttributeDefinitionsClient { @@ -73,34 +74,20 @@ export class BookingsClient { const list = core.HttpResponsePromise.interceptFunction( async (request: Square.ListBookingsRequest): Promise> => { const { limit, cursor, customerId, teamMemberId, locationId, startAtMin, startAtMax } = request; - const _queryParams: Record = {}; - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (customerId !== undefined) { - _queryParams.customer_id = customerId; - } - if (teamMemberId !== undefined) { - _queryParams.team_member_id = teamMemberId; - } - if (locationId !== undefined) { - _queryParams.location_id = locationId; - } - if (startAtMin !== undefined) { - _queryParams.start_at_min = startAtMin; - } - if (startAtMax !== undefined) { - _queryParams.start_at_max = startAtMax; - } + const _queryParams: Record = { + limit, + cursor, + customer_id: customerId, + team_member_id: teamMemberId, + location_id: locationId, + start_at_min: startAtMin, + start_at_max: startAtMax, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -138,21 +125,7 @@ export class BookingsClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/bookings."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/bookings"); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -203,12 +176,11 @@ export class BookingsClient { request: Square.CreateBookingRequest, requestOptions?: BookingsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -254,21 +226,7 @@ export class BookingsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/bookings."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/bookings"); } /** @@ -300,12 +258,11 @@ export class BookingsClient { request: Square.SearchAvailabilityRequest, requestOptions?: BookingsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -351,23 +308,12 @@ export class BookingsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/bookings/availability/search.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/bookings/availability/search", + ); } /** @@ -395,12 +341,11 @@ export class BookingsClient { request: Square.BulkRetrieveBookingsRequest, requestOptions?: BookingsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -446,21 +391,7 @@ export class BookingsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/bookings/bulk-retrieve."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/bookings/bulk-retrieve"); } /** @@ -480,12 +411,11 @@ export class BookingsClient { private async __getBusinessProfile( requestOptions?: BookingsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -525,23 +455,12 @@ export class BookingsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/bookings/business-booking-profile.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/bookings/business-booking-profile", + ); } /** @@ -567,12 +486,11 @@ export class BookingsClient { requestOptions?: BookingsClient.RequestOptions, ): Promise> { const { locationId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -612,23 +530,12 @@ export class BookingsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/bookings/location-booking-profiles/{location_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/bookings/location-booking-profiles/{location_id}", + ); } /** @@ -655,12 +562,11 @@ export class BookingsClient { request: Square.BulkRetrieveTeamMemberBookingProfilesRequest, requestOptions?: BookingsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -706,23 +612,12 @@ export class BookingsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/bookings/team-member-booking-profiles/bulk-retrieve.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/bookings/team-member-booking-profiles/bulk-retrieve", + ); } /** @@ -751,12 +646,11 @@ export class BookingsClient { requestOptions?: BookingsClient.RequestOptions, ): Promise> { const { bookingId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -796,21 +690,7 @@ export class BookingsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/bookings/{booking_id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/bookings/{booking_id}"); } /** @@ -843,12 +723,11 @@ export class BookingsClient { requestOptions?: BookingsClient.RequestOptions, ): Promise> { const { bookingId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -894,21 +773,7 @@ export class BookingsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling PUT /v2/bookings/{booking_id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PUT", "/v2/bookings/{booking_id}"); } /** @@ -940,12 +805,11 @@ export class BookingsClient { requestOptions?: BookingsClient.RequestOptions, ): Promise> { const { bookingId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -991,31 +855,11 @@ export class BookingsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/bookings/{booking_id}/cancel.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/bookings/{booking_id}/cancel", + ); } } diff --git a/src/api/resources/bookings/resources/customAttributeDefinitions/client/Client.ts b/src/api/resources/bookings/resources/customAttributeDefinitions/client/Client.ts index 33df4821f..26c2ddaa5 100644 --- a/src/api/resources/bookings/resources/customAttributeDefinitions/client/Client.ts +++ b/src/api/resources/bookings/resources/customAttributeDefinitions/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace CustomAttributeDefinitionsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class CustomAttributeDefinitionsClient { - protected readonly _options: CustomAttributeDefinitionsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: CustomAttributeDefinitionsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -46,19 +47,15 @@ export class CustomAttributeDefinitionsClient { request: Square.bookings.ListCustomAttributeDefinitionsRequest, ): Promise> => { const { limit, cursor } = request; - const _queryParams: Record = {}; - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } + const _queryParams: Record = { + limit, + cursor, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -96,23 +93,12 @@ export class CustomAttributeDefinitionsClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/bookings/custom-attribute-definitions.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/bookings/custom-attribute-definitions", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -156,12 +142,11 @@ export class CustomAttributeDefinitionsClient { request: Square.bookings.CreateBookingCustomAttributeDefinitionRequest, requestOptions?: CustomAttributeDefinitionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -207,23 +192,12 @@ export class CustomAttributeDefinitionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/bookings/custom-attribute-definitions.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/bookings/custom-attribute-definitions", + ); } /** @@ -253,17 +227,14 @@ export class CustomAttributeDefinitionsClient { requestOptions?: CustomAttributeDefinitionsClient.RequestOptions, ): Promise> { const { key, version } = request; - const _queryParams: Record = {}; - if (version !== undefined) { - _queryParams.version = version?.toString() ?? null; - } - + const _queryParams: Record = { + version, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -303,23 +274,12 @@ export class CustomAttributeDefinitionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/bookings/custom-attribute-definitions/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/bookings/custom-attribute-definitions/{key}", + ); } /** @@ -352,12 +312,11 @@ export class CustomAttributeDefinitionsClient { requestOptions?: CustomAttributeDefinitionsClient.RequestOptions, ): Promise> { const { key, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -403,23 +362,12 @@ export class CustomAttributeDefinitionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling PUT /v2/bookings/custom-attribute-definitions/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/v2/bookings/custom-attribute-definitions/{key}", + ); } /** @@ -451,12 +399,11 @@ export class CustomAttributeDefinitionsClient { requestOptions?: CustomAttributeDefinitionsClient.RequestOptions, ): Promise> { const { key } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -496,31 +443,11 @@ export class CustomAttributeDefinitionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling DELETE /v2/bookings/custom-attribute-definitions/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/v2/bookings/custom-attribute-definitions/{key}", + ); } } diff --git a/src/api/resources/bookings/resources/customAttributes/client/Client.ts b/src/api/resources/bookings/resources/customAttributes/client/Client.ts index c5dcaa4fb..a35ad1539 100644 --- a/src/api/resources/bookings/resources/customAttributes/client/Client.ts +++ b/src/api/resources/bookings/resources/customAttributes/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace CustomAttributesClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class CustomAttributesClient { - protected readonly _options: CustomAttributesClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: CustomAttributesClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -55,12 +56,11 @@ export class CustomAttributesClient { request: Square.bookings.BulkDeleteBookingCustomAttributesRequest, requestOptions?: CustomAttributesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -106,23 +106,12 @@ export class CustomAttributesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/bookings/custom-attributes/bulk-delete.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/bookings/custom-attributes/bulk-delete", + ); } /** @@ -158,12 +147,11 @@ export class CustomAttributesClient { request: Square.bookings.BulkUpsertBookingCustomAttributesRequest, requestOptions?: CustomAttributesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -209,23 +197,12 @@ export class CustomAttributesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/bookings/custom-attributes/bulk-upsert.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/bookings/custom-attributes/bulk-upsert", + ); } /** @@ -254,22 +231,16 @@ export class CustomAttributesClient { request: Square.bookings.ListCustomAttributesRequest, ): Promise> => { const { bookingId, limit, cursor, withDefinitions } = request; - const _queryParams: Record = {}; - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (withDefinitions !== undefined) { - _queryParams.with_definitions = withDefinitions?.toString() ?? null; - } + const _queryParams: Record = { + limit, + cursor, + with_definitions: withDefinitions, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -307,23 +278,12 @@ export class CustomAttributesClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/bookings/{booking_id}/custom-attributes.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/bookings/{booking_id}/custom-attributes", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -368,21 +328,15 @@ export class CustomAttributesClient { requestOptions?: CustomAttributesClient.RequestOptions, ): Promise> { const { bookingId, key, withDefinition, version } = request; - const _queryParams: Record = {}; - if (withDefinition !== undefined) { - _queryParams.with_definition = withDefinition?.toString() ?? null; - } - - if (version !== undefined) { - _queryParams.version = version?.toString() ?? null; - } - + const _queryParams: Record = { + with_definition: withDefinition, + version, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -422,23 +376,12 @@ export class CustomAttributesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/bookings/{booking_id}/custom-attributes/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/bookings/{booking_id}/custom-attributes/{key}", + ); } /** @@ -472,12 +415,11 @@ export class CustomAttributesClient { requestOptions?: CustomAttributesClient.RequestOptions, ): Promise> { const { bookingId, key, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -523,23 +465,12 @@ export class CustomAttributesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling PUT /v2/bookings/{booking_id}/custom-attributes/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/v2/bookings/{booking_id}/custom-attributes/{key}", + ); } /** @@ -572,12 +503,11 @@ export class CustomAttributesClient { requestOptions?: CustomAttributesClient.RequestOptions, ): Promise> { const { bookingId, key } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -617,31 +547,11 @@ export class CustomAttributesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling DELETE /v2/bookings/{booking_id}/custom-attributes/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/v2/bookings/{booking_id}/custom-attributes/{key}", + ); } } diff --git a/src/api/resources/bookings/resources/locationProfiles/client/Client.ts b/src/api/resources/bookings/resources/locationProfiles/client/Client.ts index 1ab1fa5ff..35d2e43a5 100644 --- a/src/api/resources/bookings/resources/locationProfiles/client/Client.ts +++ b/src/api/resources/bookings/resources/locationProfiles/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace LocationProfilesClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class LocationProfilesClient { - protected readonly _options: LocationProfilesClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: LocationProfilesClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -43,19 +44,15 @@ export class LocationProfilesClient { request: Square.bookings.ListLocationProfilesRequest, ): Promise> => { const { limit, cursor } = request; - const _queryParams: Record = {}; - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } + const _queryParams: Record = { + limit, + cursor, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -93,23 +90,12 @@ export class LocationProfilesClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/bookings/location-booking-profiles.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/bookings/location-booking-profiles", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -124,13 +110,4 @@ export class LocationProfilesClient { }, }); } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; - } } diff --git a/src/api/resources/bookings/resources/teamMemberProfiles/client/Client.ts b/src/api/resources/bookings/resources/teamMemberProfiles/client/Client.ts index d73681869..ca736da15 100644 --- a/src/api/resources/bookings/resources/teamMemberProfiles/client/Client.ts +++ b/src/api/resources/bookings/resources/teamMemberProfiles/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace TeamMemberProfilesClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class TeamMemberProfilesClient { - protected readonly _options: TeamMemberProfilesClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: TeamMemberProfilesClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -45,25 +46,17 @@ export class TeamMemberProfilesClient { request: Square.bookings.ListTeamMemberProfilesRequest, ): Promise> => { const { bookableOnly, limit, cursor, locationId } = request; - const _queryParams: Record = {}; - if (bookableOnly !== undefined) { - _queryParams.bookable_only = bookableOnly?.toString() ?? null; - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (locationId !== undefined) { - _queryParams.location_id = locationId; - } + const _queryParams: Record = { + bookable_only: bookableOnly, + limit, + cursor, + location_id: locationId, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -101,23 +94,12 @@ export class TeamMemberProfilesClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/bookings/team-member-booking-profiles.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/bookings/team-member-booking-profiles", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -156,12 +138,11 @@ export class TeamMemberProfilesClient { requestOptions?: TeamMemberProfilesClient.RequestOptions, ): Promise> { const { teamMemberId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -201,31 +182,11 @@ export class TeamMemberProfilesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/bookings/team-member-booking-profiles/{team_member_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/bookings/team-member-booking-profiles/{team_member_id}", + ); } } diff --git a/src/api/resources/cards/client/Client.ts b/src/api/resources/cards/client/Client.ts index 34127e617..abba50385 100644 --- a/src/api/resources/cards/client/Client.ts +++ b/src/api/resources/cards/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; export declare namespace CardsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class CardsClient { - protected readonly _options: CardsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: CardsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -45,31 +46,24 @@ export class CardsClient { const list = core.HttpResponsePromise.interceptFunction( async (request: Square.ListCardsRequest): Promise> => { const { cursor, customerId, includeDisabled, referenceId, sortOrder } = request; - const _queryParams: Record = {}; - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (customerId !== undefined) { - _queryParams.customer_id = customerId; - } - if (includeDisabled !== undefined) { - _queryParams.include_disabled = includeDisabled?.toString() ?? null; - } - if (referenceId !== undefined) { - _queryParams.reference_id = referenceId; - } - if (sortOrder !== undefined) { - _queryParams.sort_order = serializers.SortOrder.jsonOrThrow(sortOrder, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } + const _queryParams: Record = { + cursor, + customer_id: customerId, + include_disabled: includeDisabled, + reference_id: referenceId, + sort_order: + sortOrder !== undefined + ? serializers.SortOrder.jsonOrThrow(sortOrder, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }) + : null, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -107,21 +101,7 @@ export class CardsClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/cards."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/cards"); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -173,12 +153,11 @@ export class CardsClient { request: Square.CreateCardRequest, requestOptions?: CardsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -224,21 +203,7 @@ export class CardsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/cards."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/cards"); } /** @@ -264,12 +229,11 @@ export class CardsClient { requestOptions?: CardsClient.RequestOptions, ): Promise> { const { cardId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -309,21 +273,7 @@ export class CardsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/cards/{card_id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/cards/{card_id}"); } /** @@ -350,12 +300,11 @@ export class CardsClient { requestOptions?: CardsClient.RequestOptions, ): Promise> { const { cardId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -395,29 +344,6 @@ export class CardsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/cards/{card_id}/disable."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/cards/{card_id}/disable"); } } diff --git a/src/api/resources/cashDrawers/client/Client.ts b/src/api/resources/cashDrawers/client/Client.ts index 0c62334dd..516290a28 100644 --- a/src/api/resources/cashDrawers/client/Client.ts +++ b/src/api/resources/cashDrawers/client/Client.ts @@ -1,19 +1,19 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import { ShiftsClient } from "../resources/shifts/client/Client"; export declare namespace CashDrawersClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; } export class CashDrawersClient { - protected readonly _options: CashDrawersClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; protected _shifts: ShiftsClient | undefined; constructor(options: CashDrawersClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } public get shifts(): ShiftsClient { diff --git a/src/api/resources/cashDrawers/resources/shifts/client/Client.ts b/src/api/resources/cashDrawers/resources/shifts/client/Client.ts index 17a834cae..6e75417e7 100644 --- a/src/api/resources/cashDrawers/resources/shifts/client/Client.ts +++ b/src/api/resources/cashDrawers/resources/shifts/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace ShiftsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class ShiftsClient { - protected readonly _options: ShiftsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: ShiftsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -48,32 +49,25 @@ export class ShiftsClient { request: Square.cashDrawers.ListShiftsRequest, ): Promise> => { const { locationId, sortOrder, beginTime, endTime, limit, cursor } = request; - const _queryParams: Record = {}; - _queryParams.location_id = locationId; - if (sortOrder !== undefined) { - _queryParams.sort_order = serializers.SortOrder.jsonOrThrow(sortOrder, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } - if (beginTime !== undefined) { - _queryParams.begin_time = beginTime; - } - if (endTime !== undefined) { - _queryParams.end_time = endTime; - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } + const _queryParams: Record = { + location_id: locationId, + sort_order: + sortOrder !== undefined + ? serializers.SortOrder.jsonOrThrow(sortOrder, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }) + : null, + begin_time: beginTime, + end_time: endTime, + limit, + cursor, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -111,23 +105,12 @@ export class ShiftsClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/cash-drawers/shifts.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/cash-drawers/shifts", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -168,14 +151,14 @@ export class ShiftsClient { requestOptions?: ShiftsClient.RequestOptions, ): Promise> { const { shiftId, locationId } = request; - const _queryParams: Record = {}; - _queryParams.location_id = locationId; + const _queryParams: Record = { + location_id: locationId, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -215,23 +198,12 @@ export class ShiftsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/cash-drawers/shifts/{shift_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/cash-drawers/shifts/{shift_id}", + ); } /** @@ -257,20 +229,16 @@ export class ShiftsClient { request: Square.cashDrawers.ListEventsShiftsRequest, ): Promise> => { const { shiftId, locationId, limit, cursor } = request; - const _queryParams: Record = {}; - _queryParams.location_id = locationId; - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } + const _queryParams: Record = { + location_id: locationId, + limit, + cursor, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -308,23 +276,12 @@ export class ShiftsClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/cash-drawers/shifts/{shift_id}/events.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/cash-drawers/shifts/{shift_id}/events", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -339,13 +296,4 @@ export class ShiftsClient { }, }); } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; - } } diff --git a/src/api/resources/catalog/client/Client.ts b/src/api/resources/catalog/client/Client.ts index 8c5e8f886..ba3cb868b 100644 --- a/src/api/resources/catalog/client/Client.ts +++ b/src/api/resources/catalog/client/Client.ts @@ -1,10 +1,11 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; @@ -12,18 +13,18 @@ import { ImagesClient } from "../resources/images/client/Client"; import { ObjectClient } from "../resources/object/client/Client"; export declare namespace CatalogClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class CatalogClient { - protected readonly _options: CatalogClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; protected _images: ImagesClient | undefined; protected _object: ObjectClient | undefined; constructor(options: CatalogClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } public get images(): ImagesClient { @@ -69,12 +70,11 @@ export class CatalogClient { request: Square.BatchDeleteCatalogObjectsRequest, requestOptions?: CatalogClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -120,21 +120,7 @@ export class CatalogClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/catalog/batch-delete."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/catalog/batch-delete"); } /** @@ -165,12 +151,11 @@ export class CatalogClient { request: Square.BatchGetCatalogObjectsRequest, requestOptions?: CatalogClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -216,21 +201,7 @@ export class CatalogClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/catalog/batch-retrieve."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/catalog/batch-retrieve"); } /** @@ -282,12 +253,11 @@ export class CatalogClient { request: Square.BatchUpsertCatalogObjectsRequest, requestOptions?: CatalogClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -333,21 +303,7 @@ export class CatalogClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/catalog/batch-upsert."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/catalog/batch-upsert"); } /** @@ -366,12 +322,11 @@ export class CatalogClient { private async __info( requestOptions?: CatalogClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -411,21 +366,7 @@ export class CatalogClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/catalog/info."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/catalog/info"); } /** @@ -455,22 +396,16 @@ export class CatalogClient { const list = core.HttpResponsePromise.interceptFunction( async (request: Square.ListCatalogRequest): Promise> => { const { cursor, types, catalogVersion } = request; - const _queryParams: Record = {}; - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (types !== undefined) { - _queryParams.types = types; - } - if (catalogVersion !== undefined) { - _queryParams.catalog_version = catalogVersion?.toString() ?? null; - } + const _queryParams: Record = { + cursor, + types, + catalog_version: catalogVersion, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -508,21 +443,7 @@ export class CatalogClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/catalog/list."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/catalog/list"); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -576,12 +497,11 @@ export class CatalogClient { request: Square.SearchCatalogObjectsRequest = {}, requestOptions?: CatalogClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -627,21 +547,7 @@ export class CatalogClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/catalog/search."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/catalog/search"); } /** @@ -696,12 +602,11 @@ export class CatalogClient { request: Square.SearchCatalogItemsRequest = {}, requestOptions?: CatalogClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -747,23 +652,12 @@ export class CatalogClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/catalog/search-catalog-items.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/catalog/search-catalog-items", + ); } /** @@ -792,12 +686,11 @@ export class CatalogClient { request: Square.UpdateItemModifierListsRequest, requestOptions?: CatalogClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -843,23 +736,12 @@ export class CatalogClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/catalog/update-item-modifier-lists.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/catalog/update-item-modifier-lists", + ); } /** @@ -888,12 +770,11 @@ export class CatalogClient { request: Square.UpdateItemTaxesRequest, requestOptions?: CatalogClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -939,31 +820,11 @@ export class CatalogClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/catalog/update-item-taxes.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/catalog/update-item-taxes", + ); } } diff --git a/src/api/resources/catalog/resources/images/client/Client.ts b/src/api/resources/catalog/resources/images/client/Client.ts index 191aedf19..7aebdac34 100644 --- a/src/api/resources/catalog/resources/images/client/Client.ts +++ b/src/api/resources/catalog/resources/images/client/Client.ts @@ -1,26 +1,27 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import { toJson } from "../../../../../../core/json"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace ImagesClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class ImagesClient { - protected readonly _options: ImagesClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: ImagesClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -49,9 +50,9 @@ export class ImagesClient { request: Square.catalog.CreateImagesRequest, requestOptions?: ImagesClient.RequestOptions, ): Promise> { - const _request = await core.newFormData(); + const _body = await core.newFormData(); if (request.request != null) { - _request.append( + _body.append( "request", toJson( serializers.CreateCatalogImageRequest.jsonOrThrow(request.request, { @@ -63,14 +64,15 @@ export class ImagesClient { } if (request.imageFile != null) { - await _request.appendFile("image_file", request.imageFile); + await _body.appendFile("image_file", request.imageFile); } - const _maybeEncodedRequest = await _request.getRequest(); + const _maybeEncodedRequest = await _body.getRequest(); + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), "Square-Version": requestOptions?.version ?? "2025-10-16", ..._maybeEncodedRequest.headers, }), @@ -116,21 +118,7 @@ export class ImagesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/catalog/images."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/catalog/images"); } /** @@ -159,9 +147,9 @@ export class ImagesClient { request: Square.catalog.UpdateImagesRequest, requestOptions?: ImagesClient.RequestOptions, ): Promise> { - const _request = await core.newFormData(); + const _body = await core.newFormData(); if (request.request != null) { - _request.append( + _body.append( "request", toJson( serializers.UpdateCatalogImageRequest.jsonOrThrow(request.request, { @@ -173,14 +161,15 @@ export class ImagesClient { } if (request.imageFile != null) { - await _request.appendFile("image_file", request.imageFile); + await _body.appendFile("image_file", request.imageFile); } - const _maybeEncodedRequest = await _request.getRequest(); + const _maybeEncodedRequest = await _body.getRequest(); + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), "Square-Version": requestOptions?.version ?? "2025-10-16", ..._maybeEncodedRequest.headers, }), @@ -226,29 +215,6 @@ export class ImagesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling PUT /v2/catalog/images/{image_id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PUT", "/v2/catalog/images/{image_id}"); } } diff --git a/src/api/resources/catalog/resources/object/client/Client.ts b/src/api/resources/catalog/resources/object/client/Client.ts index 653ef2342..b2992ee79 100644 --- a/src/api/resources/catalog/resources/object/client/Client.ts +++ b/src/api/resources/catalog/resources/object/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace ObjectClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class ObjectClient { - protected readonly _options: ObjectClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: ObjectClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -52,12 +53,11 @@ export class ObjectClient { request: Square.catalog.UpsertCatalogObjectRequest, requestOptions?: ObjectClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -103,21 +103,7 @@ export class ObjectClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/catalog/object."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/catalog/object"); } /** @@ -152,25 +138,16 @@ export class ObjectClient { requestOptions?: ObjectClient.RequestOptions, ): Promise> { const { objectId, includeRelatedObjects, catalogVersion, includeCategoryPathToRoot } = request; - const _queryParams: Record = {}; - if (includeRelatedObjects !== undefined) { - _queryParams.include_related_objects = includeRelatedObjects?.toString() ?? null; - } - - if (catalogVersion !== undefined) { - _queryParams.catalog_version = catalogVersion?.toString() ?? null; - } - - if (includeCategoryPathToRoot !== undefined) { - _queryParams.include_category_path_to_root = includeCategoryPathToRoot?.toString() ?? null; - } - + const _queryParams: Record = { + include_related_objects: includeRelatedObjects, + catalog_version: catalogVersion, + include_category_path_to_root: includeCategoryPathToRoot, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -210,23 +187,12 @@ export class ObjectClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/catalog/object/{object_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/catalog/object/{object_id}", + ); } /** @@ -261,12 +227,11 @@ export class ObjectClient { requestOptions?: ObjectClient.RequestOptions, ): Promise> { const { objectId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -306,31 +271,11 @@ export class ObjectClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling DELETE /v2/catalog/object/{object_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/v2/catalog/object/{object_id}", + ); } } diff --git a/src/api/resources/channels/client/Client.ts b/src/api/resources/channels/client/Client.ts index 0975335ce..4b477e282 100644 --- a/src/api/resources/channels/client/Client.ts +++ b/src/api/resources/channels/client/Client.ts @@ -1,30 +1,29 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; export declare namespace ChannelsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class ChannelsClient { - protected readonly _options: ChannelsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: ChannelsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** - * - * * @param {Square.ListChannelsRequest} request * @param {ChannelsClient.RequestOptions} requestOptions - Request-specific configuration. * @@ -44,34 +43,30 @@ export class ChannelsClient { const list = core.HttpResponsePromise.interceptFunction( async (request: Square.ListChannelsRequest): Promise> => { const { referenceType, referenceId, status, cursor, limit } = request; - const _queryParams: Record = {}; - if (referenceType !== undefined) { - _queryParams.reference_type = serializers.ReferenceType.jsonOrThrow(referenceType, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } - if (referenceId !== undefined) { - _queryParams.reference_id = referenceId; - } - if (status !== undefined) { - _queryParams.status = serializers.ChannelStatus.jsonOrThrow(status, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } + const _queryParams: Record = { + reference_type: + referenceType !== undefined + ? serializers.ReferenceType.jsonOrThrow(referenceType, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }) + : null, + reference_id: referenceId, + status: + status !== undefined + ? serializers.ChannelStatus.jsonOrThrow(status, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }) + : null, + cursor, + limit, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -109,21 +104,7 @@ export class ChannelsClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/channels."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/channels"); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -140,8 +121,6 @@ export class ChannelsClient { } /** - * - * * @param {Square.BulkRetrieveChannelsRequest} request * @param {ChannelsClient.RequestOptions} requestOptions - Request-specific configuration. * @@ -161,12 +140,11 @@ export class ChannelsClient { request: Square.BulkRetrieveChannelsRequest, requestOptions?: ChannelsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -212,26 +190,10 @@ export class ChannelsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/channels/bulk-retrieve."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/channels/bulk-retrieve"); } /** - * - * * @param {Square.GetChannelsRequest} request * @param {ChannelsClient.RequestOptions} requestOptions - Request-specific configuration. * @@ -252,12 +214,11 @@ export class ChannelsClient { requestOptions?: ChannelsClient.RequestOptions, ): Promise> { const { channelId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -297,29 +258,6 @@ export class ChannelsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/channels/{channel_id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/channels/{channel_id}"); } } diff --git a/src/api/resources/checkout/client/Client.ts b/src/api/resources/checkout/client/Client.ts index 5825d213e..ab5466639 100644 --- a/src/api/resources/checkout/client/Client.ts +++ b/src/api/resources/checkout/client/Client.ts @@ -1,27 +1,28 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; import { PaymentLinksClient } from "../resources/paymentLinks/client/Client"; export declare namespace CheckoutClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class CheckoutClient { - protected readonly _options: CheckoutClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; protected _paymentLinks: PaymentLinksClient | undefined; constructor(options: CheckoutClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } public get paymentLinks(): PaymentLinksClient { @@ -51,12 +52,11 @@ export class CheckoutClient { requestOptions?: CheckoutClient.RequestOptions, ): Promise> { const { locationId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -96,23 +96,12 @@ export class CheckoutClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/online-checkout/location-settings/{location_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/online-checkout/location-settings/{location_id}", + ); } /** @@ -139,12 +128,11 @@ export class CheckoutClient { requestOptions?: CheckoutClient.RequestOptions, ): Promise> { const { locationId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -190,23 +178,12 @@ export class CheckoutClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling PUT /v2/online-checkout/location-settings/{location_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/v2/online-checkout/location-settings/{location_id}", + ); } /** @@ -226,12 +203,11 @@ export class CheckoutClient { private async __retrieveMerchantSettings( requestOptions?: CheckoutClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -271,23 +247,12 @@ export class CheckoutClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/online-checkout/merchant-settings.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/online-checkout/merchant-settings", + ); } /** @@ -312,12 +277,11 @@ export class CheckoutClient { request: Square.UpdateMerchantSettingsRequest, requestOptions?: CheckoutClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -363,31 +327,11 @@ export class CheckoutClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling PUT /v2/online-checkout/merchant-settings.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/v2/online-checkout/merchant-settings", + ); } } diff --git a/src/api/resources/checkout/resources/paymentLinks/client/Client.ts b/src/api/resources/checkout/resources/paymentLinks/client/Client.ts index 7b1ab8db1..06c50accb 100644 --- a/src/api/resources/checkout/resources/paymentLinks/client/Client.ts +++ b/src/api/resources/checkout/resources/paymentLinks/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace PaymentLinksClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class PaymentLinksClient { - protected readonly _options: PaymentLinksClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: PaymentLinksClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -43,19 +44,15 @@ export class PaymentLinksClient { request: Square.checkout.ListPaymentLinksRequest, ): Promise> => { const { cursor, limit } = request; - const _queryParams: Record = {}; - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } + const _queryParams: Record = { + cursor, + limit, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -93,23 +90,12 @@ export class PaymentLinksClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/online-checkout/payment-links.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/online-checkout/payment-links", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -155,12 +141,11 @@ export class PaymentLinksClient { request: Square.checkout.CreatePaymentLinkRequest = {}, requestOptions?: PaymentLinksClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -206,23 +191,12 @@ export class PaymentLinksClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/online-checkout/payment-links.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/online-checkout/payment-links", + ); } /** @@ -248,12 +222,11 @@ export class PaymentLinksClient { requestOptions?: PaymentLinksClient.RequestOptions, ): Promise> { const { id } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -293,23 +266,12 @@ export class PaymentLinksClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/online-checkout/payment-links/{id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/online-checkout/payment-links/{id}", + ); } /** @@ -343,12 +305,11 @@ export class PaymentLinksClient { requestOptions?: PaymentLinksClient.RequestOptions, ): Promise> { const { id, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -394,23 +355,12 @@ export class PaymentLinksClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling PUT /v2/online-checkout/payment-links/{id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/v2/online-checkout/payment-links/{id}", + ); } /** @@ -436,12 +386,11 @@ export class PaymentLinksClient { requestOptions?: PaymentLinksClient.RequestOptions, ): Promise> { const { id } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -481,31 +430,11 @@ export class PaymentLinksClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling DELETE /v2/online-checkout/payment-links/{id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/v2/online-checkout/payment-links/{id}", + ); } } diff --git a/src/api/resources/customers/client/Client.ts b/src/api/resources/customers/client/Client.ts index 748a6c5b0..4560959fe 100644 --- a/src/api/resources/customers/client/Client.ts +++ b/src/api/resources/customers/client/Client.ts @@ -1,10 +1,11 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; @@ -15,13 +16,13 @@ import { GroupsClient } from "../resources/groups/client/Client"; import { SegmentsClient } from "../resources/segments/client/Client"; export declare namespace CustomersClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class CustomersClient { - protected readonly _options: CustomersClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; protected _customAttributeDefinitions: CustomAttributeDefinitionsClient | undefined; protected _groups: GroupsClient | undefined; protected _segments: SegmentsClient | undefined; @@ -29,7 +30,7 @@ export class CustomersClient { protected _customAttributes: CustomAttributesClient | undefined; constructor(options: CustomersClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } public get customAttributeDefinitions(): CustomAttributeDefinitionsClient { @@ -80,34 +81,30 @@ export class CustomersClient { request: Square.ListCustomersRequest, ): Promise> => { const { cursor, limit, sortField, sortOrder, count } = request; - const _queryParams: Record = {}; - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (sortField !== undefined) { - _queryParams.sort_field = serializers.CustomerSortField.jsonOrThrow(sortField, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } - if (sortOrder !== undefined) { - _queryParams.sort_order = serializers.SortOrder.jsonOrThrow(sortOrder, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } - if (count !== undefined) { - _queryParams.count = count?.toString() ?? null; - } + const _queryParams: Record = { + cursor, + limit, + sort_field: + sortField !== undefined + ? serializers.CustomerSortField.jsonOrThrow(sortField, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }) + : null, + sort_order: + sortOrder !== undefined + ? serializers.SortOrder.jsonOrThrow(sortOrder, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }) + : null, + count, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -145,21 +142,7 @@ export class CustomersClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/customers."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/customers"); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -219,12 +202,11 @@ export class CustomersClient { request: Square.CreateCustomerRequest = {}, requestOptions?: CustomersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -270,21 +252,7 @@ export class CustomersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/customers."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/customers"); } /** @@ -352,12 +320,11 @@ export class CustomersClient { request: Square.BulkCreateCustomersRequest, requestOptions?: CustomersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -403,21 +370,7 @@ export class CustomersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/customers/bulk-create."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/customers/bulk-create"); } /** @@ -444,12 +397,11 @@ export class CustomersClient { request: Square.BulkDeleteCustomersRequest, requestOptions?: CustomersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -495,21 +447,7 @@ export class CustomersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/customers/bulk-delete."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/customers/bulk-delete"); } /** @@ -536,12 +474,11 @@ export class CustomersClient { request: Square.BulkRetrieveCustomersRequest, requestOptions?: CustomersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -587,21 +524,7 @@ export class CustomersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/customers/bulk-retrieve."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/customers/bulk-retrieve"); } /** @@ -639,12 +562,11 @@ export class CustomersClient { request: Square.BulkUpdateCustomersRequest, requestOptions?: CustomersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -690,21 +612,7 @@ export class CustomersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/customers/bulk-update."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/customers/bulk-update"); } /** @@ -759,12 +667,11 @@ export class CustomersClient { request: Square.SearchCustomersRequest = {}, requestOptions?: CustomersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -810,21 +717,7 @@ export class CustomersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/customers/search."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/customers/search"); } /** @@ -850,12 +743,11 @@ export class CustomersClient { requestOptions?: CustomersClient.RequestOptions, ): Promise> { const { customerId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -895,21 +787,7 @@ export class CustomersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/customers/{customer_id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/customers/{customer_id}"); } /** @@ -941,12 +819,11 @@ export class CustomersClient { requestOptions?: CustomersClient.RequestOptions, ): Promise> { const { customerId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -992,21 +869,7 @@ export class CustomersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling PUT /v2/customers/{customer_id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PUT", "/v2/customers/{customer_id}"); } /** @@ -1035,17 +898,14 @@ export class CustomersClient { requestOptions?: CustomersClient.RequestOptions, ): Promise> { const { customerId, version } = request; - const _queryParams: Record = {}; - if (version !== undefined) { - _queryParams.version = version?.toString() ?? null; - } - + const _queryParams: Record = { + version, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -1085,31 +945,11 @@ export class CustomersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling DELETE /v2/customers/{customer_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/v2/customers/{customer_id}", + ); } } diff --git a/src/api/resources/customers/resources/cards/client/Client.ts b/src/api/resources/customers/resources/cards/client/Client.ts index 4e4e36436..9ef6fddbb 100644 --- a/src/api/resources/customers/resources/cards/client/Client.ts +++ b/src/api/resources/customers/resources/cards/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace CardsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class CardsClient { - protected readonly _options: CardsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: CardsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -59,12 +60,11 @@ export class CardsClient { requestOptions?: CardsClient.RequestOptions, ): Promise> { const { customerId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -110,23 +110,12 @@ export class CardsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/customers/{customer_id}/cards.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/customers/{customer_id}/cards", + ); } /** @@ -153,12 +142,11 @@ export class CardsClient { requestOptions?: CardsClient.RequestOptions, ): Promise> { const { customerId, cardId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -198,31 +186,11 @@ export class CardsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling DELETE /v2/customers/{customer_id}/cards/{card_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/v2/customers/{customer_id}/cards/{card_id}", + ); } } diff --git a/src/api/resources/customers/resources/customAttributeDefinitions/client/Client.ts b/src/api/resources/customers/resources/customAttributeDefinitions/client/Client.ts index ab2242066..351c93469 100644 --- a/src/api/resources/customers/resources/customAttributeDefinitions/client/Client.ts +++ b/src/api/resources/customers/resources/customAttributeDefinitions/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace CustomAttributeDefinitionsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class CustomAttributeDefinitionsClient { - protected readonly _options: CustomAttributeDefinitionsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: CustomAttributeDefinitionsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -48,19 +49,15 @@ export class CustomAttributeDefinitionsClient { request: Square.customers.ListCustomAttributeDefinitionsRequest, ): Promise> => { const { limit, cursor } = request; - const _queryParams: Record = {}; - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } + const _queryParams: Record = { + limit, + cursor, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -98,23 +95,12 @@ export class CustomAttributeDefinitionsClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/customers/custom-attribute-definitions.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/customers/custom-attribute-definitions", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -170,12 +156,11 @@ export class CustomAttributeDefinitionsClient { request: Square.customers.CreateCustomerCustomAttributeDefinitionRequest, requestOptions?: CustomAttributeDefinitionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -221,23 +206,12 @@ export class CustomAttributeDefinitionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/customers/custom-attribute-definitions.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/customers/custom-attribute-definitions", + ); } /** @@ -268,17 +242,14 @@ export class CustomAttributeDefinitionsClient { requestOptions?: CustomAttributeDefinitionsClient.RequestOptions, ): Promise> { const { key, version } = request; - const _queryParams: Record = {}; - if (version !== undefined) { - _queryParams.version = version?.toString() ?? null; - } - + const _queryParams: Record = { + version, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -318,23 +289,12 @@ export class CustomAttributeDefinitionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/customers/custom-attribute-definitions/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/customers/custom-attribute-definitions/{key}", + ); } /** @@ -370,12 +330,11 @@ export class CustomAttributeDefinitionsClient { requestOptions?: CustomAttributeDefinitionsClient.RequestOptions, ): Promise> { const { key, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -421,23 +380,12 @@ export class CustomAttributeDefinitionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling PUT /v2/customers/custom-attribute-definitions/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/v2/customers/custom-attribute-definitions/{key}", + ); } /** @@ -468,12 +416,11 @@ export class CustomAttributeDefinitionsClient { requestOptions?: CustomAttributeDefinitionsClient.RequestOptions, ): Promise> { const { key } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -513,23 +460,12 @@ export class CustomAttributeDefinitionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling DELETE /v2/customers/custom-attribute-definitions/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/v2/customers/custom-attribute-definitions/{key}", + ); } /** @@ -603,12 +539,11 @@ export class CustomAttributeDefinitionsClient { request: Square.customers.BatchUpsertCustomerCustomAttributesRequest, requestOptions?: CustomAttributeDefinitionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -654,31 +589,11 @@ export class CustomAttributeDefinitionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/customers/custom-attributes/bulk-upsert.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/customers/custom-attributes/bulk-upsert", + ); } } diff --git a/src/api/resources/customers/resources/customAttributes/client/Client.ts b/src/api/resources/customers/resources/customAttributes/client/Client.ts index b7f710c5a..9bec2df21 100644 --- a/src/api/resources/customers/resources/customAttributes/client/Client.ts +++ b/src/api/resources/customers/resources/customAttributes/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace CustomAttributesClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class CustomAttributesClient { - protected readonly _options: CustomAttributesClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: CustomAttributesClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -52,22 +53,16 @@ export class CustomAttributesClient { request: Square.customers.ListCustomAttributesRequest, ): Promise> => { const { customerId, limit, cursor, withDefinitions } = request; - const _queryParams: Record = {}; - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (withDefinitions !== undefined) { - _queryParams.with_definitions = withDefinitions?.toString() ?? null; - } + const _queryParams: Record = { + limit, + cursor, + with_definitions: withDefinitions, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -105,23 +100,12 @@ export class CustomAttributesClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/customers/{customer_id}/custom-attributes.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/customers/{customer_id}/custom-attributes", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -170,21 +154,15 @@ export class CustomAttributesClient { requestOptions?: CustomAttributesClient.RequestOptions, ): Promise> { const { customerId, key, withDefinition, version } = request; - const _queryParams: Record = {}; - if (withDefinition !== undefined) { - _queryParams.with_definition = withDefinition?.toString() ?? null; - } - - if (version !== undefined) { - _queryParams.version = version?.toString() ?? null; - } - + const _queryParams: Record = { + with_definition: withDefinition, + version, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -224,23 +202,12 @@ export class CustomAttributesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/customers/{customer_id}/custom-attributes/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/customers/{customer_id}/custom-attributes/{key}", + ); } /** @@ -278,12 +245,11 @@ export class CustomAttributesClient { requestOptions?: CustomAttributesClient.RequestOptions, ): Promise> { const { customerId, key, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -329,23 +295,12 @@ export class CustomAttributesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/customers/{customer_id}/custom-attributes/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/customers/{customer_id}/custom-attributes/{key}", + ); } /** @@ -376,12 +331,11 @@ export class CustomAttributesClient { requestOptions?: CustomAttributesClient.RequestOptions, ): Promise> { const { customerId, key } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -421,31 +375,11 @@ export class CustomAttributesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling DELETE /v2/customers/{customer_id}/custom-attributes/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/v2/customers/{customer_id}/custom-attributes/{key}", + ); } } diff --git a/src/api/resources/customers/resources/groups/client/Client.ts b/src/api/resources/customers/resources/groups/client/Client.ts index 778f7d564..c4752b665 100644 --- a/src/api/resources/customers/resources/groups/client/Client.ts +++ b/src/api/resources/customers/resources/groups/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace GroupsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class GroupsClient { - protected readonly _options: GroupsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: GroupsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -43,19 +44,15 @@ export class GroupsClient { request: Square.customers.ListGroupsRequest, ): Promise> => { const { cursor, limit } = request; - const _queryParams: Record = {}; - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } + const _queryParams: Record = { + cursor, + limit, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -93,21 +90,7 @@ export class GroupsClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/customers/groups."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/customers/groups"); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -149,12 +132,11 @@ export class GroupsClient { request: Square.customers.CreateCustomerGroupRequest, requestOptions?: GroupsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -200,21 +182,7 @@ export class GroupsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/customers/groups."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/customers/groups"); } /** @@ -240,12 +208,11 @@ export class GroupsClient { requestOptions?: GroupsClient.RequestOptions, ): Promise> { const { groupId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -285,23 +252,12 @@ export class GroupsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/customers/groups/{group_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/customers/groups/{group_id}", + ); } /** @@ -330,12 +286,11 @@ export class GroupsClient { requestOptions?: GroupsClient.RequestOptions, ): Promise> { const { groupId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -381,23 +336,12 @@ export class GroupsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling PUT /v2/customers/groups/{group_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/v2/customers/groups/{group_id}", + ); } /** @@ -423,12 +367,11 @@ export class GroupsClient { requestOptions?: GroupsClient.RequestOptions, ): Promise> { const { groupId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -468,23 +411,12 @@ export class GroupsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling DELETE /v2/customers/groups/{group_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/v2/customers/groups/{group_id}", + ); } /** @@ -514,12 +446,11 @@ export class GroupsClient { requestOptions?: GroupsClient.RequestOptions, ): Promise> { const { customerId, groupId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -559,23 +490,12 @@ export class GroupsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling PUT /v2/customers/{customer_id}/groups/{group_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/v2/customers/{customer_id}/groups/{group_id}", + ); } /** @@ -605,12 +525,11 @@ export class GroupsClient { requestOptions?: GroupsClient.RequestOptions, ): Promise> { const { customerId, groupId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -650,31 +569,11 @@ export class GroupsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling DELETE /v2/customers/{customer_id}/groups/{group_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/v2/customers/{customer_id}/groups/{group_id}", + ); } } diff --git a/src/api/resources/customers/resources/segments/client/Client.ts b/src/api/resources/customers/resources/segments/client/Client.ts index adf6195eb..ab380d8c7 100644 --- a/src/api/resources/customers/resources/segments/client/Client.ts +++ b/src/api/resources/customers/resources/segments/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace SegmentsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class SegmentsClient { - protected readonly _options: SegmentsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: SegmentsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -43,19 +44,15 @@ export class SegmentsClient { request: Square.customers.ListSegmentsRequest, ): Promise> => { const { cursor, limit } = request; - const _queryParams: Record = {}; - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } + const _queryParams: Record = { + cursor, + limit, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -93,23 +90,12 @@ export class SegmentsClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/customers/segments.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/customers/segments", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -148,12 +134,11 @@ export class SegmentsClient { requestOptions?: SegmentsClient.RequestOptions, ): Promise> { const { segmentId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -193,31 +178,11 @@ export class SegmentsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/customers/segments/{segment_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/customers/segments/{segment_id}", + ); } } diff --git a/src/api/resources/devices/client/Client.ts b/src/api/resources/devices/client/Client.ts index 561d50912..7641d3693 100644 --- a/src/api/resources/devices/client/Client.ts +++ b/src/api/resources/devices/client/Client.ts @@ -1,27 +1,28 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; import { CodesClient } from "../resources/codes/client/Client"; export declare namespace DevicesClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class DevicesClient { - protected readonly _options: DevicesClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; protected _codes: CodesClient | undefined; constructor(options: DevicesClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } public get codes(): CodesClient { @@ -50,28 +51,23 @@ export class DevicesClient { const list = core.HttpResponsePromise.interceptFunction( async (request: Square.ListDevicesRequest): Promise> => { const { cursor, sortOrder, limit, locationId } = request; - const _queryParams: Record = {}; - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (sortOrder !== undefined) { - _queryParams.sort_order = serializers.SortOrder.jsonOrThrow(sortOrder, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (locationId !== undefined) { - _queryParams.location_id = locationId; - } + const _queryParams: Record = { + cursor, + sort_order: + sortOrder !== undefined + ? serializers.SortOrder.jsonOrThrow(sortOrder, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }) + : null, + limit, + location_id: locationId, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -109,21 +105,7 @@ export class DevicesClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/devices."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/devices"); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -162,12 +144,11 @@ export class DevicesClient { requestOptions?: DevicesClient.RequestOptions, ): Promise> { const { deviceId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -207,29 +188,6 @@ export class DevicesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/devices/{device_id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/devices/{device_id}"); } } diff --git a/src/api/resources/devices/resources/codes/client/Client.ts b/src/api/resources/devices/resources/codes/client/Client.ts index 49c724f12..23dd4e55a 100644 --- a/src/api/resources/devices/resources/codes/client/Client.ts +++ b/src/api/resources/devices/resources/codes/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace CodesClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class CodesClient { - protected readonly _options: CodesClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: CodesClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -45,31 +46,29 @@ export class CodesClient { request: Square.devices.ListCodesRequest, ): Promise> => { const { cursor, locationId, productType, status } = request; - const _queryParams: Record = {}; - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (locationId !== undefined) { - _queryParams.location_id = locationId; - } - if (productType !== undefined) { - _queryParams.product_type = serializers.ProductType.jsonOrThrow(productType, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } - if (status !== undefined) { - _queryParams.status = serializers.DeviceCodeStatus.jsonOrThrow(status, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } + const _queryParams: Record = { + cursor, + location_id: locationId, + product_type: + productType !== undefined + ? serializers.ProductType.jsonOrThrow(productType, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }) + : null, + status: + status !== undefined + ? serializers.DeviceCodeStatus.jsonOrThrow(status, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }) + : null, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -107,21 +106,7 @@ export class CodesClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/devices/codes."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/devices/codes"); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -165,12 +150,11 @@ export class CodesClient { request: Square.devices.CreateDeviceCodeRequest, requestOptions?: CodesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -216,21 +200,7 @@ export class CodesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/devices/codes."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/devices/codes"); } /** @@ -256,12 +226,11 @@ export class CodesClient { requestOptions?: CodesClient.RequestOptions, ): Promise> { const { id } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -301,29 +270,6 @@ export class CodesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/devices/codes/{id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/devices/codes/{id}"); } } diff --git a/src/api/resources/disputes/client/Client.ts b/src/api/resources/disputes/client/Client.ts index c0872974c..9f477b1a8 100644 --- a/src/api/resources/disputes/client/Client.ts +++ b/src/api/resources/disputes/client/Client.ts @@ -1,28 +1,29 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import { toJson } from "../../../../core/json"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; import { EvidenceClient } from "../resources/evidence/client/Client"; export declare namespace DisputesClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class DisputesClient { - protected readonly _options: DisputesClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; protected _evidence: EvidenceClient | undefined; constructor(options: DisputesClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } public get evidence(): EvidenceClient { @@ -49,25 +50,22 @@ export class DisputesClient { const list = core.HttpResponsePromise.interceptFunction( async (request: Square.ListDisputesRequest): Promise> => { const { cursor, states, locationId } = request; - const _queryParams: Record = {}; - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (states !== undefined) { - _queryParams.states = serializers.DisputeState.jsonOrThrow(states, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } - if (locationId !== undefined) { - _queryParams.location_id = locationId; - } + const _queryParams: Record = { + cursor, + states: + states !== undefined + ? serializers.DisputeState.jsonOrThrow(states, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }) + : null, + location_id: locationId, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -105,21 +103,7 @@ export class DisputesClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/disputes."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/disputes"); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -158,12 +142,11 @@ export class DisputesClient { requestOptions?: DisputesClient.RequestOptions, ): Promise> { const { disputeId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -203,21 +186,7 @@ export class DisputesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/disputes/{dispute_id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/disputes/{dispute_id}"); } /** @@ -247,12 +216,11 @@ export class DisputesClient { requestOptions?: DisputesClient.RequestOptions, ): Promise> { const { disputeId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -292,23 +260,12 @@ export class DisputesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/disputes/{dispute_id}/accept.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/disputes/{dispute_id}/accept", + ); } /** @@ -335,9 +292,9 @@ export class DisputesClient { request: Square.CreateEvidenceFileDisputesRequest, requestOptions?: DisputesClient.RequestOptions, ): Promise> { - const _request = await core.newFormData(); + const _body = await core.newFormData(); if (request.request != null) { - _request.append( + _body.append( "request", toJson( serializers.CreateDisputeEvidenceFileRequest.jsonOrThrow(request.request, { @@ -349,14 +306,15 @@ export class DisputesClient { } if (request.imageFile != null) { - await _request.appendFile("image_file", request.imageFile); + await _body.appendFile("image_file", request.imageFile); } - const _maybeEncodedRequest = await _request.getRequest(); + const _maybeEncodedRequest = await _body.getRequest(); + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), "Square-Version": requestOptions?.version ?? "2025-10-16", ..._maybeEncodedRequest.headers, }), @@ -402,23 +360,12 @@ export class DisputesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/disputes/{dispute_id}/evidence-files.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/disputes/{dispute_id}/evidence-files", + ); } /** @@ -447,12 +394,11 @@ export class DisputesClient { requestOptions?: DisputesClient.RequestOptions, ): Promise> { const { disputeId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -498,23 +444,12 @@ export class DisputesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/disputes/{dispute_id}/evidence-text.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/disputes/{dispute_id}/evidence-text", + ); } /** @@ -546,12 +481,11 @@ export class DisputesClient { requestOptions?: DisputesClient.RequestOptions, ): Promise> { const { disputeId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -591,31 +525,11 @@ export class DisputesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/disputes/{dispute_id}/submit-evidence.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/disputes/{dispute_id}/submit-evidence", + ); } } diff --git a/src/api/resources/disputes/resources/evidence/client/Client.ts b/src/api/resources/disputes/resources/evidence/client/Client.ts index 8f51f0132..c10f972ec 100644 --- a/src/api/resources/disputes/resources/evidence/client/Client.ts +++ b/src/api/resources/disputes/resources/evidence/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace EvidenceClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class EvidenceClient { - protected readonly _options: EvidenceClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: EvidenceClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -43,16 +44,14 @@ export class EvidenceClient { request: Square.disputes.ListEvidenceRequest, ): Promise> => { const { disputeId, cursor } = request; - const _queryParams: Record = {}; - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } + const _queryParams: Record = { + cursor, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -90,23 +89,12 @@ export class EvidenceClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/disputes/{dispute_id}/evidence.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/disputes/{dispute_id}/evidence", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -148,12 +136,11 @@ export class EvidenceClient { requestOptions?: EvidenceClient.RequestOptions, ): Promise> { const { disputeId, evidenceId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -193,23 +180,12 @@ export class EvidenceClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/disputes/{dispute_id}/evidence/{evidence_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/disputes/{dispute_id}/evidence/{evidence_id}", + ); } /** @@ -237,12 +213,11 @@ export class EvidenceClient { requestOptions?: EvidenceClient.RequestOptions, ): Promise> { const { disputeId, evidenceId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -282,31 +257,11 @@ export class EvidenceClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling DELETE /v2/disputes/{dispute_id}/evidence/{evidence_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/v2/disputes/{dispute_id}/evidence/{evidence_id}", + ); } } diff --git a/src/api/resources/employees/client/Client.ts b/src/api/resources/employees/client/Client.ts index e913ba5f2..2a688f9f3 100644 --- a/src/api/resources/employees/client/Client.ts +++ b/src/api/resources/employees/client/Client.ts @@ -1,30 +1,29 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; export declare namespace EmployeesClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class EmployeesClient { - protected readonly _options: EmployeesClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: EmployeesClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** - * - * * @param {Square.ListEmployeesRequest} request * @param {EmployeesClient.RequestOptions} requestOptions - Request-specific configuration. * @@ -45,28 +44,23 @@ export class EmployeesClient { request: Square.ListEmployeesRequest, ): Promise> => { const { locationId, status, limit, cursor } = request; - const _queryParams: Record = {}; - if (locationId !== undefined) { - _queryParams.location_id = locationId; - } - if (status !== undefined) { - _queryParams.status = serializers.EmployeeStatus.jsonOrThrow(status, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } + const _queryParams: Record = { + location_id: locationId, + status: + status !== undefined + ? serializers.EmployeeStatus.jsonOrThrow(status, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }) + : null, + limit, + cursor, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -104,21 +98,7 @@ export class EmployeesClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/employees."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/employees"); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -135,8 +115,6 @@ export class EmployeesClient { } /** - * - * * @param {Square.GetEmployeesRequest} request * @param {EmployeesClient.RequestOptions} requestOptions - Request-specific configuration. * @@ -157,12 +135,11 @@ export class EmployeesClient { requestOptions?: EmployeesClient.RequestOptions, ): Promise> { const { id } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -202,29 +179,6 @@ export class EmployeesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/employees/{id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/employees/{id}"); } } diff --git a/src/api/resources/employees/client/requests/ListEmployeesRequest.ts b/src/api/resources/employees/client/requests/ListEmployeesRequest.ts index 56f0f5881..c62dd4a5b 100644 --- a/src/api/resources/employees/client/requests/ListEmployeesRequest.ts +++ b/src/api/resources/employees/client/requests/ListEmployeesRequest.ts @@ -12,7 +12,6 @@ import type * as Square from "../../../../index"; * } */ export interface ListEmployeesRequest { - /** */ locationId?: string | null; /** Specifies the EmployeeStatus to filter the employee by. */ status?: Square.EmployeeStatus | null; diff --git a/src/api/resources/events/client/Client.ts b/src/api/resources/events/client/Client.ts index c1ee6ea62..38d57bfa7 100644 --- a/src/api/resources/events/client/Client.ts +++ b/src/api/resources/events/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; export declare namespace EventsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class EventsClient { - protected readonly _options: EventsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: EventsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -42,12 +43,11 @@ export class EventsClient { request: Square.SearchEventsRequest = {}, requestOptions?: EventsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -93,21 +93,7 @@ export class EventsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/events."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/events"); } /** @@ -129,12 +115,11 @@ export class EventsClient { private async __disableEvents( requestOptions?: EventsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -174,21 +159,7 @@ export class EventsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling PUT /v2/events/disable."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PUT", "/v2/events/disable"); } /** @@ -208,12 +179,11 @@ export class EventsClient { private async __enableEvents( requestOptions?: EventsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -253,21 +223,7 @@ export class EventsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling PUT /v2/events/enable."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PUT", "/v2/events/enable"); } /** @@ -293,17 +249,14 @@ export class EventsClient { requestOptions?: EventsClient.RequestOptions, ): Promise> { const { apiVersion } = request; - const _queryParams: Record = {}; - if (apiVersion !== undefined) { - _queryParams.api_version = apiVersion; - } - + const _queryParams: Record = { + api_version: apiVersion, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -343,29 +296,6 @@ export class EventsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/events/types."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/events/types"); } } diff --git a/src/api/resources/giftCards/client/Client.ts b/src/api/resources/giftCards/client/Client.ts index b1a85117c..2dcbcaf40 100644 --- a/src/api/resources/giftCards/client/Client.ts +++ b/src/api/resources/giftCards/client/Client.ts @@ -1,27 +1,28 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; import { ActivitiesClient } from "../resources/activities/client/Client"; export declare namespace GiftCardsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class GiftCardsClient { - protected readonly _options: GiftCardsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; protected _activities: ActivitiesClient | undefined; constructor(options: GiftCardsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } public get activities(): ActivitiesClient { @@ -53,28 +54,18 @@ export class GiftCardsClient { request: Square.ListGiftCardsRequest, ): Promise> => { const { type: type_, state, limit, cursor, customerId } = request; - const _queryParams: Record = {}; - if (type_ !== undefined) { - _queryParams.type = type_; - } - if (state !== undefined) { - _queryParams.state = state; - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (customerId !== undefined) { - _queryParams.customer_id = customerId; - } + const _queryParams: Record = { + type: type_, + state, + limit, + cursor, + customer_id: customerId, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -112,21 +103,7 @@ export class GiftCardsClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/gift-cards."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/gift-cards"); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -172,12 +149,11 @@ export class GiftCardsClient { request: Square.CreateGiftCardRequest, requestOptions?: GiftCardsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -223,21 +199,7 @@ export class GiftCardsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/gift-cards."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/gift-cards"); } /** @@ -262,12 +224,11 @@ export class GiftCardsClient { request: Square.GetGiftCardFromGanRequest, requestOptions?: GiftCardsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -313,21 +274,7 @@ export class GiftCardsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/gift-cards/from-gan."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/gift-cards/from-gan"); } /** @@ -352,12 +299,11 @@ export class GiftCardsClient { request: Square.GetGiftCardFromNonceRequest, requestOptions?: GiftCardsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -403,21 +349,7 @@ export class GiftCardsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/gift-cards/from-nonce."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/gift-cards/from-nonce"); } /** @@ -444,12 +376,11 @@ export class GiftCardsClient { requestOptions?: GiftCardsClient.RequestOptions, ): Promise> { const { giftCardId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -495,23 +426,12 @@ export class GiftCardsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/gift-cards/{gift_card_id}/link-customer.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/gift-cards/{gift_card_id}/link-customer", + ); } /** @@ -538,12 +458,11 @@ export class GiftCardsClient { requestOptions?: GiftCardsClient.RequestOptions, ): Promise> { const { giftCardId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -589,23 +508,12 @@ export class GiftCardsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/gift-cards/{gift_card_id}/unlink-customer.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/gift-cards/{gift_card_id}/unlink-customer", + ); } /** @@ -631,12 +539,11 @@ export class GiftCardsClient { requestOptions?: GiftCardsClient.RequestOptions, ): Promise> { const { id } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -676,29 +583,6 @@ export class GiftCardsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/gift-cards/{id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/gift-cards/{id}"); } } diff --git a/src/api/resources/giftCards/resources/activities/client/Client.ts b/src/api/resources/giftCards/resources/activities/client/Client.ts index 26d1f4f83..82951348b 100644 --- a/src/api/resources/giftCards/resources/activities/client/Client.ts +++ b/src/api/resources/giftCards/resources/activities/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace ActivitiesClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class ActivitiesClient { - protected readonly _options: ActivitiesClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: ActivitiesClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -52,37 +53,21 @@ export class ActivitiesClient { request: Square.giftCards.ListActivitiesRequest, ): Promise> => { const { giftCardId, type: type_, locationId, beginTime, endTime, limit, cursor, sortOrder } = request; - const _queryParams: Record = {}; - if (giftCardId !== undefined) { - _queryParams.gift_card_id = giftCardId; - } - if (type_ !== undefined) { - _queryParams.type = type_; - } - if (locationId !== undefined) { - _queryParams.location_id = locationId; - } - if (beginTime !== undefined) { - _queryParams.begin_time = beginTime; - } - if (endTime !== undefined) { - _queryParams.end_time = endTime; - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (sortOrder !== undefined) { - _queryParams.sort_order = sortOrder; - } + const _queryParams: Record = { + gift_card_id: giftCardId, + type: type_, + location_id: locationId, + begin_time: beginTime, + end_time: endTime, + limit, + cursor, + sort_order: sortOrder, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -120,23 +105,12 @@ export class ActivitiesClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/gift-cards/activities.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/gift-cards/activities", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -184,12 +158,11 @@ export class ActivitiesClient { request: Square.giftCards.CreateGiftCardActivityRequest, requestOptions?: ActivitiesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -235,29 +208,6 @@ export class ActivitiesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/gift-cards/activities."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/gift-cards/activities"); } } diff --git a/src/api/resources/inventory/client/Client.ts b/src/api/resources/inventory/client/Client.ts index b9bb81d50..f6bcfaf1e 100644 --- a/src/api/resources/inventory/client/Client.ts +++ b/src/api/resources/inventory/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; export declare namespace InventoryClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class InventoryClient { - protected readonly _options: InventoryClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: InventoryClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -46,12 +47,11 @@ export class InventoryClient { requestOptions?: InventoryClient.RequestOptions, ): Promise> { const { adjustmentId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -91,23 +91,12 @@ export class InventoryClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/inventory/adjustment/{adjustment_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/inventory/adjustment/{adjustment_id}", + ); } /** @@ -134,12 +123,11 @@ export class InventoryClient { requestOptions?: InventoryClient.RequestOptions, ): Promise> { const { adjustmentId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -179,23 +167,12 @@ export class InventoryClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/inventory/adjustments/{adjustment_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/inventory/adjustments/{adjustment_id}", + ); } /** @@ -234,12 +211,11 @@ export class InventoryClient { request: Square.BatchChangeInventoryRequest, requestOptions?: InventoryClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -285,21 +261,7 @@ export class InventoryClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/inventory/batch-change."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/inventory/batch-change"); } /** @@ -330,12 +292,11 @@ export class InventoryClient { request: Square.BatchRetrieveInventoryChangesRequest, requestOptions?: InventoryClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -381,23 +342,12 @@ export class InventoryClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/inventory/batch-retrieve-changes.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/inventory/batch-retrieve-changes", + ); } /** @@ -425,12 +375,11 @@ export class InventoryClient { request: Square.BatchGetInventoryCountsRequest, requestOptions?: InventoryClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -476,23 +425,12 @@ export class InventoryClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/inventory/batch-retrieve-counts.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/inventory/batch-retrieve-counts", + ); } /** @@ -534,12 +472,11 @@ export class InventoryClient { request: Square.BatchChangeInventoryRequest, requestOptions?: InventoryClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -585,23 +522,12 @@ export class InventoryClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/inventory/changes/batch-create.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/inventory/changes/batch-create", + ); } /** @@ -635,12 +561,11 @@ export class InventoryClient { async ( request: Square.BatchRetrieveInventoryChangesRequest, ): Promise> => { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -684,23 +609,12 @@ export class InventoryClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/inventory/changes/batch-retrieve.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/inventory/changes/batch-retrieve", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -747,12 +661,11 @@ export class InventoryClient { async ( request: Square.BatchGetInventoryCountsRequest, ): Promise> => { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -796,23 +709,12 @@ export class InventoryClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/inventory/counts/batch-retrieve.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/inventory/counts/batch-retrieve", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -852,12 +754,11 @@ export class InventoryClient { requestOptions?: InventoryClient.RequestOptions, ): Promise> { const { physicalCountId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -897,23 +798,12 @@ export class InventoryClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/inventory/physical-count/{physical_count_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/inventory/physical-count/{physical_count_id}", + ); } /** @@ -940,12 +830,11 @@ export class InventoryClient { requestOptions?: InventoryClient.RequestOptions, ): Promise> { const { physicalCountId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -985,23 +874,12 @@ export class InventoryClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/inventory/physical-counts/{physical_count_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/inventory/physical-counts/{physical_count_id}", + ); } /** @@ -1028,12 +906,11 @@ export class InventoryClient { requestOptions?: InventoryClient.RequestOptions, ): Promise> { const { transferId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -1073,23 +950,12 @@ export class InventoryClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/inventory/transfers/{transfer_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/inventory/transfers/{transfer_id}", + ); } /** @@ -1117,19 +983,15 @@ export class InventoryClient { request: Square.GetInventoryRequest, ): Promise> => { const { catalogObjectId, locationIds, cursor } = request; - const _queryParams: Record = {}; - if (locationIds !== undefined) { - _queryParams.location_ids = locationIds; - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } + const _queryParams: Record = { + location_ids: locationIds, + cursor, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -1167,23 +1029,12 @@ export class InventoryClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/inventory/{catalog_object_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/inventory/{catalog_object_id}", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -1233,19 +1084,15 @@ export class InventoryClient { request: Square.ChangesInventoryRequest, ): Promise> => { const { catalogObjectId, locationIds, cursor } = request; - const _queryParams: Record = {}; - if (locationIds !== undefined) { - _queryParams.location_ids = locationIds; - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } + const _queryParams: Record = { + location_ids: locationIds, + cursor, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -1283,23 +1130,12 @@ export class InventoryClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/inventory/{catalog_object_id}/changes.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/inventory/{catalog_object_id}/changes", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -1314,13 +1150,4 @@ export class InventoryClient { }, }); } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; - } } diff --git a/src/api/resources/invoices/client/Client.ts b/src/api/resources/invoices/client/Client.ts index ae1562f96..d30ee7933 100644 --- a/src/api/resources/invoices/client/Client.ts +++ b/src/api/resources/invoices/client/Client.ts @@ -1,26 +1,27 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import { toJson } from "../../../../core/json"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; export declare namespace InvoicesClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class InvoicesClient { - protected readonly _options: InvoicesClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: InvoicesClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -45,20 +46,16 @@ export class InvoicesClient { const list = core.HttpResponsePromise.interceptFunction( async (request: Square.ListInvoicesRequest): Promise> => { const { locationId, cursor, limit } = request; - const _queryParams: Record = {}; - _queryParams.location_id = locationId; - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } + const _queryParams: Record = { + location_id: locationId, + cursor, + limit, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -96,21 +93,7 @@ export class InvoicesClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/invoices."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/invoices"); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -192,12 +175,11 @@ export class InvoicesClient { request: Square.CreateInvoiceRequest, requestOptions?: InvoicesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -243,21 +225,7 @@ export class InvoicesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/invoices."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/invoices"); } /** @@ -298,12 +266,11 @@ export class InvoicesClient { request: Square.SearchInvoicesRequest, requestOptions?: InvoicesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -349,21 +316,7 @@ export class InvoicesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/invoices/search."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/invoices/search"); } /** @@ -389,12 +342,11 @@ export class InvoicesClient { requestOptions?: InvoicesClient.RequestOptions, ): Promise> { const { invoiceId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -434,21 +386,7 @@ export class InvoicesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/invoices/{invoice_id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/invoices/{invoice_id}"); } /** @@ -485,12 +423,11 @@ export class InvoicesClient { requestOptions?: InvoicesClient.RequestOptions, ): Promise> { const { invoiceId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -536,21 +473,7 @@ export class InvoicesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling PUT /v2/invoices/{invoice_id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PUT", "/v2/invoices/{invoice_id}"); } /** @@ -579,17 +502,14 @@ export class InvoicesClient { requestOptions?: InvoicesClient.RequestOptions, ): Promise> { const { invoiceId, version } = request; - const _queryParams: Record = {}; - if (version !== undefined) { - _queryParams.version = version?.toString() ?? null; - } - + const _queryParams: Record = { + version, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -629,21 +549,7 @@ export class InvoicesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling DELETE /v2/invoices/{invoice_id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/v2/invoices/{invoice_id}"); } /** @@ -676,9 +582,9 @@ export class InvoicesClient { request: Square.CreateInvoiceAttachmentRequest, requestOptions?: InvoicesClient.RequestOptions, ): Promise> { - const _request = await core.newFormData(); + const _body = await core.newFormData(); if (request.request != null) { - _request.append( + _body.append( "request", toJson( serializers.CreateInvoiceAttachmentRequestData.jsonOrThrow(request.request, { @@ -690,14 +596,15 @@ export class InvoicesClient { } if (request.imageFile != null) { - await _request.appendFile("image_file", request.imageFile); + await _body.appendFile("image_file", request.imageFile); } - const _maybeEncodedRequest = await _request.getRequest(); + const _maybeEncodedRequest = await _body.getRequest(); + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), "Square-Version": requestOptions?.version ?? "2025-10-16", ..._maybeEncodedRequest.headers, }), @@ -743,23 +650,12 @@ export class InvoicesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/invoices/{invoice_id}/attachments.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/invoices/{invoice_id}/attachments", + ); } /** @@ -787,12 +683,11 @@ export class InvoicesClient { requestOptions?: InvoicesClient.RequestOptions, ): Promise> { const { invoiceId, attachmentId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -832,23 +727,12 @@ export class InvoicesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling DELETE /v2/invoices/{invoice_id}/attachments/{attachment_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/v2/invoices/{invoice_id}/attachments/{attachment_id}", + ); } /** @@ -878,12 +762,11 @@ export class InvoicesClient { requestOptions?: InvoicesClient.RequestOptions, ): Promise> { const { invoiceId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -929,23 +812,12 @@ export class InvoicesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/invoices/{invoice_id}/cancel.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/invoices/{invoice_id}/cancel", + ); } /** @@ -986,12 +858,11 @@ export class InvoicesClient { requestOptions?: InvoicesClient.RequestOptions, ): Promise> { const { invoiceId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -1037,31 +908,11 @@ export class InvoicesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/invoices/{invoice_id}/publish.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/invoices/{invoice_id}/publish", + ); } } diff --git a/src/api/resources/labor/client/Client.ts b/src/api/resources/labor/client/Client.ts index d10e8a1c8..2e80968b3 100644 --- a/src/api/resources/labor/client/Client.ts +++ b/src/api/resources/labor/client/Client.ts @@ -1,10 +1,11 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; @@ -15,13 +16,13 @@ import { TeamMemberWagesClient } from "../resources/teamMemberWages/client/Clien import { WorkweekConfigsClient } from "../resources/workweekConfigs/client/Client"; export declare namespace LaborClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class LaborClient { - protected readonly _options: LaborClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; protected _breakTypes: BreakTypesClient | undefined; protected _employeeWages: EmployeeWagesClient | undefined; protected _shifts: ShiftsClient | undefined; @@ -29,7 +30,7 @@ export class LaborClient { protected _workweekConfigs: WorkweekConfigsClient | undefined; constructor(options: LaborClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } public get breakTypes(): BreakTypesClient { @@ -92,12 +93,11 @@ export class LaborClient { request: Square.CreateScheduledShiftRequest, requestOptions?: LaborClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -143,21 +143,7 @@ export class LaborClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/labor/scheduled-shifts."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/labor/scheduled-shifts"); } /** @@ -190,12 +176,11 @@ export class LaborClient { request: Square.BulkPublishScheduledShiftsRequest, requestOptions?: LaborClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -241,23 +226,12 @@ export class LaborClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/labor/scheduled-shifts/bulk-publish.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/labor/scheduled-shifts/bulk-publish", + ); } /** @@ -293,12 +267,11 @@ export class LaborClient { request: Square.SearchScheduledShiftsRequest = {}, requestOptions?: LaborClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -344,23 +317,12 @@ export class LaborClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/labor/scheduled-shifts/search.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/labor/scheduled-shifts/search", + ); } /** @@ -386,12 +348,11 @@ export class LaborClient { requestOptions?: LaborClient.RequestOptions, ): Promise> { const { id } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -431,23 +392,12 @@ export class LaborClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/labor/scheduled-shifts/{id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/labor/scheduled-shifts/{id}", + ); } /** @@ -494,12 +444,11 @@ export class LaborClient { requestOptions?: LaborClient.RequestOptions, ): Promise> { const { id, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -545,23 +494,12 @@ export class LaborClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling PUT /v2/labor/scheduled-shifts/{id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/v2/labor/scheduled-shifts/{id}", + ); } /** @@ -591,12 +529,11 @@ export class LaborClient { requestOptions?: LaborClient.RequestOptions, ): Promise> { const { id, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -642,23 +579,12 @@ export class LaborClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/labor/scheduled-shifts/{id}/publish.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/labor/scheduled-shifts/{id}/publish", + ); } /** @@ -726,12 +652,11 @@ export class LaborClient { request: Square.CreateTimecardRequest, requestOptions?: LaborClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -777,21 +702,7 @@ export class LaborClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/labor/timecards."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/labor/timecards"); } /** @@ -841,12 +752,11 @@ export class LaborClient { request: Square.SearchTimecardsRequest = {}, requestOptions?: LaborClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -892,21 +802,7 @@ export class LaborClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/labor/timecards/search."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/labor/timecards/search"); } /** @@ -932,12 +828,11 @@ export class LaborClient { requestOptions?: LaborClient.RequestOptions, ): Promise> { const { id } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -977,21 +872,7 @@ export class LaborClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/labor/timecards/{id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/labor/timecards/{id}"); } /** @@ -1052,12 +933,11 @@ export class LaborClient { requestOptions?: LaborClient.RequestOptions, ): Promise> { const { id, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -1103,21 +983,7 @@ export class LaborClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling PUT /v2/labor/timecards/{id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PUT", "/v2/labor/timecards/{id}"); } /** @@ -1143,12 +1009,11 @@ export class LaborClient { requestOptions?: LaborClient.RequestOptions, ): Promise> { const { id } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -1188,29 +1053,6 @@ export class LaborClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling DELETE /v2/labor/timecards/{id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/v2/labor/timecards/{id}"); } } diff --git a/src/api/resources/labor/resources/breakTypes/client/Client.ts b/src/api/resources/labor/resources/breakTypes/client/Client.ts index 8e068679f..894143bba 100644 --- a/src/api/resources/labor/resources/breakTypes/client/Client.ts +++ b/src/api/resources/labor/resources/breakTypes/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace BreakTypesClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class BreakTypesClient { - protected readonly _options: BreakTypesClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: BreakTypesClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -44,22 +45,16 @@ export class BreakTypesClient { request: Square.labor.ListBreakTypesRequest, ): Promise> => { const { locationId, limit, cursor } = request; - const _queryParams: Record = {}; - if (locationId !== undefined) { - _queryParams.location_id = locationId; - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } + const _queryParams: Record = { + location_id: locationId, + limit, + cursor, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -97,21 +92,7 @@ export class BreakTypesClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/labor/break-types."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/labor/break-types"); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -168,12 +149,11 @@ export class BreakTypesClient { request: Square.labor.CreateBreakTypeRequest, requestOptions?: BreakTypesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -219,21 +199,7 @@ export class BreakTypesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/labor/break-types."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/labor/break-types"); } /** @@ -259,12 +225,11 @@ export class BreakTypesClient { requestOptions?: BreakTypesClient.RequestOptions, ): Promise> { const { id } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -304,21 +269,7 @@ export class BreakTypesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/labor/break-types/{id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/labor/break-types/{id}"); } /** @@ -351,12 +302,11 @@ export class BreakTypesClient { requestOptions?: BreakTypesClient.RequestOptions, ): Promise> { const { id, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -402,21 +352,7 @@ export class BreakTypesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling PUT /v2/labor/break-types/{id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PUT", "/v2/labor/break-types/{id}"); } /** @@ -444,12 +380,11 @@ export class BreakTypesClient { requestOptions?: BreakTypesClient.RequestOptions, ): Promise> { const { id } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -489,29 +424,6 @@ export class BreakTypesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling DELETE /v2/labor/break-types/{id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/v2/labor/break-types/{id}"); } } diff --git a/src/api/resources/labor/resources/employeeWages/client/Client.ts b/src/api/resources/labor/resources/employeeWages/client/Client.ts index 7c91bc303..7b8292e2e 100644 --- a/src/api/resources/labor/resources/employeeWages/client/Client.ts +++ b/src/api/resources/labor/resources/employeeWages/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace EmployeeWagesClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class EmployeeWagesClient { - protected readonly _options: EmployeeWagesClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: EmployeeWagesClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -44,22 +45,16 @@ export class EmployeeWagesClient { request: Square.labor.ListEmployeeWagesRequest, ): Promise> => { const { employeeId, limit, cursor } = request; - const _queryParams: Record = {}; - if (employeeId !== undefined) { - _queryParams.employee_id = employeeId; - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } + const _queryParams: Record = { + employee_id: employeeId, + limit, + cursor, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -97,23 +92,12 @@ export class EmployeeWagesClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/labor/employee-wages.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/labor/employee-wages", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -152,12 +136,11 @@ export class EmployeeWagesClient { requestOptions?: EmployeeWagesClient.RequestOptions, ): Promise> { const { id } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -197,29 +180,6 @@ export class EmployeeWagesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/labor/employee-wages/{id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/labor/employee-wages/{id}"); } } diff --git a/src/api/resources/labor/resources/shifts/client/Client.ts b/src/api/resources/labor/resources/shifts/client/Client.ts index 4a82b4c74..d92557a22 100644 --- a/src/api/resources/labor/resources/shifts/client/Client.ts +++ b/src/api/resources/labor/resources/shifts/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace ShiftsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class ShiftsClient { - protected readonly _options: ShiftsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: ShiftsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -87,12 +88,11 @@ export class ShiftsClient { request: Square.labor.CreateShiftRequest, requestOptions?: ShiftsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -138,21 +138,7 @@ export class ShiftsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/labor/shifts."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/labor/shifts"); } /** @@ -202,12 +188,11 @@ export class ShiftsClient { request: Square.labor.SearchShiftsRequest = {}, requestOptions?: ShiftsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -253,21 +238,7 @@ export class ShiftsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/labor/shifts/search."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/labor/shifts/search"); } /** @@ -293,12 +264,11 @@ export class ShiftsClient { requestOptions?: ShiftsClient.RequestOptions, ): Promise> { const { id } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -338,21 +308,7 @@ export class ShiftsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/labor/shifts/{id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/labor/shifts/{id}"); } /** @@ -412,12 +368,11 @@ export class ShiftsClient { requestOptions?: ShiftsClient.RequestOptions, ): Promise> { const { id, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -463,21 +418,7 @@ export class ShiftsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling PUT /v2/labor/shifts/{id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PUT", "/v2/labor/shifts/{id}"); } /** @@ -503,12 +444,11 @@ export class ShiftsClient { requestOptions?: ShiftsClient.RequestOptions, ): Promise> { const { id } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -548,29 +488,6 @@ export class ShiftsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling DELETE /v2/labor/shifts/{id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/v2/labor/shifts/{id}"); } } diff --git a/src/api/resources/labor/resources/teamMemberWages/client/Client.ts b/src/api/resources/labor/resources/teamMemberWages/client/Client.ts index 872737f7b..c7a867196 100644 --- a/src/api/resources/labor/resources/teamMemberWages/client/Client.ts +++ b/src/api/resources/labor/resources/teamMemberWages/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace TeamMemberWagesClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class TeamMemberWagesClient { - protected readonly _options: TeamMemberWagesClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: TeamMemberWagesClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -44,22 +45,16 @@ export class TeamMemberWagesClient { request: Square.labor.ListTeamMemberWagesRequest, ): Promise> => { const { teamMemberId, limit, cursor } = request; - const _queryParams: Record = {}; - if (teamMemberId !== undefined) { - _queryParams.team_member_id = teamMemberId; - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } + const _queryParams: Record = { + team_member_id: teamMemberId, + limit, + cursor, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -97,23 +92,12 @@ export class TeamMemberWagesClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/labor/team-member-wages.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/labor/team-member-wages", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -152,12 +136,11 @@ export class TeamMemberWagesClient { requestOptions?: TeamMemberWagesClient.RequestOptions, ): Promise> { const { id } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -197,31 +180,11 @@ export class TeamMemberWagesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/labor/team-member-wages/{id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/labor/team-member-wages/{id}", + ); } } diff --git a/src/api/resources/labor/resources/workweekConfigs/client/Client.ts b/src/api/resources/labor/resources/workweekConfigs/client/Client.ts index 896eb1cf9..5e960f662 100644 --- a/src/api/resources/labor/resources/workweekConfigs/client/Client.ts +++ b/src/api/resources/labor/resources/workweekConfigs/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace WorkweekConfigsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class WorkweekConfigsClient { - protected readonly _options: WorkweekConfigsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: WorkweekConfigsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -43,19 +44,15 @@ export class WorkweekConfigsClient { request: Square.labor.ListWorkweekConfigsRequest, ): Promise> => { const { limit, cursor } = request; - const _queryParams: Record = {}; - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } + const _queryParams: Record = { + limit, + cursor, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -93,23 +90,12 @@ export class WorkweekConfigsClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/labor/workweek-configs.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/labor/workweek-configs", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -153,12 +139,11 @@ export class WorkweekConfigsClient { requestOptions?: WorkweekConfigsClient.RequestOptions, ): Promise> { const { id, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -204,31 +189,11 @@ export class WorkweekConfigsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling PUT /v2/labor/workweek-configs/{id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/v2/labor/workweek-configs/{id}", + ); } } diff --git a/src/api/resources/locations/client/Client.ts b/src/api/resources/locations/client/Client.ts index aef3dcf22..0128556a5 100644 --- a/src/api/resources/locations/client/Client.ts +++ b/src/api/resources/locations/client/Client.ts @@ -1,10 +1,11 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; @@ -13,19 +14,19 @@ import { CustomAttributesClient } from "../resources/customAttributes/client/Cli import { TransactionsClient } from "../resources/transactions/client/Client"; export declare namespace LocationsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class LocationsClient { - protected readonly _options: LocationsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; protected _customAttributeDefinitions: CustomAttributeDefinitionsClient | undefined; protected _customAttributes: CustomAttributesClient | undefined; protected _transactions: TransactionsClient | undefined; constructor(options: LocationsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } public get customAttributeDefinitions(): CustomAttributeDefinitionsClient { @@ -58,12 +59,11 @@ export class LocationsClient { private async __list( requestOptions?: LocationsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -103,21 +103,7 @@ export class LocationsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/locations."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/locations"); } /** @@ -157,12 +143,11 @@ export class LocationsClient { request: Square.CreateLocationRequest = {}, requestOptions?: LocationsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -208,21 +193,7 @@ export class LocationsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/locations."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/locations"); } /** @@ -249,12 +220,11 @@ export class LocationsClient { requestOptions?: LocationsClient.RequestOptions, ): Promise> { const { locationId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -294,21 +264,7 @@ export class LocationsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/locations/{location_id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/locations/{location_id}"); } /** @@ -352,12 +308,11 @@ export class LocationsClient { requestOptions?: LocationsClient.RequestOptions, ): Promise> { const { locationId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -403,21 +358,7 @@ export class LocationsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling PUT /v2/locations/{location_id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PUT", "/v2/locations/{location_id}"); } /** @@ -523,12 +464,11 @@ export class LocationsClient { requestOptions?: LocationsClient.RequestOptions, ): Promise> { const { locationId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -574,31 +514,11 @@ export class LocationsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/locations/{location_id}/checkouts.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/locations/{location_id}/checkouts", + ); } } diff --git a/src/api/resources/locations/resources/customAttributeDefinitions/client/Client.ts b/src/api/resources/locations/resources/customAttributeDefinitions/client/Client.ts index 46bc33be1..58fc67ce6 100644 --- a/src/api/resources/locations/resources/customAttributeDefinitions/client/Client.ts +++ b/src/api/resources/locations/resources/customAttributeDefinitions/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace CustomAttributeDefinitionsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class CustomAttributeDefinitionsClient { - protected readonly _options: CustomAttributeDefinitionsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: CustomAttributeDefinitionsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -47,25 +48,22 @@ export class CustomAttributeDefinitionsClient { request: Square.locations.ListCustomAttributeDefinitionsRequest, ): Promise> => { const { visibilityFilter, limit, cursor } = request; - const _queryParams: Record = {}; - if (visibilityFilter !== undefined) { - _queryParams.visibility_filter = serializers.VisibilityFilter.jsonOrThrow(visibilityFilter, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } + const _queryParams: Record = { + visibility_filter: + visibilityFilter !== undefined + ? serializers.VisibilityFilter.jsonOrThrow(visibilityFilter, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }) + : null, + limit, + cursor, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -103,23 +101,12 @@ export class CustomAttributeDefinitionsClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/locations/custom-attribute-definitions.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/locations/custom-attribute-definitions", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -171,12 +158,11 @@ export class CustomAttributeDefinitionsClient { request: Square.locations.CreateLocationCustomAttributeDefinitionRequest, requestOptions?: CustomAttributeDefinitionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -222,23 +208,12 @@ export class CustomAttributeDefinitionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/locations/custom-attribute-definitions.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/locations/custom-attribute-definitions", + ); } /** @@ -267,17 +242,14 @@ export class CustomAttributeDefinitionsClient { requestOptions?: CustomAttributeDefinitionsClient.RequestOptions, ): Promise> { const { key, version } = request; - const _queryParams: Record = {}; - if (version !== undefined) { - _queryParams.version = version?.toString() ?? null; - } - + const _queryParams: Record = { + version, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -317,23 +289,12 @@ export class CustomAttributeDefinitionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/locations/custom-attribute-definitions/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/locations/custom-attribute-definitions/{key}", + ); } /** @@ -366,12 +327,11 @@ export class CustomAttributeDefinitionsClient { requestOptions?: CustomAttributeDefinitionsClient.RequestOptions, ): Promise> { const { key, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -417,23 +377,12 @@ export class CustomAttributeDefinitionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling PUT /v2/locations/custom-attribute-definitions/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/v2/locations/custom-attribute-definitions/{key}", + ); } /** @@ -462,12 +411,11 @@ export class CustomAttributeDefinitionsClient { requestOptions?: CustomAttributeDefinitionsClient.RequestOptions, ): Promise> { const { key } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -507,31 +455,11 @@ export class CustomAttributeDefinitionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling DELETE /v2/locations/custom-attribute-definitions/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/v2/locations/custom-attribute-definitions/{key}", + ); } } diff --git a/src/api/resources/locations/resources/customAttributes/client/Client.ts b/src/api/resources/locations/resources/customAttributes/client/Client.ts index 65a3191e6..fdacd9228 100644 --- a/src/api/resources/locations/resources/customAttributes/client/Client.ts +++ b/src/api/resources/locations/resources/customAttributes/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace CustomAttributesClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class CustomAttributesClient { - protected readonly _options: CustomAttributesClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: CustomAttributesClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -56,12 +57,11 @@ export class CustomAttributesClient { request: Square.locations.BulkDeleteLocationCustomAttributesRequest, requestOptions?: CustomAttributesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -107,23 +107,12 @@ export class CustomAttributesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/locations/custom-attributes/bulk-delete.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/locations/custom-attributes/bulk-delete", + ); } /** @@ -179,12 +168,11 @@ export class CustomAttributesClient { request: Square.locations.BulkUpsertLocationCustomAttributesRequest, requestOptions?: CustomAttributesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -230,23 +218,12 @@ export class CustomAttributesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/locations/custom-attributes/bulk-upsert.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/locations/custom-attributes/bulk-upsert", + ); } /** @@ -278,28 +255,23 @@ export class CustomAttributesClient { request: Square.locations.ListCustomAttributesRequest, ): Promise> => { const { locationId, visibilityFilter, limit, cursor, withDefinitions } = request; - const _queryParams: Record = {}; - if (visibilityFilter !== undefined) { - _queryParams.visibility_filter = serializers.VisibilityFilter.jsonOrThrow(visibilityFilter, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (withDefinitions !== undefined) { - _queryParams.with_definitions = withDefinitions?.toString() ?? null; - } + const _queryParams: Record = { + visibility_filter: + visibilityFilter !== undefined + ? serializers.VisibilityFilter.jsonOrThrow(visibilityFilter, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }) + : null, + limit, + cursor, + with_definitions: withDefinitions, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -337,23 +309,12 @@ export class CustomAttributesClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/locations/{location_id}/custom-attributes.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/locations/{location_id}/custom-attributes", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -399,21 +360,15 @@ export class CustomAttributesClient { requestOptions?: CustomAttributesClient.RequestOptions, ): Promise> { const { locationId, key, withDefinition, version } = request; - const _queryParams: Record = {}; - if (withDefinition !== undefined) { - _queryParams.with_definition = withDefinition?.toString() ?? null; - } - - if (version !== undefined) { - _queryParams.version = version?.toString() ?? null; - } - + const _queryParams: Record = { + with_definition: withDefinition, + version, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -453,23 +408,12 @@ export class CustomAttributesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/locations/{location_id}/custom-attributes/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/locations/{location_id}/custom-attributes/{key}", + ); } /** @@ -504,12 +448,11 @@ export class CustomAttributesClient { requestOptions?: CustomAttributesClient.RequestOptions, ): Promise> { const { locationId, key, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -555,23 +498,12 @@ export class CustomAttributesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/locations/{location_id}/custom-attributes/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/locations/{location_id}/custom-attributes/{key}", + ); } /** @@ -600,12 +532,11 @@ export class CustomAttributesClient { requestOptions?: CustomAttributesClient.RequestOptions, ): Promise> { const { locationId, key } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -645,31 +576,11 @@ export class CustomAttributesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling DELETE /v2/locations/{location_id}/custom-attributes/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/v2/locations/{location_id}/custom-attributes/{key}", + ); } } diff --git a/src/api/resources/locations/resources/transactions/client/Client.ts b/src/api/resources/locations/resources/transactions/client/Client.ts index 8c44874ac..87a4aa386 100644 --- a/src/api/resources/locations/resources/transactions/client/Client.ts +++ b/src/api/resources/locations/resources/transactions/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace TransactionsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class TransactionsClient { - protected readonly _options: TransactionsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: TransactionsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -54,32 +55,23 @@ export class TransactionsClient { requestOptions?: TransactionsClient.RequestOptions, ): Promise> { const { locationId, beginTime, endTime, sortOrder, cursor } = request; - const _queryParams: Record = {}; - if (beginTime !== undefined) { - _queryParams.begin_time = beginTime; - } - - if (endTime !== undefined) { - _queryParams.end_time = endTime; - } - - if (sortOrder !== undefined) { - _queryParams.sort_order = serializers.SortOrder.jsonOrThrow(sortOrder, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } - - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - + const _queryParams: Record = { + begin_time: beginTime, + end_time: endTime, + sort_order: + sortOrder !== undefined + ? serializers.SortOrder.jsonOrThrow(sortOrder, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }) + : null, + cursor, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -119,23 +111,12 @@ export class TransactionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/locations/{location_id}/transactions.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/locations/{location_id}/transactions", + ); } /** @@ -162,12 +143,11 @@ export class TransactionsClient { requestOptions?: TransactionsClient.RequestOptions, ): Promise> { const { locationId, transactionId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -207,23 +187,12 @@ export class TransactionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/locations/{location_id}/transactions/{transaction_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/locations/{location_id}/transactions/{transaction_id}", + ); } /** @@ -255,12 +224,11 @@ export class TransactionsClient { requestOptions?: TransactionsClient.RequestOptions, ): Promise> { const { locationId, transactionId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -300,23 +268,12 @@ export class TransactionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/locations/{location_id}/transactions/{transaction_id}/capture.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/locations/{location_id}/transactions/{transaction_id}/capture", + ); } /** @@ -348,12 +305,11 @@ export class TransactionsClient { requestOptions?: TransactionsClient.RequestOptions, ): Promise> { const { locationId, transactionId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -393,31 +349,11 @@ export class TransactionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/locations/{location_id}/transactions/{transaction_id}/void.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/locations/{location_id}/transactions/{transaction_id}/void", + ); } } diff --git a/src/api/resources/locations/resources/transactions/client/requests/CaptureTransactionsRequest.ts b/src/api/resources/locations/resources/transactions/client/requests/CaptureTransactionsRequest.ts index 1ca6b5728..637a29e2e 100644 --- a/src/api/resources/locations/resources/transactions/client/requests/CaptureTransactionsRequest.ts +++ b/src/api/resources/locations/resources/transactions/client/requests/CaptureTransactionsRequest.ts @@ -8,8 +8,6 @@ * } */ export interface CaptureTransactionsRequest { - /** */ locationId: string; - /** */ transactionId: string; } diff --git a/src/api/resources/locations/resources/transactions/client/requests/VoidTransactionsRequest.ts b/src/api/resources/locations/resources/transactions/client/requests/VoidTransactionsRequest.ts index 1e192d64f..c697edb9e 100644 --- a/src/api/resources/locations/resources/transactions/client/requests/VoidTransactionsRequest.ts +++ b/src/api/resources/locations/resources/transactions/client/requests/VoidTransactionsRequest.ts @@ -8,8 +8,6 @@ * } */ export interface VoidTransactionsRequest { - /** */ locationId: string; - /** */ transactionId: string; } diff --git a/src/api/resources/loyalty/client/Client.ts b/src/api/resources/loyalty/client/Client.ts index 3c1136eb3..b6e636287 100644 --- a/src/api/resources/loyalty/client/Client.ts +++ b/src/api/resources/loyalty/client/Client.ts @@ -1,10 +1,11 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; @@ -13,19 +14,19 @@ import { ProgramsClient } from "../resources/programs/client/Client"; import { RewardsClient } from "../resources/rewards/client/Client"; export declare namespace LoyaltyClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class LoyaltyClient { - protected readonly _options: LoyaltyClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; protected _accounts: AccountsClient | undefined; protected _programs: ProgramsClient | undefined; protected _rewards: RewardsClient | undefined; constructor(options: LoyaltyClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } public get accounts(): AccountsClient { @@ -76,12 +77,11 @@ export class LoyaltyClient { request: Square.SearchLoyaltyEventsRequest = {}, requestOptions?: LoyaltyClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -127,29 +127,6 @@ export class LoyaltyClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/loyalty/events/search."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/loyalty/events/search"); } } diff --git a/src/api/resources/loyalty/resources/accounts/client/Client.ts b/src/api/resources/loyalty/resources/accounts/client/Client.ts index 372059c4b..49f32e9c7 100644 --- a/src/api/resources/loyalty/resources/accounts/client/Client.ts +++ b/src/api/resources/loyalty/resources/accounts/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace AccountsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class AccountsClient { - protected readonly _options: AccountsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: AccountsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -50,12 +51,11 @@ export class AccountsClient { request: Square.loyalty.CreateLoyaltyAccountRequest, requestOptions?: AccountsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -101,21 +101,7 @@ export class AccountsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/loyalty/accounts."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/loyalty/accounts"); } /** @@ -149,12 +135,11 @@ export class AccountsClient { request: Square.loyalty.SearchLoyaltyAccountsRequest = {}, requestOptions?: AccountsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -200,21 +185,7 @@ export class AccountsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/loyalty/accounts/search."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/loyalty/accounts/search"); } /** @@ -240,12 +211,11 @@ export class AccountsClient { requestOptions?: AccountsClient.RequestOptions, ): Promise> { const { accountId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -285,23 +255,12 @@ export class AccountsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/loyalty/accounts/{account_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/loyalty/accounts/{account_id}", + ); } /** @@ -345,12 +304,11 @@ export class AccountsClient { requestOptions?: AccountsClient.RequestOptions, ): Promise> { const { accountId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -396,23 +354,12 @@ export class AccountsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/loyalty/accounts/{account_id}/accumulate.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/loyalty/accounts/{account_id}/accumulate", + ); } /** @@ -447,12 +394,11 @@ export class AccountsClient { requestOptions?: AccountsClient.RequestOptions, ): Promise> { const { accountId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -498,31 +444,11 @@ export class AccountsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/loyalty/accounts/{account_id}/adjust.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/loyalty/accounts/{account_id}/adjust", + ); } } diff --git a/src/api/resources/loyalty/resources/programs/client/Client.ts b/src/api/resources/loyalty/resources/programs/client/Client.ts index ec5248058..61f087274 100644 --- a/src/api/resources/loyalty/resources/programs/client/Client.ts +++ b/src/api/resources/loyalty/resources/programs/client/Client.ts @@ -1,27 +1,28 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; import { PromotionsClient } from "../resources/promotions/client/Client"; export declare namespace ProgramsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class ProgramsClient { - protected readonly _options: ProgramsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; protected _promotions: PromotionsClient | undefined; constructor(options: ProgramsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } public get promotions(): PromotionsClient { @@ -49,12 +50,11 @@ export class ProgramsClient { private async __list( requestOptions?: ProgramsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -94,21 +94,7 @@ export class ProgramsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/loyalty/programs."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/loyalty/programs"); } /** @@ -136,12 +122,11 @@ export class ProgramsClient { requestOptions?: ProgramsClient.RequestOptions, ): Promise> { const { programId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -181,23 +166,12 @@ export class ProgramsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/loyalty/programs/{program_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/loyalty/programs/{program_id}", + ); } /** @@ -239,12 +213,11 @@ export class ProgramsClient { requestOptions?: ProgramsClient.RequestOptions, ): Promise> { const { programId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -290,31 +263,11 @@ export class ProgramsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/loyalty/programs/{program_id}/calculate.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/loyalty/programs/{program_id}/calculate", + ); } } diff --git a/src/api/resources/loyalty/resources/programs/resources/promotions/client/Client.ts b/src/api/resources/loyalty/resources/programs/resources/promotions/client/Client.ts index 4b8aa03d4..e82fd29b4 100644 --- a/src/api/resources/loyalty/resources/programs/resources/promotions/client/Client.ts +++ b/src/api/resources/loyalty/resources/programs/resources/promotions/client/Client.ts @@ -1,25 +1,29 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../../../BaseClient"; +import { + type NormalizedClientOptionsWithAuth, + normalizeClientOptionsWithAuth, +} from "../../../../../../../../BaseClient"; import * as core from "../../../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../../../core/headers"; import * as environments from "../../../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../../../errors/index"; import * as serializers from "../../../../../../../../serialization/index"; import type * as Square from "../../../../../../../index"; export declare namespace PromotionsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class PromotionsClient { - protected readonly _options: PromotionsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: PromotionsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -46,25 +50,22 @@ export class PromotionsClient { request: Square.loyalty.programs.ListPromotionsRequest, ): Promise> => { const { programId, status, cursor, limit } = request; - const _queryParams: Record = {}; - if (status !== undefined) { - _queryParams.status = serializers.LoyaltyPromotionStatus.jsonOrThrow(status, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } + const _queryParams: Record = { + status: + status !== undefined + ? serializers.LoyaltyPromotionStatus.jsonOrThrow(status, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }) + : null, + cursor, + limit, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -102,23 +103,12 @@ export class PromotionsClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/loyalty/programs/{program_id}/promotions.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/loyalty/programs/{program_id}/promotions", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -184,12 +174,11 @@ export class PromotionsClient { requestOptions?: PromotionsClient.RequestOptions, ): Promise> { const { programId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -235,23 +224,12 @@ export class PromotionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/loyalty/programs/{program_id}/promotions.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/loyalty/programs/{program_id}/promotions", + ); } /** @@ -278,12 +256,11 @@ export class PromotionsClient { requestOptions?: PromotionsClient.RequestOptions, ): Promise> { const { programId, promotionId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -323,23 +300,12 @@ export class PromotionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/loyalty/programs/{program_id}/promotions/{promotion_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/loyalty/programs/{program_id}/promotions/{promotion_id}", + ); } /** @@ -371,12 +337,11 @@ export class PromotionsClient { requestOptions?: PromotionsClient.RequestOptions, ): Promise> { const { programId, promotionId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -416,31 +381,11 @@ export class PromotionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/loyalty/programs/{program_id}/promotions/{promotion_id}/cancel.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/loyalty/programs/{program_id}/promotions/{promotion_id}/cancel", + ); } } diff --git a/src/api/resources/loyalty/resources/rewards/client/Client.ts b/src/api/resources/loyalty/resources/rewards/client/Client.ts index c67ce6f31..2f9c72a23 100644 --- a/src/api/resources/loyalty/resources/rewards/client/Client.ts +++ b/src/api/resources/loyalty/resources/rewards/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace RewardsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class RewardsClient { - protected readonly _options: RewardsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: RewardsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -56,12 +57,11 @@ export class RewardsClient { request: Square.loyalty.CreateLoyaltyRewardRequest, requestOptions?: RewardsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -107,21 +107,7 @@ export class RewardsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/loyalty/rewards."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/loyalty/rewards"); } /** @@ -155,12 +141,11 @@ export class RewardsClient { request: Square.loyalty.SearchLoyaltyRewardsRequest = {}, requestOptions?: RewardsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -206,21 +191,7 @@ export class RewardsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/loyalty/rewards/search."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/loyalty/rewards/search"); } /** @@ -246,12 +217,11 @@ export class RewardsClient { requestOptions?: RewardsClient.RequestOptions, ): Promise> { const { rewardId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -291,23 +261,12 @@ export class RewardsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/loyalty/rewards/{reward_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/loyalty/rewards/{reward_id}", + ); } /** @@ -341,12 +300,11 @@ export class RewardsClient { requestOptions?: RewardsClient.RequestOptions, ): Promise> { const { rewardId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -386,23 +344,12 @@ export class RewardsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling DELETE /v2/loyalty/rewards/{reward_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/v2/loyalty/rewards/{reward_id}", + ); } /** @@ -440,12 +387,11 @@ export class RewardsClient { requestOptions?: RewardsClient.RequestOptions, ): Promise> { const { rewardId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -491,31 +437,11 @@ export class RewardsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/loyalty/rewards/{reward_id}/redeem.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/loyalty/rewards/{reward_id}/redeem", + ); } } diff --git a/src/api/resources/merchants/client/Client.ts b/src/api/resources/merchants/client/Client.ts index c841f2685..7182dcbec 100644 --- a/src/api/resources/merchants/client/Client.ts +++ b/src/api/resources/merchants/client/Client.ts @@ -1,10 +1,11 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; @@ -12,18 +13,18 @@ import { CustomAttributeDefinitionsClient } from "../resources/customAttributeDe import { CustomAttributesClient } from "../resources/customAttributes/client/Client"; export declare namespace MerchantsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class MerchantsClient { - protected readonly _options: MerchantsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; protected _customAttributeDefinitions: CustomAttributeDefinitionsClient | undefined; protected _customAttributes: CustomAttributesClient | undefined; constructor(options: MerchantsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } public get customAttributeDefinitions(): CustomAttributeDefinitionsClient { @@ -63,16 +64,14 @@ export class MerchantsClient { request: Square.ListMerchantsRequest, ): Promise> => { const { cursor } = request; - const _queryParams: Record = {}; - if (cursor !== undefined) { - _queryParams.cursor = cursor?.toString() ?? null; - } + const _queryParams: Record = { + cursor, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -110,21 +109,7 @@ export class MerchantsClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/merchants."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/merchants"); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -163,12 +148,11 @@ export class MerchantsClient { requestOptions?: MerchantsClient.RequestOptions, ): Promise> { const { merchantId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -208,29 +192,6 @@ export class MerchantsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/merchants/{merchant_id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/merchants/{merchant_id}"); } } diff --git a/src/api/resources/merchants/resources/customAttributeDefinitions/client/Client.ts b/src/api/resources/merchants/resources/customAttributeDefinitions/client/Client.ts index d220083af..7481d966d 100644 --- a/src/api/resources/merchants/resources/customAttributeDefinitions/client/Client.ts +++ b/src/api/resources/merchants/resources/customAttributeDefinitions/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace CustomAttributeDefinitionsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class CustomAttributeDefinitionsClient { - protected readonly _options: CustomAttributeDefinitionsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: CustomAttributeDefinitionsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -47,25 +48,22 @@ export class CustomAttributeDefinitionsClient { request: Square.merchants.ListCustomAttributeDefinitionsRequest, ): Promise> => { const { visibilityFilter, limit, cursor } = request; - const _queryParams: Record = {}; - if (visibilityFilter !== undefined) { - _queryParams.visibility_filter = serializers.VisibilityFilter.jsonOrThrow(visibilityFilter, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } + const _queryParams: Record = { + visibility_filter: + visibilityFilter !== undefined + ? serializers.VisibilityFilter.jsonOrThrow(visibilityFilter, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }) + : null, + limit, + cursor, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -103,23 +101,12 @@ export class CustomAttributeDefinitionsClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/merchants/custom-attribute-definitions.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/merchants/custom-attribute-definitions", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -171,12 +158,11 @@ export class CustomAttributeDefinitionsClient { request: Square.merchants.CreateMerchantCustomAttributeDefinitionRequest, requestOptions?: CustomAttributeDefinitionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -222,23 +208,12 @@ export class CustomAttributeDefinitionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/merchants/custom-attribute-definitions.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/merchants/custom-attribute-definitions", + ); } /** @@ -267,17 +242,14 @@ export class CustomAttributeDefinitionsClient { requestOptions?: CustomAttributeDefinitionsClient.RequestOptions, ): Promise> { const { key, version } = request; - const _queryParams: Record = {}; - if (version !== undefined) { - _queryParams.version = version?.toString() ?? null; - } - + const _queryParams: Record = { + version, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -317,23 +289,12 @@ export class CustomAttributeDefinitionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/merchants/custom-attribute-definitions/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/merchants/custom-attribute-definitions/{key}", + ); } /** @@ -366,12 +327,11 @@ export class CustomAttributeDefinitionsClient { requestOptions?: CustomAttributeDefinitionsClient.RequestOptions, ): Promise> { const { key, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -417,23 +377,12 @@ export class CustomAttributeDefinitionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling PUT /v2/merchants/custom-attribute-definitions/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/v2/merchants/custom-attribute-definitions/{key}", + ); } /** @@ -462,12 +411,11 @@ export class CustomAttributeDefinitionsClient { requestOptions?: CustomAttributeDefinitionsClient.RequestOptions, ): Promise> { const { key } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -507,31 +455,11 @@ export class CustomAttributeDefinitionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling DELETE /v2/merchants/custom-attribute-definitions/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/v2/merchants/custom-attribute-definitions/{key}", + ); } } diff --git a/src/api/resources/merchants/resources/customAttributes/client/Client.ts b/src/api/resources/merchants/resources/customAttributes/client/Client.ts index 4284a3da1..bd6597c0b 100644 --- a/src/api/resources/merchants/resources/customAttributes/client/Client.ts +++ b/src/api/resources/merchants/resources/customAttributes/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace CustomAttributesClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class CustomAttributesClient { - protected readonly _options: CustomAttributesClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: CustomAttributesClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -53,12 +54,11 @@ export class CustomAttributesClient { request: Square.merchants.BulkDeleteMerchantCustomAttributesRequest, requestOptions?: CustomAttributesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -104,23 +104,12 @@ export class CustomAttributesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/merchants/custom-attributes/bulk-delete.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/merchants/custom-attributes/bulk-delete", + ); } /** @@ -169,12 +158,11 @@ export class CustomAttributesClient { request: Square.merchants.BulkUpsertMerchantCustomAttributesRequest, requestOptions?: CustomAttributesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -220,23 +208,12 @@ export class CustomAttributesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/merchants/custom-attributes/bulk-upsert.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/merchants/custom-attributes/bulk-upsert", + ); } /** @@ -268,28 +245,23 @@ export class CustomAttributesClient { request: Square.merchants.ListCustomAttributesRequest, ): Promise> => { const { merchantId, visibilityFilter, limit, cursor, withDefinitions } = request; - const _queryParams: Record = {}; - if (visibilityFilter !== undefined) { - _queryParams.visibility_filter = serializers.VisibilityFilter.jsonOrThrow(visibilityFilter, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (withDefinitions !== undefined) { - _queryParams.with_definitions = withDefinitions?.toString() ?? null; - } + const _queryParams: Record = { + visibility_filter: + visibilityFilter !== undefined + ? serializers.VisibilityFilter.jsonOrThrow(visibilityFilter, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }) + : null, + limit, + cursor, + with_definitions: withDefinitions, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -327,23 +299,12 @@ export class CustomAttributesClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/merchants/{merchant_id}/custom-attributes.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/merchants/{merchant_id}/custom-attributes", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -389,21 +350,15 @@ export class CustomAttributesClient { requestOptions?: CustomAttributesClient.RequestOptions, ): Promise> { const { merchantId, key, withDefinition, version } = request; - const _queryParams: Record = {}; - if (withDefinition !== undefined) { - _queryParams.with_definition = withDefinition?.toString() ?? null; - } - - if (version !== undefined) { - _queryParams.version = version?.toString() ?? null; - } - + const _queryParams: Record = { + with_definition: withDefinition, + version, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -443,23 +398,12 @@ export class CustomAttributesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/merchants/{merchant_id}/custom-attributes/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/merchants/{merchant_id}/custom-attributes/{key}", + ); } /** @@ -494,12 +438,11 @@ export class CustomAttributesClient { requestOptions?: CustomAttributesClient.RequestOptions, ): Promise> { const { merchantId, key, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -545,23 +488,12 @@ export class CustomAttributesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/merchants/{merchant_id}/custom-attributes/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/merchants/{merchant_id}/custom-attributes/{key}", + ); } /** @@ -590,12 +522,11 @@ export class CustomAttributesClient { requestOptions?: CustomAttributesClient.RequestOptions, ): Promise> { const { merchantId, key } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -635,31 +566,11 @@ export class CustomAttributesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling DELETE /v2/merchants/{merchant_id}/custom-attributes/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/v2/merchants/{merchant_id}/custom-attributes/{key}", + ); } } diff --git a/src/api/resources/mobile/client/Client.ts b/src/api/resources/mobile/client/Client.ts index e2c4a0e6c..d6af69879 100644 --- a/src/api/resources/mobile/client/Client.ts +++ b/src/api/resources/mobile/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; export declare namespace MobileClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class MobileClient { - protected readonly _options: MobileClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: MobileClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -58,12 +59,11 @@ export class MobileClient { request: Square.CreateMobileAuthorizationCodeRequest = {}, requestOptions?: MobileClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -109,29 +109,6 @@ export class MobileClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /mobile/authorization-code."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/mobile/authorization-code"); } } diff --git a/src/api/resources/oAuth/client/Client.ts b/src/api/resources/oAuth/client/Client.ts index e5078aa95..558e83b9b 100644 --- a/src/api/resources/oAuth/client/Client.ts +++ b/src/api/resources/oAuth/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; export declare namespace OAuthClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class OAuthClient { - protected readonly _options: OAuthClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: OAuthClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -58,12 +59,11 @@ export class OAuthClient { request: Square.RevokeTokenRequest = {}, requestOptions?: OAuthClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -109,21 +109,7 @@ export class OAuthClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /oauth2/revoke."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/oauth2/revoke"); } /** @@ -219,21 +205,7 @@ export class OAuthClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /oauth2/token."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/oauth2/token"); } /** @@ -266,12 +238,11 @@ export class OAuthClient { private async __retrieveTokenStatus( requestOptions?: OAuthClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -311,21 +282,7 @@ export class OAuthClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /oauth2/token/status."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/oauth2/token/status"); } /** @@ -339,7 +296,9 @@ export class OAuthClient { } private async __authorize(requestOptions?: OAuthClient.RequestOptions): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, @@ -372,29 +331,6 @@ export class OAuthClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /oauth2/authorize."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/oauth2/authorize"); } } diff --git a/src/api/resources/orders/client/Client.ts b/src/api/resources/orders/client/Client.ts index f274686c4..6827de36d 100644 --- a/src/api/resources/orders/client/Client.ts +++ b/src/api/resources/orders/client/Client.ts @@ -1,10 +1,11 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; @@ -12,18 +13,18 @@ import { CustomAttributeDefinitionsClient } from "../resources/customAttributeDe import { CustomAttributesClient } from "../resources/customAttributes/client/Client"; export declare namespace OrdersClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class OrdersClient { - protected readonly _options: OrdersClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; protected _customAttributeDefinitions: CustomAttributeDefinitionsClient | undefined; protected _customAttributes: CustomAttributesClient | undefined; constructor(options: OrdersClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } public get customAttributeDefinitions(): CustomAttributeDefinitionsClient { @@ -107,12 +108,11 @@ export class OrdersClient { request: Square.CreateOrderRequest, requestOptions?: OrdersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -158,21 +158,7 @@ export class OrdersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/orders."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/orders"); } /** @@ -200,12 +186,11 @@ export class OrdersClient { request: Square.BatchGetOrdersRequest, requestOptions?: OrdersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -251,21 +236,7 @@ export class OrdersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/orders/batch-retrieve."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/orders/batch-retrieve"); } /** @@ -312,12 +283,11 @@ export class OrdersClient { request: Square.CalculateOrderRequest, requestOptions?: OrdersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -363,21 +333,7 @@ export class OrdersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/orders/calculate."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/orders/calculate"); } /** @@ -405,12 +361,11 @@ export class OrdersClient { request: Square.CloneOrderRequest, requestOptions?: OrdersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -456,21 +411,7 @@ export class OrdersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/orders/clone."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/orders/clone"); } /** @@ -530,12 +471,11 @@ export class OrdersClient { request: Square.SearchOrdersRequest = {}, requestOptions?: OrdersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -581,21 +521,7 @@ export class OrdersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/orders/search."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/orders/search"); } /** @@ -621,12 +547,11 @@ export class OrdersClient { requestOptions?: OrdersClient.RequestOptions, ): Promise> { const { orderId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -666,21 +591,7 @@ export class OrdersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/orders/{order_id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/orders/{order_id}"); } /** @@ -735,12 +646,11 @@ export class OrdersClient { requestOptions?: OrdersClient.RequestOptions, ): Promise> { const { orderId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -786,21 +696,7 @@ export class OrdersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling PUT /v2/orders/{order_id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PUT", "/v2/orders/{order_id}"); } /** @@ -841,12 +737,11 @@ export class OrdersClient { requestOptions?: OrdersClient.RequestOptions, ): Promise> { const { orderId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -892,29 +787,6 @@ export class OrdersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/orders/{order_id}/pay."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/orders/{order_id}/pay"); } } diff --git a/src/api/resources/orders/resources/customAttributeDefinitions/client/Client.ts b/src/api/resources/orders/resources/customAttributeDefinitions/client/Client.ts index ae99a3bbe..1a82bef33 100644 --- a/src/api/resources/orders/resources/customAttributeDefinitions/client/Client.ts +++ b/src/api/resources/orders/resources/customAttributeDefinitions/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace CustomAttributeDefinitionsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class CustomAttributeDefinitionsClient { - protected readonly _options: CustomAttributeDefinitionsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: CustomAttributeDefinitionsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -49,25 +50,22 @@ export class CustomAttributeDefinitionsClient { request: Square.orders.ListCustomAttributeDefinitionsRequest, ): Promise> => { const { visibilityFilter, cursor, limit } = request; - const _queryParams: Record = {}; - if (visibilityFilter !== undefined) { - _queryParams.visibility_filter = serializers.VisibilityFilter.jsonOrThrow(visibilityFilter, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } + const _queryParams: Record = { + visibility_filter: + visibilityFilter !== undefined + ? serializers.VisibilityFilter.jsonOrThrow(visibilityFilter, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }) + : null, + cursor, + limit, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -105,23 +103,12 @@ export class CustomAttributeDefinitionsClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/orders/custom-attribute-definitions.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/orders/custom-attribute-definitions", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -172,12 +159,11 @@ export class CustomAttributeDefinitionsClient { request: Square.orders.CreateOrderCustomAttributeDefinitionRequest, requestOptions?: CustomAttributeDefinitionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -223,23 +209,12 @@ export class CustomAttributeDefinitionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/orders/custom-attribute-definitions.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/orders/custom-attribute-definitions", + ); } /** @@ -270,17 +245,14 @@ export class CustomAttributeDefinitionsClient { requestOptions?: CustomAttributeDefinitionsClient.RequestOptions, ): Promise> { const { key, version } = request; - const _queryParams: Record = {}; - if (version !== undefined) { - _queryParams.version = version?.toString() ?? null; - } - + const _queryParams: Record = { + version, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -320,23 +292,12 @@ export class CustomAttributeDefinitionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/orders/custom-attribute-definitions/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/orders/custom-attribute-definitions/{key}", + ); } /** @@ -370,12 +331,11 @@ export class CustomAttributeDefinitionsClient { requestOptions?: CustomAttributeDefinitionsClient.RequestOptions, ): Promise> { const { key, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -421,23 +381,12 @@ export class CustomAttributeDefinitionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling PUT /v2/orders/custom-attribute-definitions/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/v2/orders/custom-attribute-definitions/{key}", + ); } /** @@ -465,12 +414,11 @@ export class CustomAttributeDefinitionsClient { requestOptions?: CustomAttributeDefinitionsClient.RequestOptions, ): Promise> { const { key } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -510,31 +458,11 @@ export class CustomAttributeDefinitionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling DELETE /v2/orders/custom-attribute-definitions/{key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/v2/orders/custom-attribute-definitions/{key}", + ); } } diff --git a/src/api/resources/orders/resources/customAttributes/client/Client.ts b/src/api/resources/orders/resources/customAttributes/client/Client.ts index 7b66d1088..0f1fb907e 100644 --- a/src/api/resources/orders/resources/customAttributes/client/Client.ts +++ b/src/api/resources/orders/resources/customAttributes/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace CustomAttributesClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class CustomAttributesClient { - protected readonly _options: CustomAttributesClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: CustomAttributesClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -66,12 +67,11 @@ export class CustomAttributesClient { request: Square.orders.BulkDeleteOrderCustomAttributesRequest, requestOptions?: CustomAttributesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -117,23 +117,12 @@ export class CustomAttributesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/orders/custom-attributes/bulk-delete.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/orders/custom-attributes/bulk-delete", + ); } /** @@ -188,12 +177,11 @@ export class CustomAttributesClient { request: Square.orders.BulkUpsertOrderCustomAttributesRequest, requestOptions?: CustomAttributesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -239,23 +227,12 @@ export class CustomAttributesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/orders/custom-attributes/bulk-upsert.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/orders/custom-attributes/bulk-upsert", + ); } /** @@ -289,28 +266,23 @@ export class CustomAttributesClient { request: Square.orders.ListCustomAttributesRequest, ): Promise> => { const { orderId, visibilityFilter, cursor, limit, withDefinitions } = request; - const _queryParams: Record = {}; - if (visibilityFilter !== undefined) { - _queryParams.visibility_filter = serializers.VisibilityFilter.jsonOrThrow(visibilityFilter, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (withDefinitions !== undefined) { - _queryParams.with_definitions = withDefinitions?.toString() ?? null; - } + const _queryParams: Record = { + visibility_filter: + visibilityFilter !== undefined + ? serializers.VisibilityFilter.jsonOrThrow(visibilityFilter, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }) + : null, + cursor, + limit, + with_definitions: withDefinitions, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -348,23 +320,12 @@ export class CustomAttributesClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/orders/{order_id}/custom-attributes.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/orders/{order_id}/custom-attributes", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -413,21 +374,15 @@ export class CustomAttributesClient { requestOptions?: CustomAttributesClient.RequestOptions, ): Promise> { const { orderId, customAttributeKey, version, withDefinition } = request; - const _queryParams: Record = {}; - if (version !== undefined) { - _queryParams.version = version?.toString() ?? null; - } - - if (withDefinition !== undefined) { - _queryParams.with_definition = withDefinition?.toString() ?? null; - } - + const _queryParams: Record = { + version, + with_definition: withDefinition, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -467,23 +422,12 @@ export class CustomAttributesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/orders/{order_id}/custom-attributes/{custom_attribute_key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/orders/{order_id}/custom-attributes/{custom_attribute_key}", + ); } /** @@ -523,12 +467,11 @@ export class CustomAttributesClient { requestOptions?: CustomAttributesClient.RequestOptions, ): Promise> { const { orderId, customAttributeKey, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -574,23 +517,12 @@ export class CustomAttributesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/orders/{order_id}/custom-attributes/{custom_attribute_key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/orders/{order_id}/custom-attributes/{custom_attribute_key}", + ); } /** @@ -621,12 +553,11 @@ export class CustomAttributesClient { requestOptions?: CustomAttributesClient.RequestOptions, ): Promise> { const { orderId, customAttributeKey } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -666,31 +597,11 @@ export class CustomAttributesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling DELETE /v2/orders/{order_id}/custom-attributes/{custom_attribute_key}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/v2/orders/{order_id}/custom-attributes/{custom_attribute_key}", + ); } } diff --git a/src/api/resources/payments/client/Client.ts b/src/api/resources/payments/client/Client.ts index 0af30c97f..096bd4024 100644 --- a/src/api/resources/payments/client/Client.ts +++ b/src/api/resources/payments/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; export declare namespace PaymentsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class PaymentsClient { - protected readonly _options: PaymentsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: PaymentsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -75,61 +76,34 @@ export class PaymentsClient { updatedAtEndTime, sortField, } = request; - const _queryParams: Record = {}; - if (beginTime !== undefined) { - _queryParams.begin_time = beginTime; - } - if (endTime !== undefined) { - _queryParams.end_time = endTime; - } - if (sortOrder !== undefined) { - _queryParams.sort_order = sortOrder; - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (locationId !== undefined) { - _queryParams.location_id = locationId; - } - if (total !== undefined) { - _queryParams.total = total?.toString() ?? null; - } - if (last4 !== undefined) { - _queryParams.last_4 = last4; - } - if (cardBrand !== undefined) { - _queryParams.card_brand = cardBrand; - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (isOfflinePayment !== undefined) { - _queryParams.is_offline_payment = isOfflinePayment?.toString() ?? null; - } - if (offlineBeginTime !== undefined) { - _queryParams.offline_begin_time = offlineBeginTime; - } - if (offlineEndTime !== undefined) { - _queryParams.offline_end_time = offlineEndTime; - } - if (updatedAtBeginTime !== undefined) { - _queryParams.updated_at_begin_time = updatedAtBeginTime; - } - if (updatedAtEndTime !== undefined) { - _queryParams.updated_at_end_time = updatedAtEndTime; - } - if (sortField !== undefined) { - _queryParams.sort_field = serializers.ListPaymentsRequestSortField.jsonOrThrow(sortField, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } + const _queryParams: Record = { + begin_time: beginTime, + end_time: endTime, + sort_order: sortOrder, + cursor, + location_id: locationId, + total, + last_4: last4, + card_brand: cardBrand, + limit, + is_offline_payment: isOfflinePayment, + offline_begin_time: offlineBeginTime, + offline_end_time: offlineEndTime, + updated_at_begin_time: updatedAtBeginTime, + updated_at_end_time: updatedAtEndTime, + sort_field: + sortField !== undefined + ? serializers.ListPaymentsRequestSortField.jsonOrThrow(sortField, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }) + : null, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -167,21 +141,7 @@ export class PaymentsClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/payments."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/payments"); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -240,12 +200,11 @@ export class PaymentsClient { request: Square.CreatePaymentRequest, requestOptions?: PaymentsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -291,21 +250,7 @@ export class PaymentsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/payments."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/payments"); } /** @@ -340,12 +285,11 @@ export class PaymentsClient { request: Square.CancelPaymentByIdempotencyKeyRequest, requestOptions?: PaymentsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -391,21 +335,7 @@ export class PaymentsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/payments/cancel."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/payments/cancel"); } /** @@ -431,12 +361,11 @@ export class PaymentsClient { requestOptions?: PaymentsClient.RequestOptions, ): Promise> { const { paymentId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -476,21 +405,7 @@ export class PaymentsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/payments/{payment_id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/payments/{payment_id}"); } /** @@ -529,12 +444,11 @@ export class PaymentsClient { requestOptions?: PaymentsClient.RequestOptions, ): Promise> { const { paymentId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -580,21 +494,7 @@ export class PaymentsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling PUT /v2/payments/{payment_id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PUT", "/v2/payments/{payment_id}"); } /** @@ -621,12 +521,11 @@ export class PaymentsClient { requestOptions?: PaymentsClient.RequestOptions, ): Promise> { const { paymentId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -666,23 +565,12 @@ export class PaymentsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/payments/{payment_id}/cancel.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/payments/{payment_id}/cancel", + ); } /** @@ -711,12 +599,11 @@ export class PaymentsClient { requestOptions?: PaymentsClient.RequestOptions, ): Promise> { const { paymentId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -762,31 +649,11 @@ export class PaymentsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/payments/{payment_id}/complete.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/payments/{payment_id}/complete", + ); } } diff --git a/src/api/resources/payouts/client/Client.ts b/src/api/resources/payouts/client/Client.ts index b45ec7dd2..12c124264 100644 --- a/src/api/resources/payouts/client/Client.ts +++ b/src/api/resources/payouts/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; export declare namespace PayoutsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class PayoutsClient { - protected readonly _options: PayoutsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: PayoutsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -48,40 +49,32 @@ export class PayoutsClient { const list = core.HttpResponsePromise.interceptFunction( async (request: Square.ListPayoutsRequest): Promise> => { const { locationId, status, beginTime, endTime, sortOrder, cursor, limit } = request; - const _queryParams: Record = {}; - if (locationId !== undefined) { - _queryParams.location_id = locationId; - } - if (status !== undefined) { - _queryParams.status = serializers.PayoutStatus.jsonOrThrow(status, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } - if (beginTime !== undefined) { - _queryParams.begin_time = beginTime; - } - if (endTime !== undefined) { - _queryParams.end_time = endTime; - } - if (sortOrder !== undefined) { - _queryParams.sort_order = serializers.SortOrder.jsonOrThrow(sortOrder, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } + const _queryParams: Record = { + location_id: locationId, + status: + status !== undefined + ? serializers.PayoutStatus.jsonOrThrow(status, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }) + : null, + begin_time: beginTime, + end_time: endTime, + sort_order: + sortOrder !== undefined + ? serializers.SortOrder.jsonOrThrow(sortOrder, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }) + : null, + cursor, + limit, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -119,21 +112,7 @@ export class PayoutsClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/payouts."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/payouts"); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -173,12 +152,11 @@ export class PayoutsClient { requestOptions?: PayoutsClient.RequestOptions, ): Promise> { const { payoutId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -218,21 +196,7 @@ export class PayoutsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/payouts/{payout_id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/payouts/{payout_id}"); } /** @@ -259,25 +223,22 @@ export class PayoutsClient { request: Square.ListEntriesPayoutsRequest, ): Promise> => { const { payoutId, sortOrder, cursor, limit } = request; - const _queryParams: Record = {}; - if (sortOrder !== undefined) { - _queryParams.sort_order = serializers.SortOrder.jsonOrThrow(sortOrder, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } + const _queryParams: Record = { + sort_order: + sortOrder !== undefined + ? serializers.SortOrder.jsonOrThrow(sortOrder, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }) + : null, + cursor, + limit, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -315,23 +276,12 @@ export class PayoutsClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/payouts/{payout_id}/payout-entries.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/payouts/{payout_id}/payout-entries", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -346,13 +296,4 @@ export class PayoutsClient { }, }); } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; - } } diff --git a/src/api/resources/refunds/client/Client.ts b/src/api/resources/refunds/client/Client.ts index d4fe1040d..d220dc9fa 100644 --- a/src/api/resources/refunds/client/Client.ts +++ b/src/api/resources/refunds/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; export declare namespace RefundsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class RefundsClient { - protected readonly _options: RefundsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: RefundsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -69,49 +70,30 @@ export class RefundsClient { updatedAtEndTime, sortField, } = request; - const _queryParams: Record = {}; - if (beginTime !== undefined) { - _queryParams.begin_time = beginTime; - } - if (endTime !== undefined) { - _queryParams.end_time = endTime; - } - if (sortOrder !== undefined) { - _queryParams.sort_order = sortOrder; - } - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (locationId !== undefined) { - _queryParams.location_id = locationId; - } - if (status !== undefined) { - _queryParams.status = status; - } - if (sourceType !== undefined) { - _queryParams.source_type = sourceType; - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - if (updatedAtBeginTime !== undefined) { - _queryParams.updated_at_begin_time = updatedAtBeginTime; - } - if (updatedAtEndTime !== undefined) { - _queryParams.updated_at_end_time = updatedAtEndTime; - } - if (sortField !== undefined) { - _queryParams.sort_field = serializers.ListPaymentRefundsRequestSortField.jsonOrThrow(sortField, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } + const _queryParams: Record = { + begin_time: beginTime, + end_time: endTime, + sort_order: sortOrder, + cursor, + location_id: locationId, + status, + source_type: sourceType, + limit, + updated_at_begin_time: updatedAtBeginTime, + updated_at_end_time: updatedAtEndTime, + sort_field: + sortField !== undefined + ? serializers.ListPaymentRefundsRequestSortField.jsonOrThrow(sortField, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }) + : null, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -149,21 +131,7 @@ export class RefundsClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/refunds."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/refunds"); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -214,12 +182,11 @@ export class RefundsClient { request: Square.RefundPaymentRequest, requestOptions?: RefundsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -265,21 +232,7 @@ export class RefundsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/refunds."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/refunds"); } /** @@ -305,12 +258,11 @@ export class RefundsClient { requestOptions?: RefundsClient.RequestOptions, ): Promise> { const { refundId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -350,29 +302,6 @@ export class RefundsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/refunds/{refund_id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/refunds/{refund_id}"); } } diff --git a/src/api/resources/sites/client/Client.ts b/src/api/resources/sites/client/Client.ts index f41fa2c00..20386cb06 100644 --- a/src/api/resources/sites/client/Client.ts +++ b/src/api/resources/sites/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; export declare namespace SitesClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class SitesClient { - protected readonly _options: SitesClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: SitesClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -40,12 +41,11 @@ export class SitesClient { private async __list( requestOptions?: SitesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -85,29 +85,6 @@ export class SitesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/sites."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/sites"); } } diff --git a/src/api/resources/snippets/client/Client.ts b/src/api/resources/snippets/client/Client.ts index 393e800b9..eadbd681d 100644 --- a/src/api/resources/snippets/client/Client.ts +++ b/src/api/resources/snippets/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; export declare namespace SnippetsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class SnippetsClient { - protected readonly _options: SnippetsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: SnippetsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -50,12 +51,11 @@ export class SnippetsClient { requestOptions?: SnippetsClient.RequestOptions, ): Promise> { const { siteId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -95,21 +95,7 @@ export class SnippetsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/sites/{site_id}/snippet."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/sites/{site_id}/snippet"); } /** @@ -144,12 +130,11 @@ export class SnippetsClient { requestOptions?: SnippetsClient.RequestOptions, ): Promise> { const { siteId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -195,21 +180,7 @@ export class SnippetsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/sites/{site_id}/snippet."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/sites/{site_id}/snippet"); } /** @@ -240,12 +211,11 @@ export class SnippetsClient { requestOptions?: SnippetsClient.RequestOptions, ): Promise> { const { siteId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -285,31 +255,11 @@ export class SnippetsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling DELETE /v2/sites/{site_id}/snippet.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/v2/sites/{site_id}/snippet", + ); } } diff --git a/src/api/resources/subscriptions/client/Client.ts b/src/api/resources/subscriptions/client/Client.ts index 41fea99d4..69dc3e866 100644 --- a/src/api/resources/subscriptions/client/Client.ts +++ b/src/api/resources/subscriptions/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; export declare namespace SubscriptionsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class SubscriptionsClient { - protected readonly _options: SubscriptionsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: SubscriptionsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -64,12 +65,11 @@ export class SubscriptionsClient { request: Square.CreateSubscriptionRequest, requestOptions?: SubscriptionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -115,21 +115,7 @@ export class SubscriptionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/subscriptions."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/subscriptions"); } /** @@ -157,12 +143,11 @@ export class SubscriptionsClient { request: Square.BulkSwapPlanRequest, requestOptions?: SubscriptionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -208,23 +193,12 @@ export class SubscriptionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/subscriptions/bulk-swap-plan.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/subscriptions/bulk-swap-plan", + ); } /** @@ -268,12 +242,11 @@ export class SubscriptionsClient { request: Square.SearchSubscriptionsRequest = {}, requestOptions?: SubscriptionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -319,21 +292,7 @@ export class SubscriptionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/subscriptions/search."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/subscriptions/search"); } /** @@ -360,17 +319,14 @@ export class SubscriptionsClient { requestOptions?: SubscriptionsClient.RequestOptions, ): Promise> { const { subscriptionId, include } = request; - const _queryParams: Record = {}; - if (include !== undefined) { - _queryParams.include = include; - } - + const _queryParams: Record = { + include, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -410,23 +366,12 @@ export class SubscriptionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/subscriptions/{subscription_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/subscriptions/{subscription_id}", + ); } /** @@ -456,12 +401,11 @@ export class SubscriptionsClient { requestOptions?: SubscriptionsClient.RequestOptions, ): Promise> { const { subscriptionId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -507,23 +451,12 @@ export class SubscriptionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling PUT /v2/subscriptions/{subscription_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/v2/subscriptions/{subscription_id}", + ); } /** @@ -550,12 +483,11 @@ export class SubscriptionsClient { requestOptions?: SubscriptionsClient.RequestOptions, ): Promise> { const { subscriptionId, actionId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -595,23 +527,12 @@ export class SubscriptionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling DELETE /v2/subscriptions/{subscription_id}/actions/{action_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/v2/subscriptions/{subscription_id}/actions/{action_id}", + ); } /** @@ -639,12 +560,11 @@ export class SubscriptionsClient { requestOptions?: SubscriptionsClient.RequestOptions, ): Promise> { const { subscriptionId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -690,23 +610,12 @@ export class SubscriptionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/subscriptions/{subscription_id}/billing-anchor.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/subscriptions/{subscription_id}/billing-anchor", + ); } /** @@ -734,12 +643,11 @@ export class SubscriptionsClient { requestOptions?: SubscriptionsClient.RequestOptions, ): Promise> { const { subscriptionId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -779,23 +687,12 @@ export class SubscriptionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/subscriptions/{subscription_id}/cancel.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/subscriptions/{subscription_id}/cancel", + ); } /** @@ -820,19 +717,15 @@ export class SubscriptionsClient { request: Square.ListEventsSubscriptionsRequest, ): Promise> => { const { subscriptionId, cursor, limit } = request; - const _queryParams: Record = {}; - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } + const _queryParams: Record = { + cursor, + limit, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -870,23 +763,12 @@ export class SubscriptionsClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/subscriptions/{subscription_id}/events.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/subscriptions/{subscription_id}/events", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -925,12 +807,11 @@ export class SubscriptionsClient { requestOptions?: SubscriptionsClient.RequestOptions, ): Promise> { const { subscriptionId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -976,23 +857,12 @@ export class SubscriptionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/subscriptions/{subscription_id}/pause.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/subscriptions/{subscription_id}/pause", + ); } /** @@ -1018,12 +888,11 @@ export class SubscriptionsClient { requestOptions?: SubscriptionsClient.RequestOptions, ): Promise> { const { subscriptionId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -1069,23 +938,12 @@ export class SubscriptionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/subscriptions/{subscription_id}/resume.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/subscriptions/{subscription_id}/resume", + ); } /** @@ -1117,12 +975,11 @@ export class SubscriptionsClient { requestOptions?: SubscriptionsClient.RequestOptions, ): Promise> { const { subscriptionId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -1168,31 +1025,11 @@ export class SubscriptionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/subscriptions/{subscription_id}/swap-plan.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/subscriptions/{subscription_id}/swap-plan", + ); } } diff --git a/src/api/resources/team/client/Client.ts b/src/api/resources/team/client/Client.ts index 44884116b..c144f611e 100644 --- a/src/api/resources/team/client/Client.ts +++ b/src/api/resources/team/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; export declare namespace TeamClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class TeamClient { - protected readonly _options: TeamClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: TeamClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -45,17 +46,14 @@ export class TeamClient { requestOptions?: TeamClient.RequestOptions, ): Promise> { const { cursor } = request; - const _queryParams: Record = {}; - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - + const _queryParams: Record = { + cursor, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -95,21 +93,7 @@ export class TeamClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/team-members/jobs."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/team-members/jobs"); } /** @@ -139,12 +123,11 @@ export class TeamClient { request: Square.CreateJobRequest, requestOptions?: TeamClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -190,21 +173,7 @@ export class TeamClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/team-members/jobs."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/team-members/jobs"); } /** @@ -230,12 +199,11 @@ export class TeamClient { requestOptions?: TeamClient.RequestOptions, ): Promise> { const { jobId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -275,23 +243,12 @@ export class TeamClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/team-members/jobs/{job_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/team-members/jobs/{job_id}", + ); } /** @@ -323,12 +280,11 @@ export class TeamClient { requestOptions?: TeamClient.RequestOptions, ): Promise> { const { jobId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -374,31 +330,11 @@ export class TeamClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling PUT /v2/team-members/jobs/{job_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/v2/team-members/jobs/{job_id}", + ); } } diff --git a/src/api/resources/teamMembers/client/Client.ts b/src/api/resources/teamMembers/client/Client.ts index f1a7c5af1..550e9ab4f 100644 --- a/src/api/resources/teamMembers/client/Client.ts +++ b/src/api/resources/teamMembers/client/Client.ts @@ -1,27 +1,28 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; import { WageSettingClient } from "../resources/wageSetting/client/Client"; export declare namespace TeamMembersClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class TeamMembersClient { - protected readonly _options: TeamMembersClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; protected _wageSetting: WageSettingClient | undefined; constructor(options: TeamMembersClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } public get wageSetting(): WageSettingClient { @@ -86,12 +87,11 @@ export class TeamMembersClient { request: Square.CreateTeamMemberRequest, requestOptions?: TeamMembersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -137,21 +137,7 @@ export class TeamMembersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/team-members."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/team-members"); } /** @@ -207,12 +193,11 @@ export class TeamMembersClient { request: Square.BatchCreateTeamMembersRequest, requestOptions?: TeamMembersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -258,21 +243,7 @@ export class TeamMembersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/team-members/bulk-create."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/team-members/bulk-create"); } /** @@ -331,12 +302,11 @@ export class TeamMembersClient { request: Square.BatchUpdateTeamMembersRequest, requestOptions?: TeamMembersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -382,21 +352,7 @@ export class TeamMembersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/team-members/bulk-update."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/team-members/bulk-update"); } /** @@ -429,12 +385,11 @@ export class TeamMembersClient { request: Square.SearchTeamMembersRequest = {}, requestOptions?: TeamMembersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -480,21 +435,7 @@ export class TeamMembersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/team-members/search."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/team-members/search"); } /** @@ -521,12 +462,11 @@ export class TeamMembersClient { requestOptions?: TeamMembersClient.RequestOptions, ): Promise> { const { teamMemberId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -566,23 +506,12 @@ export class TeamMembersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/team-members/{team_member_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/team-members/{team_member_id}", + ); } /** @@ -642,12 +571,11 @@ export class TeamMembersClient { requestOptions?: TeamMembersClient.RequestOptions, ): Promise> { const { teamMemberId, body: _body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -693,31 +621,11 @@ export class TeamMembersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling PUT /v2/team-members/{team_member_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/v2/team-members/{team_member_id}", + ); } } diff --git a/src/api/resources/teamMembers/resources/wageSetting/client/Client.ts b/src/api/resources/teamMembers/resources/wageSetting/client/Client.ts index 56f3ebe62..ab0dd5161 100644 --- a/src/api/resources/teamMembers/resources/wageSetting/client/Client.ts +++ b/src/api/resources/teamMembers/resources/wageSetting/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace WageSettingClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class WageSettingClient { - protected readonly _options: WageSettingClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: WageSettingClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -50,12 +51,11 @@ export class WageSettingClient { requestOptions?: WageSettingClient.RequestOptions, ): Promise> { const { teamMemberId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -95,23 +95,12 @@ export class WageSettingClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/team-members/{team_member_id}/wage-setting.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/team-members/{team_member_id}/wage-setting", + ); } /** @@ -163,12 +152,11 @@ export class WageSettingClient { requestOptions?: WageSettingClient.RequestOptions, ): Promise> { const { teamMemberId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -214,31 +202,11 @@ export class WageSettingClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling PUT /v2/team-members/{team_member_id}/wage-setting.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/v2/team-members/{team_member_id}/wage-setting", + ); } } diff --git a/src/api/resources/terminal/client/Client.ts b/src/api/resources/terminal/client/Client.ts index 8b0d70f68..0dde00fc4 100644 --- a/src/api/resources/terminal/client/Client.ts +++ b/src/api/resources/terminal/client/Client.ts @@ -1,10 +1,11 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; @@ -13,19 +14,19 @@ import { CheckoutsClient } from "../resources/checkouts/client/Client"; import { RefundsClient } from "../resources/refunds/client/Client"; export declare namespace TerminalClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class TerminalClient { - protected readonly _options: TerminalClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; protected _actions: ActionsClient | undefined; protected _checkouts: CheckoutsClient | undefined; protected _refunds: RefundsClient | undefined; constructor(options: TerminalClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } public get actions(): ActionsClient { @@ -65,12 +66,11 @@ export class TerminalClient { requestOptions?: TerminalClient.RequestOptions, ): Promise> { const { actionId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -110,23 +110,12 @@ export class TerminalClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/terminals/actions/{action_id}/dismiss.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/terminals/actions/{action_id}/dismiss", + ); } /** @@ -152,12 +141,11 @@ export class TerminalClient { requestOptions?: TerminalClient.RequestOptions, ): Promise> { const { checkoutId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -197,23 +185,12 @@ export class TerminalClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/terminals/checkouts/{checkout_id}/dismiss.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/terminals/checkouts/{checkout_id}/dismiss", + ); } /** @@ -239,12 +216,11 @@ export class TerminalClient { requestOptions?: TerminalClient.RequestOptions, ): Promise> { const { terminalRefundId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -284,31 +260,11 @@ export class TerminalClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/terminals/refunds/{terminal_refund_id}/dismiss.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/terminals/refunds/{terminal_refund_id}/dismiss", + ); } } diff --git a/src/api/resources/terminal/resources/actions/client/Client.ts b/src/api/resources/terminal/resources/actions/client/Client.ts index 58fd69a33..690749582 100644 --- a/src/api/resources/terminal/resources/actions/client/Client.ts +++ b/src/api/resources/terminal/resources/actions/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace ActionsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class ActionsClient { - protected readonly _options: ActionsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: ActionsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -53,12 +54,11 @@ export class ActionsClient { request: Square.terminal.CreateTerminalActionRequest, requestOptions?: ActionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -104,21 +104,7 @@ export class ActionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/terminals/actions."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/terminals/actions"); } /** @@ -153,12 +139,11 @@ export class ActionsClient { request: Square.terminal.SearchTerminalActionsRequest = {}, requestOptions?: ActionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -204,21 +189,7 @@ export class ActionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/terminals/actions/search."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/terminals/actions/search"); } /** @@ -244,12 +215,11 @@ export class ActionsClient { requestOptions?: ActionsClient.RequestOptions, ): Promise> { const { actionId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -289,23 +259,12 @@ export class ActionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/terminals/actions/{action_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/terminals/actions/{action_id}", + ); } /** @@ -331,12 +290,11 @@ export class ActionsClient { requestOptions?: ActionsClient.RequestOptions, ): Promise> { const { actionId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -376,31 +334,11 @@ export class ActionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/terminals/actions/{action_id}/cancel.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/terminals/actions/{action_id}/cancel", + ); } } diff --git a/src/api/resources/terminal/resources/checkouts/client/Client.ts b/src/api/resources/terminal/resources/checkouts/client/Client.ts index db5d41260..7f04534ed 100644 --- a/src/api/resources/terminal/resources/checkouts/client/Client.ts +++ b/src/api/resources/terminal/resources/checkouts/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace CheckoutsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class CheckoutsClient { - protected readonly _options: CheckoutsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: CheckoutsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -56,12 +57,11 @@ export class CheckoutsClient { request: Square.terminal.CreateTerminalCheckoutRequest, requestOptions?: CheckoutsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -107,21 +107,7 @@ export class CheckoutsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/terminals/checkouts."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/terminals/checkouts"); } /** @@ -151,12 +137,11 @@ export class CheckoutsClient { request: Square.terminal.SearchTerminalCheckoutsRequest = {}, requestOptions?: CheckoutsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -202,23 +187,12 @@ export class CheckoutsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/terminals/checkouts/search.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/terminals/checkouts/search", + ); } /** @@ -244,12 +218,11 @@ export class CheckoutsClient { requestOptions?: CheckoutsClient.RequestOptions, ): Promise> { const { checkoutId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -289,23 +262,12 @@ export class CheckoutsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/terminals/checkouts/{checkout_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/terminals/checkouts/{checkout_id}", + ); } /** @@ -331,12 +293,11 @@ export class CheckoutsClient { requestOptions?: CheckoutsClient.RequestOptions, ): Promise> { const { checkoutId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -376,31 +337,11 @@ export class CheckoutsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/terminals/checkouts/{checkout_id}/cancel.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/terminals/checkouts/{checkout_id}/cancel", + ); } } diff --git a/src/api/resources/terminal/resources/refunds/client/Client.ts b/src/api/resources/terminal/resources/refunds/client/Client.ts index 509e7c40c..e21e8592d 100644 --- a/src/api/resources/terminal/resources/refunds/client/Client.ts +++ b/src/api/resources/terminal/resources/refunds/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace RefundsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class RefundsClient { - protected readonly _options: RefundsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: RefundsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -53,12 +54,11 @@ export class RefundsClient { request: Square.terminal.CreateTerminalRefundRequest, requestOptions?: RefundsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -104,21 +104,7 @@ export class RefundsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/terminals/refunds."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/terminals/refunds"); } /** @@ -148,12 +134,11 @@ export class RefundsClient { request: Square.terminal.SearchTerminalRefundsRequest = {}, requestOptions?: RefundsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -199,21 +184,7 @@ export class RefundsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/terminals/refunds/search."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/terminals/refunds/search"); } /** @@ -239,12 +210,11 @@ export class RefundsClient { requestOptions?: RefundsClient.RequestOptions, ): Promise> { const { terminalRefundId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -284,23 +254,12 @@ export class RefundsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/terminals/refunds/{terminal_refund_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/terminals/refunds/{terminal_refund_id}", + ); } /** @@ -326,12 +285,11 @@ export class RefundsClient { requestOptions?: RefundsClient.RequestOptions, ): Promise> { const { terminalRefundId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -371,31 +329,11 @@ export class RefundsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/terminals/refunds/{terminal_refund_id}/cancel.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/terminals/refunds/{terminal_refund_id}/cancel", + ); } } diff --git a/src/api/resources/transferOrders/client/Client.ts b/src/api/resources/transferOrders/client/Client.ts index 2d10116b8..127a4d547 100644 --- a/src/api/resources/transferOrders/client/Client.ts +++ b/src/api/resources/transferOrders/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; export declare namespace TransferOrdersClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class TransferOrdersClient { - protected readonly _options: TransferOrdersClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: TransferOrdersClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -78,12 +79,11 @@ export class TransferOrdersClient { request: Square.CreateTransferOrderRequest, requestOptions?: TransferOrdersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -129,21 +129,7 @@ export class TransferOrdersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/transfer-orders."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/transfer-orders"); } /** @@ -183,12 +169,11 @@ export class TransferOrdersClient { async ( request: Square.SearchTransferOrdersRequest, ): Promise> => { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -232,23 +217,12 @@ export class TransferOrdersClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/transfer-orders/search.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/transfer-orders/search", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -293,12 +267,11 @@ export class TransferOrdersClient { requestOptions?: TransferOrdersClient.RequestOptions, ): Promise> { const { transferOrderId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -338,23 +311,12 @@ export class TransferOrdersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/transfer-orders/{transfer_order_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/transfer-orders/{transfer_order_id}", + ); } /** @@ -402,12 +364,11 @@ export class TransferOrdersClient { requestOptions?: TransferOrdersClient.RequestOptions, ): Promise> { const { transferOrderId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -453,23 +414,12 @@ export class TransferOrdersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling PUT /v2/transfer-orders/{transfer_order_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/v2/transfer-orders/{transfer_order_id}", + ); } /** @@ -500,17 +450,14 @@ export class TransferOrdersClient { requestOptions?: TransferOrdersClient.RequestOptions, ): Promise> { const { transferOrderId, version } = request; - const _queryParams: Record = {}; - if (version !== undefined) { - _queryParams.version = version?.toString() ?? null; - } - + const _queryParams: Record = { + version, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -550,23 +497,12 @@ export class TransferOrdersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling DELETE /v2/transfer-orders/{transfer_order_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/v2/transfer-orders/{transfer_order_id}", + ); } /** @@ -603,12 +539,11 @@ export class TransferOrdersClient { requestOptions?: TransferOrdersClient.RequestOptions, ): Promise> { const { transferOrderId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -654,23 +589,12 @@ export class TransferOrdersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/transfer-orders/{transfer_order_id}/cancel.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/transfer-orders/{transfer_order_id}/cancel", + ); } /** @@ -725,12 +649,11 @@ export class TransferOrdersClient { requestOptions?: TransferOrdersClient.RequestOptions, ): Promise> { const { transferOrderId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -776,23 +699,12 @@ export class TransferOrdersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/transfer-orders/{transfer_order_id}/receive.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/transfer-orders/{transfer_order_id}/receive", + ); } /** @@ -827,12 +739,11 @@ export class TransferOrdersClient { requestOptions?: TransferOrdersClient.RequestOptions, ): Promise> { const { transferOrderId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -878,31 +789,11 @@ export class TransferOrdersClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/transfer-orders/{transfer_order_id}/start.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/transfer-orders/{transfer_order_id}/start", + ); } } diff --git a/src/api/resources/v1Transactions/client/Client.ts b/src/api/resources/v1Transactions/client/Client.ts index d5513f1b8..0369693fe 100644 --- a/src/api/resources/v1Transactions/client/Client.ts +++ b/src/api/resources/v1Transactions/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; export declare namespace V1TransactionsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class V1TransactionsClient { - protected readonly _options: V1TransactionsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: V1TransactionsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -48,28 +49,19 @@ export class V1TransactionsClient { requestOptions?: V1TransactionsClient.RequestOptions, ): Promise> { const { locationId, order, limit, batchToken } = request; - const _queryParams: Record = {}; - if (order !== undefined) { - _queryParams.order = serializers.SortOrder.jsonOrThrow(order, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } - - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } - - if (batchToken !== undefined) { - _queryParams.batch_token = batchToken; - } - + const _queryParams: Record = { + order: + order !== undefined + ? serializers.SortOrder.jsonOrThrow(order, { unrecognizedObjectKeys: "strip", omitUndefined: true }) + : null, + limit, + batch_token: batchToken, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -109,21 +101,7 @@ export class V1TransactionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v1/{location_id}/orders."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v1/{location_id}/orders"); } /** @@ -150,12 +128,11 @@ export class V1TransactionsClient { requestOptions?: V1TransactionsClient.RequestOptions, ): Promise> { const { locationId, orderId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -195,23 +172,12 @@ export class V1TransactionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v1/{location_id}/orders/{order_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v1/{location_id}/orders/{order_id}", + ); } /** @@ -239,12 +205,11 @@ export class V1TransactionsClient { requestOptions?: V1TransactionsClient.RequestOptions, ): Promise> { const { locationId, orderId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -290,31 +255,11 @@ export class V1TransactionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling PUT /v1/{location_id}/orders/{order_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/v1/{location_id}/orders/{order_id}", + ); } } diff --git a/src/api/resources/vendors/client/Client.ts b/src/api/resources/vendors/client/Client.ts index bf62ea1d1..115062907 100644 --- a/src/api/resources/vendors/client/Client.ts +++ b/src/api/resources/vendors/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import * as core from "../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers"; import * as environments from "../../../../environments"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../errors/index"; import * as serializers from "../../../../serialization/index"; import type * as Square from "../../../index"; export declare namespace VendorsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class VendorsClient { - protected readonly _options: VendorsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: VendorsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -64,12 +65,11 @@ export class VendorsClient { request: Square.BatchCreateVendorsRequest, requestOptions?: VendorsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -115,21 +115,7 @@ export class VendorsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/vendors/bulk-create."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/vendors/bulk-create"); } /** @@ -154,12 +140,11 @@ export class VendorsClient { request: Square.BatchGetVendorsRequest = {}, requestOptions?: VendorsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -205,21 +190,7 @@ export class VendorsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/vendors/bulk-retrieve."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/vendors/bulk-retrieve"); } /** @@ -251,12 +222,11 @@ export class VendorsClient { request: Square.BatchUpdateVendorsRequest, requestOptions?: VendorsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -302,21 +272,7 @@ export class VendorsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling PUT /v2/vendors/bulk-update."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PUT", "/v2/vendors/bulk-update"); } /** @@ -360,12 +316,11 @@ export class VendorsClient { request: Square.CreateVendorRequest, requestOptions?: VendorsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -411,21 +366,7 @@ export class VendorsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/vendors/create."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/vendors/create"); } /** @@ -448,12 +389,11 @@ export class VendorsClient { request: Square.SearchVendorsRequest = {}, requestOptions?: VendorsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -499,21 +439,7 @@ export class VendorsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/vendors/search."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/vendors/search"); } /** @@ -539,12 +465,11 @@ export class VendorsClient { requestOptions?: VendorsClient.RequestOptions, ): Promise> { const { vendorId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -584,21 +509,7 @@ export class VendorsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/vendors/{vendor_id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/vendors/{vendor_id}"); } /** @@ -633,12 +544,11 @@ export class VendorsClient { requestOptions?: VendorsClient.RequestOptions, ): Promise> { const { vendorId, body: _body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -684,29 +594,6 @@ export class VendorsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling PUT /v2/vendors/{vendor_id}."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PUT", "/v2/vendors/{vendor_id}"); } } diff --git a/src/api/resources/webhooks/client/Client.ts b/src/api/resources/webhooks/client/Client.ts index 06c9693a0..ca9c63219 100644 --- a/src/api/resources/webhooks/client/Client.ts +++ b/src/api/resources/webhooks/client/Client.ts @@ -1,21 +1,21 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions } from "../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient"; import { EventTypesClient } from "../resources/eventTypes/client/Client"; import { SubscriptionsClient } from "../resources/subscriptions/client/Client"; export declare namespace WebhooksClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; } export class WebhooksClient { - protected readonly _options: WebhooksClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; protected _eventTypes: EventTypesClient | undefined; protected _subscriptions: SubscriptionsClient | undefined; constructor(options: WebhooksClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } public get eventTypes(): EventTypesClient { diff --git a/src/api/resources/webhooks/resources/eventTypes/client/Client.ts b/src/api/resources/webhooks/resources/eventTypes/client/Client.ts index 4605f4a68..904358596 100644 --- a/src/api/resources/webhooks/resources/eventTypes/client/Client.ts +++ b/src/api/resources/webhooks/resources/eventTypes/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace EventTypesClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class EventTypesClient { - protected readonly _options: EventTypesClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: EventTypesClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -45,17 +46,14 @@ export class EventTypesClient { requestOptions?: EventTypesClient.RequestOptions, ): Promise> { const { apiVersion } = request; - const _queryParams: Record = {}; - if (apiVersion !== undefined) { - _queryParams.api_version = apiVersion; - } - + const _queryParams: Record = { + api_version: apiVersion, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -95,29 +93,6 @@ export class EventTypesClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling GET /v2/webhooks/event-types."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v2/webhooks/event-types"); } } diff --git a/src/api/resources/webhooks/resources/subscriptions/client/Client.ts b/src/api/resources/webhooks/resources/subscriptions/client/Client.ts index 622abbddb..a456fe9b5 100644 --- a/src/api/resources/webhooks/resources/subscriptions/client/Client.ts +++ b/src/api/resources/webhooks/resources/subscriptions/client/Client.ts @@ -1,25 +1,26 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient"; -import { normalizeClientOptions } from "../../../../../../BaseClient"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient"; import * as core from "../../../../../../core"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers"; import * as environments from "../../../../../../environments"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError"; import * as errors from "../../../../../../errors/index"; import * as serializers from "../../../../../../serialization/index"; import type * as Square from "../../../../../index"; export declare namespace SubscriptionsClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class SubscriptionsClient { - protected readonly _options: SubscriptionsClient.Options; + protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options: SubscriptionsClient.Options = {}) { - this._options = normalizeClientOptions(options); + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -45,28 +46,23 @@ export class SubscriptionsClient { request: Square.webhooks.ListSubscriptionsRequest, ): Promise> => { const { cursor, includeDisabled, sortOrder, limit } = request; - const _queryParams: Record = {}; - if (cursor !== undefined) { - _queryParams.cursor = cursor; - } - if (includeDisabled !== undefined) { - _queryParams.include_disabled = includeDisabled?.toString() ?? null; - } - if (sortOrder !== undefined) { - _queryParams.sort_order = serializers.SortOrder.jsonOrThrow(sortOrder, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }); - } - if (limit !== undefined) { - _queryParams.limit = limit?.toString() ?? null; - } + const _queryParams: Record = { + cursor, + include_disabled: includeDisabled, + sort_order: + sortOrder !== undefined + ? serializers.SortOrder.jsonOrThrow(sortOrder, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }) + : null, + limit, + }; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -104,23 +100,12 @@ export class SubscriptionsClient { rawResponse: _response.rawResponse, }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/webhooks/subscriptions.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/webhooks/subscriptions", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -164,12 +149,11 @@ export class SubscriptionsClient { request: Square.webhooks.CreateWebhookSubscriptionRequest, requestOptions?: SubscriptionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -215,21 +199,7 @@ export class SubscriptionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError("Timeout exceeded when calling POST /v2/webhooks/subscriptions."); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/webhooks/subscriptions"); } /** @@ -255,12 +225,11 @@ export class SubscriptionsClient { requestOptions?: SubscriptionsClient.RequestOptions, ): Promise> { const { subscriptionId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -300,23 +269,12 @@ export class SubscriptionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling GET /v2/webhooks/subscriptions/{subscription_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/webhooks/subscriptions/{subscription_id}", + ); } /** @@ -346,12 +304,11 @@ export class SubscriptionsClient { requestOptions?: SubscriptionsClient.RequestOptions, ): Promise> { const { subscriptionId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -397,23 +354,12 @@ export class SubscriptionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling PUT /v2/webhooks/subscriptions/{subscription_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/v2/webhooks/subscriptions/{subscription_id}", + ); } /** @@ -439,12 +385,11 @@ export class SubscriptionsClient { requestOptions?: SubscriptionsClient.RequestOptions, ): Promise> { const { subscriptionId } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -484,23 +429,12 @@ export class SubscriptionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling DELETE /v2/webhooks/subscriptions/{subscription_id}.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/v2/webhooks/subscriptions/{subscription_id}", + ); } /** @@ -527,12 +461,11 @@ export class SubscriptionsClient { requestOptions?: SubscriptionsClient.RequestOptions, ): Promise> { const { subscriptionId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -578,23 +511,12 @@ export class SubscriptionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/webhooks/subscriptions/{subscription_id}/signature-key.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/webhooks/subscriptions/{subscription_id}/signature-key", + ); } /** @@ -621,12 +543,11 @@ export class SubscriptionsClient { requestOptions?: SubscriptionsClient.RequestOptions, ): Promise> { const { subscriptionId, ..._body } = request; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); const _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - "Square-Version": requestOptions?.version ?? "2025-10-16", - }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -672,31 +593,11 @@ export class SubscriptionsClient { }); } - switch (_response.error.reason) { - case "non-json": - throw new errors.SquareError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.SquareTimeoutError( - "Timeout exceeded when calling POST /v2/webhooks/subscriptions/{subscription_id}/test.", - ); - case "unknown": - throw new errors.SquareError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; - } - - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/webhooks/subscriptions/{subscription_id}/test", + ); } } diff --git a/src/api/types/SubscriptionTestResult.ts b/src/api/types/SubscriptionTestResult.ts index df2a6fa23..5310fcc32 100644 --- a/src/api/types/SubscriptionTestResult.ts +++ b/src/api/types/SubscriptionTestResult.ts @@ -1,16 +1,15 @@ // This file was auto-generated by Fern from our API Definition. /** - * Represents the details of a webhook subscription, including notification URL, - * event types, and signature key. + * Represents the result of testing a webhook subscription. Note: The actual API returns these fields at the root level of TestWebhookSubscriptionResponse, not nested under this object. */ export interface SubscriptionTestResult { /** A Square-generated unique ID for the subscription test result. */ id?: string; - /** The status code returned by the subscription notification URL. */ + /** The HTTP status code returned by the notification URL. */ statusCode?: number | null; - /** An object containing the payload of the test event. For example, a `payment.created` event. */ - payload?: string | null; + /** The payload that was sent in the test notification. */ + payload?: Record | null; /** * The timestamp of when the subscription was created, in RFC 3339 format. * For example, "2016-09-04T23:59:33.123Z". @@ -21,4 +20,8 @@ export interface SubscriptionTestResult { * Because a subscription test result is unique, this field is the same as the `created_at` field. */ updatedAt?: string; + /** The URL that was used for the webhook notification test. */ + notificationUrl?: string; + /** Whether the notification passed any configured filters. */ + passesFilter?: boolean | null; } diff --git a/src/api/types/TestWebhookSubscriptionResponse.ts b/src/api/types/TestWebhookSubscriptionResponse.ts index e0894b973..f0e95b18c 100644 --- a/src/api/types/TestWebhookSubscriptionResponse.ts +++ b/src/api/types/TestWebhookSubscriptionResponse.ts @@ -3,15 +3,19 @@ import type * as Square from "../index"; /** - * Defines the fields that are included in the response body of - * a request to the [TestWebhookSubscription](api-endpoint:WebhookSubscriptions-TestWebhookSubscription) endpoint. - * - * Note: If there are errors processing the request, the [SubscriptionTestResult](entity:SubscriptionTestResult) field is not - * present. + * Defines the fields that are included in the response body of a request to the TestWebhookSubscription endpoint. */ export interface TestWebhookSubscriptionResponse { /** Information on errors encountered during the request. */ errors?: Square.Error_[]; /** The [SubscriptionTestResult](entity:SubscriptionTestResult). */ subscriptionTestResult?: Square.SubscriptionTestResult; + /** The URL that was used for the webhook notification test. */ + notificationUrl?: string; + /** The HTTP status code returned by the notification URL. */ + statusCode?: number | null; + /** Whether the notification passed any configured filters. */ + passesFilter?: boolean | null; + /** The payload that was sent in the test notification. */ + payload?: Record | null; } diff --git a/src/auth/BearerAuthProvider.ts b/src/auth/BearerAuthProvider.ts new file mode 100644 index 000000000..2e253b8e7 --- /dev/null +++ b/src/auth/BearerAuthProvider.ts @@ -0,0 +1,48 @@ +// This file was auto-generated by Fern from our API Definition. + +import * as core from "../core"; +import * as errors from "../errors/index"; + +const TOKEN_PARAM = "token" as const; +const ENV_TOKEN = "SQUARE_TOKEN" as const; + +export class BearerAuthProvider implements core.AuthProvider { + private readonly options: BearerAuthProvider.Options; + + constructor(options: BearerAuthProvider.Options) { + this.options = options; + } + + public static canCreate(options: Partial): boolean { + return options?.[TOKEN_PARAM] != null || process.env?.[ENV_TOKEN] != null; + } + + public async getAuthRequest({ + endpointMetadata, + }: { + endpointMetadata?: core.EndpointMetadata; + } = {}): Promise { + const token = (await core.Supplier.get(this.options[TOKEN_PARAM])) ?? process.env?.[ENV_TOKEN]; + if (token == null) { + throw new errors.SquareError({ + message: BearerAuthProvider.AUTH_CONFIG_ERROR_MESSAGE, + }); + } + + return { + headers: { Authorization: `Bearer ${token}` }, + }; + } +} + +export namespace BearerAuthProvider { + export const AUTH_SCHEME = "Bearer" as const; + export const AUTH_CONFIG_ERROR_MESSAGE: string = + `Please provide '${TOKEN_PARAM}' when initializing the client, or set the '${ENV_TOKEN}' environment variable` as const; + export type Options = AuthOptions; + export type AuthOptions = { [TOKEN_PARAM]?: core.Supplier | undefined }; + + export function createInstance(options: Options): core.AuthProvider { + return new BearerAuthProvider(options); + } +} diff --git a/src/auth/index.ts b/src/auth/index.ts new file mode 100644 index 000000000..bb4f660ad --- /dev/null +++ b/src/auth/index.ts @@ -0,0 +1 @@ +export { BearerAuthProvider } from "./BearerAuthProvider"; diff --git a/src/core/auth/AuthProvider.ts b/src/core/auth/AuthProvider.ts index ed076ec5d..ccb4263ea 100644 --- a/src/core/auth/AuthProvider.ts +++ b/src/core/auth/AuthProvider.ts @@ -1,5 +1,6 @@ +import type { EndpointMetadata } from "../fetcher/EndpointMetadata"; import type { AuthRequest } from "./AuthRequest"; export interface AuthProvider { - getAuthRequest(): Promise; + getAuthRequest(arg?: { endpointMetadata?: EndpointMetadata }): Promise; } diff --git a/src/core/auth/BearerToken.ts b/src/core/auth/BearerToken.ts index fe987fc9c..c44a06c38 100644 --- a/src/core/auth/BearerToken.ts +++ b/src/core/auth/BearerToken.ts @@ -2,13 +2,18 @@ export type BearerToken = string; const BEARER_AUTH_HEADER_PREFIX = /^Bearer /i; -export const BearerToken = { - toAuthorizationHeader: (token: BearerToken | undefined): string | undefined => { - if (token == null) { - return undefined; - } - return `Bearer ${token}`; - }, +function toAuthorizationHeader(token: string | undefined): string | undefined { + if (token == null) { + return undefined; + } + return `Bearer ${token}`; +} + +export const BearerToken: { + toAuthorizationHeader: typeof toAuthorizationHeader; + fromAuthorizationHeader: (header: string) => BearerToken; +} = { + toAuthorizationHeader: toAuthorizationHeader, fromAuthorizationHeader: (header: string): BearerToken => { return header.replace(BEARER_AUTH_HEADER_PREFIX, "").trim() as BearerToken; }, diff --git a/src/core/auth/NoOpAuthProvider.ts b/src/core/auth/NoOpAuthProvider.ts new file mode 100644 index 000000000..b7486e33d --- /dev/null +++ b/src/core/auth/NoOpAuthProvider.ts @@ -0,0 +1,8 @@ +import type { AuthProvider } from "./AuthProvider"; +import type { AuthRequest } from "./AuthRequest"; + +export class NoOpAuthProvider implements AuthProvider { + public getAuthRequest(): Promise { + return Promise.resolve({ headers: {} }); + } +} diff --git a/src/core/auth/index.ts b/src/core/auth/index.ts index c7786e5ba..49c181aec 100644 --- a/src/core/auth/index.ts +++ b/src/core/auth/index.ts @@ -2,3 +2,4 @@ export type { AuthProvider } from "./AuthProvider"; export type { AuthRequest } from "./AuthRequest"; export { BasicAuth } from "./BasicAuth"; export { BearerToken } from "./BearerToken"; +export { NoOpAuthProvider } from "./NoOpAuthProvider"; diff --git a/src/core/fetcher/BinaryResponse.ts b/src/core/fetcher/BinaryResponse.ts index 79ab71923..bca7f4c77 100644 --- a/src/core/fetcher/BinaryResponse.ts +++ b/src/core/fetcher/BinaryResponse.ts @@ -1,25 +1,23 @@ -import type { ResponseWithBody } from "./ResponseWithBody"; - export type BinaryResponse = { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/bodyUsed) */ - bodyUsed: boolean; + bodyUsed: Response["bodyUsed"]; /** * Returns a ReadableStream of the response body. * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/body) */ - stream: () => ReadableStream; + stream: () => Response["body"]; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/arrayBuffer) */ - arrayBuffer: () => Promise; + arrayBuffer: () => ReturnType; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/blob) */ - blob: () => Promise; + blob: () => ReturnType; /** * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/bytes) * Some versions of the Fetch API may not support this method. */ - bytes?(): Promise; + bytes?(): ReturnType; }; -export function getBinaryResponse(response: ResponseWithBody): BinaryResponse { +export function getBinaryResponse(response: Response): BinaryResponse { const binaryResponse: BinaryResponse = { get bodyUsed() { return response.bodyUsed; diff --git a/src/core/fetcher/EndpointSupplier.ts b/src/core/fetcher/EndpointSupplier.ts index f4a997838..cbb4ff689 100644 --- a/src/core/fetcher/EndpointSupplier.ts +++ b/src/core/fetcher/EndpointSupplier.ts @@ -1,10 +1,10 @@ import type { EndpointMetadata } from "./EndpointMetadata"; import type { Supplier } from "./Supplier"; -type EndpointSupplierFn = (arg: { endpointMetadata: EndpointMetadata }) => T | Promise; +type EndpointSupplierFn = (arg: { endpointMetadata?: EndpointMetadata }) => T | Promise; export type EndpointSupplier = Supplier | EndpointSupplierFn; export const EndpointSupplier = { - get: async (supplier: EndpointSupplier, arg: { endpointMetadata: EndpointMetadata }): Promise => { + get: async (supplier: EndpointSupplier, arg: { endpointMetadata?: EndpointMetadata }): Promise => { if (typeof supplier === "function") { return (supplier as EndpointSupplierFn)(arg); } else { diff --git a/src/core/fetcher/Fetcher.ts b/src/core/fetcher/Fetcher.ts index d6cb76c95..7c22d4f8f 100644 --- a/src/core/fetcher/Fetcher.ts +++ b/src/core/fetcher/Fetcher.ts @@ -20,7 +20,7 @@ export declare namespace Fetcher { url: string; method: string; contentType?: string; - headers?: Record | null | undefined>; + headers?: Record; queryParameters?: Record; body?: unknown; timeoutMs?: number; @@ -35,7 +35,7 @@ export declare namespace Fetcher { logging?: LogConfig | Logger; } - export type Error = FailedStatusCodeError | NonJsonError | TimeoutError | UnknownError; + export type Error = FailedStatusCodeError | NonJsonError | BodyIsNullError | TimeoutError | UnknownError; export interface FailedStatusCodeError { reason: "status-code"; @@ -49,6 +49,11 @@ export declare namespace Fetcher { rawBody: string; } + export interface BodyIsNullError { + reason: "body-is-null"; + statusCode: number; + } + export interface TimeoutError { reason: "timeout"; } @@ -285,9 +290,10 @@ export async function fetcherImpl(args: Fetcher.Args): Promise; -}; - -export function isResponseWithBody(response: Response): response is ResponseWithBody { - return (response as ResponseWithBody).body != null; -} diff --git a/src/core/fetcher/getResponseBody.ts b/src/core/fetcher/getResponseBody.ts index c103c6aa0..879228351 100644 --- a/src/core/fetcher/getResponseBody.ts +++ b/src/core/fetcher/getResponseBody.ts @@ -1,13 +1,9 @@ import { fromJson } from "../json"; import { getBinaryResponse } from "./BinaryResponse"; -import { isResponseWithBody } from "./ResponseWithBody"; import { chooseStreamWrapper } from "./stream-wrappers/chooseStreamWrapper"; export async function getResponseBody(response: Response, responseType?: string): Promise { - if (!isResponseWithBody(response)) { - return undefined; - } switch (responseType) { case "binary-response": return getBinaryResponse(response); @@ -16,8 +12,27 @@ export async function getResponseBody(response: Response, responseType?: string) case "arrayBuffer": return await response.arrayBuffer(); case "sse": + if (response.body == null) { + return { + ok: false, + error: { + reason: "body-is-null", + statusCode: response.status, + }, + }; + } return response.body; case "streaming": + if (response.body == null) { + return { + ok: false, + error: { + reason: "body-is-null", + statusCode: response.status, + }, + }; + } + return chooseStreamWrapper(response.body); case "text": diff --git a/src/core/fetcher/makeRequest.ts b/src/core/fetcher/makeRequest.ts index 03a3ccbe8..a00ac2e23 100644 --- a/src/core/fetcher/makeRequest.ts +++ b/src/core/fetcher/makeRequest.ts @@ -13,7 +13,7 @@ export const makeRequest = async ( ): Promise => { const signals: AbortSignal[] = []; - let timeoutAbortId: NodeJS.Timeout | undefined; + let timeoutAbortId: ReturnType | undefined; if (timeoutMs != null) { const { signal, abortId } = getTimeoutSignal(timeoutMs); timeoutAbortId = abortId; diff --git a/src/core/fetcher/signals.ts b/src/core/fetcher/signals.ts index c9fcaeff1..7bd3757ec 100644 --- a/src/core/fetcher/signals.ts +++ b/src/core/fetcher/signals.ts @@ -1,6 +1,6 @@ const TIMEOUT = "timeout"; -export function getTimeoutSignal(timeoutMs: number): { signal: AbortSignal; abortId: NodeJS.Timeout } { +export function getTimeoutSignal(timeoutMs: number): { signal: AbortSignal; abortId: ReturnType } { const controller = new AbortController(); const abortId = setTimeout(() => controller.abort(TIMEOUT), timeoutMs); return { signal: controller.signal, abortId }; diff --git a/src/core/headers.ts b/src/core/headers.ts index 78ed8b500..be45c4552 100644 --- a/src/core/headers.ts +++ b/src/core/headers.ts @@ -1,7 +1,5 @@ -export function mergeHeaders( - ...headersArray: (Record | null | undefined)[] -): Record { - const result: Record = {}; +export function mergeHeaders(...headersArray: (Record | null | undefined)[]): Record { + const result: Record = {}; for (const [key, value] of headersArray .filter((headers) => headers != null) @@ -17,10 +15,10 @@ export function mergeHeaders( return result; } -export function mergeOnlyDefinedHeaders( - ...headersArray: (Record | null | undefined)[] -): Record { - const result: Record = {}; +export function mergeOnlyDefinedHeaders( + ...headersArray: (Record | null | undefined)[] +): Record { + const result: Record = {}; for (const [key, value] of headersArray .filter((headers) => headers != null) diff --git a/src/core/pagination/CustomPager.ts b/src/core/pagination/CustomPager.ts new file mode 100644 index 000000000..5476b0319 --- /dev/null +++ b/src/core/pagination/CustomPager.ts @@ -0,0 +1,194 @@ +import type { BaseRequestOptions, NormalizedClientOptions } from "../../BaseClient"; +import type { APIResponse } from "../fetcher/APIResponse"; +import type { Fetcher } from "../fetcher/Fetcher"; +import type { RawResponse } from "../fetcher/index"; + +/** + * + * @template TItem The type of the items in the page. + * @template TResponse The type of the API response. + */ +export class CustomPager implements AsyncIterable { + /** The items from the current page */ + public data: TItem[]; + /** The raw HTTP response */ + public rawResponse: RawResponse; + /** The parsed response object */ + public response: TResponse; + + private sendRequest: (request: Fetcher.Args) => Promise>; + private nextRequest?: Fetcher.Args; + private previousRequest?: Fetcher.Args; + private _hasNextPage: boolean; + private _hasPreviousPage: boolean; + + constructor(args: { + response: TResponse; + rawResponse: RawResponse; + items: TItem[]; + hasNextPage: boolean; + hasPreviousPage: boolean; + nextRequest?: Fetcher.Args; + previousRequest?: Fetcher.Args; + sendRequest: (request: Fetcher.Args) => Promise>; + }) { + this.response = args.response; + this.rawResponse = args.rawResponse; + this.data = args.items; + this._hasNextPage = args.hasNextPage; + this._hasPreviousPage = args.hasPreviousPage; + this.nextRequest = args.nextRequest; + this.previousRequest = args.previousRequest; + this.sendRequest = args.sendRequest; + } + + /** + * @returns whether there is a next page to load + */ + public hasNextPage(): boolean { + return this._hasNextPage; + } + + /** + * @returns whether there is a previous page to load + */ + public hasPreviousPage(): boolean { + return this._hasPreviousPage; + } + + /** + * Returns the current page data. + * This is an alias for the `data` property for consistency with other pagination APIs. + * + * @returns the items from the current page + */ + public getCurrentPage(): TItem[] { + return this.data; + } + + /** + * Retrieves the next page of results. + * @returns this pager with updated data + * @throws Error if there is no next page + */ + public async getNextPage(): Promise { + if (!this._hasNextPage || !this.nextRequest) { + throw new Error("No next page available"); + } + const response = await this.sendRequest(this.nextRequest); + if (!response.ok) { + const reason = + response.error.reason === "status-code" ? `HTTP ${response.error.statusCode}` : response.error.reason; + throw new Error(`Failed to fetch next page: ${reason}`); + } + const data = response.body; + const rawResponse = response.rawResponse; + const parsed = await parse({ request: this.nextRequest, data, rawResponse }); + this.response = data; + this.rawResponse = rawResponse; + this.data = parsed.items; + this._hasNextPage = parsed.hasNextPage; + this._hasPreviousPage = parsed.hasPreviousPage; + this.nextRequest = parsed.nextRequest; + this.previousRequest = parsed.previousRequest; + return this; + } + + /** + * Retrieves the previous page of results. + * @returns this pager with updated data + * @throws Error if there is no previous page + */ + public async getPreviousPage(): Promise { + if (!this._hasPreviousPage || !this.previousRequest) { + throw new Error("No previous page available"); + } + const response = await this.sendRequest(this.previousRequest); + if (!response.ok) { + const reason = + response.error.reason === "status-code" ? `HTTP ${response.error.statusCode}` : response.error.reason; + throw new Error(`Failed to fetch previous page: ${reason}`); + } + const data = response.body; + const rawResponse = response.rawResponse; + const parsed = await parse({ request: this.previousRequest, data, rawResponse }); + this.response = data; + this.rawResponse = rawResponse; + this.data = parsed.items; + this._hasNextPage = parsed.hasNextPage; + this._hasPreviousPage = parsed.hasPreviousPage; + this.nextRequest = parsed.nextRequest; + this.previousRequest = parsed.previousRequest; + return this; + } + + private async *iterMessages(): AsyncGenerator { + for (const item of this.data) { + yield item; + } + + while (this.hasNextPage()) { + await this.getNextPage(); + for (const item of this.data) { + yield item; + } + } + } + + async *[Symbol.asyncIterator](): AsyncIterator { + for await (const message of this.iterMessages()) { + yield message; + } + } +} + +export async function createCustomPager({ + sendRequest, + initialHttpRequest, + clientOptions, +}: { + sendRequest: (request: Fetcher.Args) => Promise>; + initialHttpRequest: Fetcher.Args; + clientOptions: NormalizedClientOptions; + requestOptions?: BaseRequestOptions; +}): Promise> { + const response = await sendRequest(initialHttpRequest); + if (!response.ok) { + const reason = + response.error.reason === "status-code" ? `HTTP ${response.error.statusCode}` : response.error.reason; + throw new Error(`Failed to fetch initial page: ${reason}`); + } + const data = response.body; + const rawResponse = response.rawResponse; + const parsed = await parse({ request: initialHttpRequest, data, rawResponse }); + return new CustomPager({ + response: data, + rawResponse, + items: parsed.items, + hasNextPage: parsed.hasNextPage, + hasPreviousPage: parsed.hasPreviousPage, + nextRequest: parsed.nextRequest, + previousRequest: parsed.previousRequest, + sendRequest: sendRequest, + }); +} + +async function parse(_args: { + request: Fetcher.Args; + data: TResponse; + rawResponse: RawResponse; +}): Promise<{ + nextRequest?: Fetcher.Args; + hasNextPage: boolean; + previousRequest?: Fetcher.Args; + hasPreviousPage: boolean; + items: TItem[]; +}> { + // Placeholder implementation. + // TODO: Replace this with actual parsing logic. + return { + items: [], + hasNextPage: false, + hasPreviousPage: false, + }; +} diff --git a/src/core/pagination/index.ts b/src/core/pagination/index.ts index 46cc304af..489f59cf6 100644 --- a/src/core/pagination/index.ts +++ b/src/core/pagination/index.ts @@ -1 +1,2 @@ +export { CustomPager, createCustomPager } from "./CustomPager"; export { Page } from "./Page"; diff --git a/src/core/runtime/runtime.ts b/src/core/runtime/runtime.ts index 08fd2563f..56ebbb87c 100644 --- a/src/core/runtime/runtime.ts +++ b/src/core/runtime/runtime.ts @@ -99,6 +99,18 @@ function evaluateRuntime(): Runtime { }; } + /** + * A constant that indicates whether the environment the code is running is in React-Native. + * This check should come before Node.js detection since React Native may have a process polyfill. + * https://github.com/facebook/react-native/blob/main/packages/react-native/Libraries/Core/setUpNavigator.js + */ + const isReactNative = typeof navigator !== "undefined" && navigator?.product === "ReactNative"; + if (isReactNative) { + return { + type: "react-native", + }; + } + /** * A constant that indicates whether the environment the code is running is Node.JS. */ @@ -116,17 +128,6 @@ function evaluateRuntime(): Runtime { }; } - /** - * A constant that indicates whether the environment the code is running is in React-Native. - * https://github.com/facebook/react-native/blob/main/packages/react-native/Libraries/Core/setUpNavigator.js - */ - const isReactNative = typeof navigator !== "undefined" && navigator?.product === "ReactNative"; - if (isReactNative) { - return { - type: "react-native", - }; - } - return { type: "unknown", }; diff --git a/src/core/schemas/builders/object/object.ts b/src/core/schemas/builders/object/object.ts index c239249e2..bdad80767 100644 --- a/src/core/schemas/builders/object/object.ts +++ b/src/core/schemas/builders/object/object.ts @@ -244,17 +244,19 @@ export function getObjectUtils(schema: BaseObjectSchema { return validateAndTransformExtendedObject({ extensionKeys: extension._getRawProperties(), - value: raw as object, + value: raw, transformBase: (rawBase) => schema.parse(rawBase, opts), transformExtension: (rawExtension) => extension.parse(rawExtension, opts), + breadcrumbsPrefix: opts?.breadcrumbsPrefix, }); }, json: (parsed, opts) => { return validateAndTransformExtendedObject({ extensionKeys: extension._getParsedProperties(), - value: parsed as object, + value: parsed, transformBase: (parsedBase) => schema.json(parsedBase, opts), transformExtension: (parsedExtension) => extension.json(parsedExtension, opts), + breadcrumbsPrefix: opts?.breadcrumbsPrefix, }); }, getType: () => SchemaType.OBJECT, @@ -316,12 +318,26 @@ function validateAndTransformExtendedObject MaybeValid; transformExtension: (value: object) => MaybeValid; + breadcrumbsPrefix?: string[]; }): MaybeValid { + if (!isPlainObject(value)) { + return { + ok: false, + errors: [ + { + path: breadcrumbsPrefix, + message: getErrorMessageForIncorrectType(value, "object"), + }, + ], + }; + } + const extensionPropertiesSet = new Set(extensionKeys); const [extensionProperties, baseProperties] = partition(keys(value), (key) => extensionPropertiesSet.has(key as keyof PreTransformedExtension), diff --git a/src/core/schemas/builders/primitives/never.ts b/src/core/schemas/builders/primitives/never.ts index 91f85d74c..3de77c3fd 100644 --- a/src/core/schemas/builders/primitives/never.ts +++ b/src/core/schemas/builders/primitives/never.ts @@ -1,5 +1,5 @@ -import { type Schema, SchemaType } from "../../Schema.js"; -import { createIdentitySchemaCreator } from "../../utils/createIdentitySchemaCreator.js"; +import { type Schema, SchemaType } from "../../Schema"; +import { createIdentitySchemaCreator } from "../../utils/createIdentitySchemaCreator"; export const never: () => Schema = createIdentitySchemaCreator( SchemaType.NEVER, diff --git a/src/errors/SquareTimeoutError.ts b/src/errors/SquareTimeoutError.ts index d56259097..b410e2c0b 100644 --- a/src/errors/SquareTimeoutError.ts +++ b/src/errors/SquareTimeoutError.ts @@ -3,6 +3,11 @@ export class SquareTimeoutError extends Error { constructor(message: string) { super(message); - Object.setPrototypeOf(this, SquareTimeoutError.prototype); + Object.setPrototypeOf(this, new.target.prototype); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = this.constructor.name; } } diff --git a/src/errors/handleNonStatusCodeError.ts b/src/errors/handleNonStatusCodeError.ts new file mode 100644 index 000000000..c293714bf --- /dev/null +++ b/src/errors/handleNonStatusCodeError.ts @@ -0,0 +1,37 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as core from "../core"; +import * as errors from "./index"; + +export function handleNonStatusCodeError( + error: core.Fetcher.Error, + rawResponse: core.RawResponse, + method: string, + path: string, +): never { + switch (error.reason) { + case "non-json": + throw new errors.SquareError({ + statusCode: error.statusCode, + body: error.rawBody, + rawResponse: rawResponse, + }); + case "body-is-null": + throw new errors.SquareError({ + statusCode: error.statusCode, + rawResponse: rawResponse, + }); + case "timeout": + throw new errors.SquareTimeoutError(`Timeout exceeded when calling ${method} ${path}.`); + case "unknown": + throw new errors.SquareError({ + message: error.errorMessage, + rawResponse: rawResponse, + }); + default: + throw new errors.SquareError({ + message: "Unknown error", + rawResponse: rawResponse, + }); + } +} diff --git a/src/serialization/types/SubscriptionTestResult.ts b/src/serialization/types/SubscriptionTestResult.ts index 9cf4847ad..68ab17ed3 100644 --- a/src/serialization/types/SubscriptionTestResult.ts +++ b/src/serialization/types/SubscriptionTestResult.ts @@ -10,17 +10,21 @@ export const SubscriptionTestResult: core.serialization.ObjectSchema< > = core.serialization.object({ id: core.serialization.string().optional(), statusCode: core.serialization.property("status_code", core.serialization.number().optionalNullable()), - payload: core.serialization.string().optionalNullable(), + payload: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optionalNullable(), createdAt: core.serialization.property("created_at", core.serialization.string().optional()), updatedAt: core.serialization.property("updated_at", core.serialization.string().optional()), + notificationUrl: core.serialization.property("notification_url", core.serialization.string().optional()), + passesFilter: core.serialization.property("passes_filter", core.serialization.boolean().optionalNullable()), }); export declare namespace SubscriptionTestResult { export interface Raw { id?: string | null; status_code?: (number | null | undefined) | null; - payload?: (string | null | undefined) | null; + payload?: (Record | null | undefined) | null; created_at?: string | null; updated_at?: string | null; + notification_url?: string | null; + passes_filter?: (boolean | null | undefined) | null; } } diff --git a/src/serialization/types/TestWebhookSubscriptionResponse.ts b/src/serialization/types/TestWebhookSubscriptionResponse.ts index dc084ae54..fc834ce7c 100644 --- a/src/serialization/types/TestWebhookSubscriptionResponse.ts +++ b/src/serialization/types/TestWebhookSubscriptionResponse.ts @@ -12,11 +12,19 @@ export const TestWebhookSubscriptionResponse: core.serialization.ObjectSchema< > = core.serialization.object({ errors: core.serialization.list(Error_).optional(), subscriptionTestResult: core.serialization.property("subscription_test_result", SubscriptionTestResult.optional()), + notificationUrl: core.serialization.property("notification_url", core.serialization.string().optional()), + statusCode: core.serialization.property("status_code", core.serialization.number().optionalNullable()), + passesFilter: core.serialization.property("passes_filter", core.serialization.boolean().optionalNullable()), + payload: core.serialization.record(core.serialization.string(), core.serialization.unknown()).optionalNullable(), }); export declare namespace TestWebhookSubscriptionResponse { export interface Raw { errors?: Error_.Raw[] | null; subscription_test_result?: SubscriptionTestResult.Raw | null; + notification_url?: string | null; + status_code?: (number | null | undefined) | null; + passes_filter?: (boolean | null | undefined) | null; + payload?: (Record | null | undefined) | null; } } diff --git a/src/version.ts b/src/version.ts index a6cd8df95..8db39c694 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const SDK_VERSION = "43.2.1"; +export const SDK_VERSION = "43.2.2"; diff --git a/tests/mock-server/mockEndpointBuilder.ts b/tests/mock-server/mockEndpointBuilder.ts index 1b0e51079..78985e721 100644 --- a/tests/mock-server/mockEndpointBuilder.ts +++ b/tests/mock-server/mockEndpointBuilder.ts @@ -4,7 +4,7 @@ import { url } from "../../src/core"; import { toJson } from "../../src/core/json"; import { withFormUrlEncoded } from "./withFormUrlEncoded"; import { withHeaders } from "./withHeaders"; -import { withJson } from "./withJson"; +import { type WithJsonOptions, withJson } from "./withJson"; type HttpMethod = "all" | "get" | "post" | "put" | "delete" | "patch" | "options" | "head"; @@ -26,7 +26,7 @@ interface RequestHeadersStage extends RequestBodyStage, ResponseStage { } interface RequestBodyStage extends ResponseStage { - jsonBody(body: unknown): ResponseStage; + jsonBody(body: unknown, options?: WithJsonOptions): ResponseStage; formUrlEncodedBody(body: unknown): ResponseStage; } @@ -129,11 +129,11 @@ class RequestBuilder implements MethodStage, RequestHeadersStage, RequestBodySta return this; } - jsonBody(body: unknown): ResponseStage { + jsonBody(body: unknown, options?: WithJsonOptions): ResponseStage { if (body === undefined) { throw new Error("Undefined is not valid JSON. Do not call jsonBody if you want an empty body."); } - this.predicates.push((resolver) => withJson(body, resolver)); + this.predicates.push((resolver) => withJson(body, resolver, options)); return this; } diff --git a/tests/mock-server/withFormUrlEncoded.ts b/tests/mock-server/withFormUrlEncoded.ts index e9e6ff2d9..e250cb3c0 100644 --- a/tests/mock-server/withFormUrlEncoded.ts +++ b/tests/mock-server/withFormUrlEncoded.ts @@ -18,13 +18,22 @@ export function withFormUrlEncoded(expectedBody: unknown, resolver: HttpResponse clonedRequest = request.clone(); bodyText = await clonedRequest.text(); if (bodyText === "") { - console.error("Request body is empty, expected a form-urlencoded body."); - return passthrough(); - } - const params = new URLSearchParams(bodyText); - actualBody = {}; - for (const [key, value] of params.entries()) { - actualBody[key] = value; + // Empty body is valid if expected body is also empty + const isExpectedEmpty = + expectedBody != null && + typeof expectedBody === "object" && + Object.keys(expectedBody as Record).length === 0; + if (!isExpectedEmpty) { + console.error("Request body is empty, expected a form-urlencoded body."); + return passthrough(); + } + actualBody = {}; + } else { + const params = new URLSearchParams(bodyText); + actualBody = {}; + for (const [key, value] of params.entries()) { + actualBody[key] = value; + } } } catch (error) { console.error(`Error processing form-urlencoded request body:\n\tError: ${error}\n\tBody: ${bodyText}`); diff --git a/tests/mock-server/withJson.ts b/tests/mock-server/withJson.ts index b627638b0..3e8800a0c 100644 --- a/tests/mock-server/withJson.ts +++ b/tests/mock-server/withJson.ts @@ -2,12 +2,26 @@ import { type HttpResponseResolver, passthrough } from "msw"; import { fromJson, toJson } from "../../src/core/json"; +export interface WithJsonOptions { + /** + * List of field names to ignore when comparing request bodies. + * This is useful for pagination cursor fields that change between requests. + */ + ignoredFields?: string[]; +} + /** * Creates a request matcher that validates if the request JSON body exactly matches the expected object * @param expectedBody - The exact body object to match against * @param resolver - Response resolver to execute if body matches + * @param options - Optional configuration including fields to ignore */ -export function withJson(expectedBody: unknown, resolver: HttpResponseResolver): HttpResponseResolver { +export function withJson( + expectedBody: unknown, + resolver: HttpResponseResolver, + options?: WithJsonOptions, +): HttpResponseResolver { + const ignoredFields = options?.ignoredFields ?? []; return async (args) => { const { request } = args; @@ -28,7 +42,8 @@ export function withJson(expectedBody: unknown, resolver: HttpResponseResolver): } const mismatches = findMismatches(actualBody, expectedBody); - if (Object.keys(mismatches).filter((key) => !key.startsWith("pagination.")).length > 0) { + const filteredMismatches = Object.keys(mismatches).filter((key) => !ignoredFields.includes(key)); + if (filteredMismatches.length > 0) { console.error("JSON body mismatch:", toJson(mismatches, undefined, 2)); return passthrough(); } diff --git a/tests/wire/bookings.test.ts b/tests/wire/bookings.test.ts index c3d2d8353..ebabd5061 100644 --- a/tests/wire/bookings.test.ts +++ b/tests/wire/bookings.test.ts @@ -35,16 +35,9 @@ describe("BookingsClient", () => { source: "FIRST_PARTY_MERCHANT", }, ], - cursor: "cursor", errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR", detail: "detail", field: "field" }], }; - server - .mockEndpoint({ once: false }) - .get("/v2/bookings") - .respondWith() - .statusCode(200) - .jsonBody(rawResponseBody) - .build(); + server.mockEndpoint().get("/v2/bookings").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); const expected = { bookings: [ @@ -73,7 +66,6 @@ describe("BookingsClient", () => { source: "FIRST_PARTY_MERCHANT", }, ], - cursor: "cursor", errors: [ { category: "API_ERROR", @@ -94,9 +86,6 @@ describe("BookingsClient", () => { }); expect(expected.bookings).toEqual(page.data); - expect(page.hasNextPage()).toBe(true); - const nextPage = await page.getNextPage(); - expect(expected.bookings).toEqual(nextPage.data); }); test("create", async () => { diff --git a/tests/wire/inventory.test.ts b/tests/wire/inventory.test.ts index ef2971fa0..5129dd56b 100644 --- a/tests/wire/inventory.test.ts +++ b/tests/wire/inventory.test.ts @@ -567,7 +567,7 @@ describe("InventoryClient", () => { server .mockEndpoint({ once: false }) .post("/v2/inventory/changes/batch-retrieve") - .jsonBody(rawRequestBody) + .jsonBody(rawRequestBody, { ignoredFields: ["cursor"] }) .respondWith() .statusCode(200) .jsonBody(rawResponseBody) @@ -648,7 +648,7 @@ describe("InventoryClient", () => { server .mockEndpoint({ once: false }) .post("/v2/inventory/counts/batch-retrieve") - .jsonBody(rawRequestBody) + .jsonBody(rawRequestBody, { ignoredFields: ["cursor"] }) .respondWith() .statusCode(200) .jsonBody(rawResponseBody) diff --git a/tests/wire/transferOrders.test.ts b/tests/wire/transferOrders.test.ts index 5967ad587..0104a442e 100644 --- a/tests/wire/transferOrders.test.ts +++ b/tests/wire/transferOrders.test.ts @@ -209,7 +209,7 @@ describe("TransferOrdersClient", () => { server .mockEndpoint({ once: false }) .post("/v2/transfer-orders/search") - .jsonBody(rawRequestBody) + .jsonBody(rawRequestBody, { ignoredFields: ["cursor"] }) .respondWith() .statusCode(200) .jsonBody(rawResponseBody) diff --git a/tests/wire/webhooks/subscriptions.test.ts b/tests/wire/webhooks/subscriptions.test.ts index 135c2b0c7..ebf758bde 100644 --- a/tests/wire/webhooks/subscriptions.test.ts +++ b/tests/wire/webhooks/subscriptions.test.ts @@ -319,11 +319,16 @@ describe("SubscriptionsClient", () => { subscription_test_result: { id: "23eed5a9-2b12-403e-b212-7e2889aea0f6", status_code: 404, - payload: - '{"merchant_id":"1ZYMKZY1YFGBW","type":"payment.created","event_id":"23eed5a9-2b12-403e-b212-7e2889aea0f6","created_at":"2022-01-11T00:06:48.322945116Z","data":{"type":"payment","id":"KkAkhdMsgzn59SM8A89WgKwekxLZY","object":{"payment":{"amount_money":{"amount":100,"currency":"USD"},"approved_money":{"amount":100,"currency":"USD"},"capabilities":["EDIT_TIP_AMOUNT","EDIT_TIP_AMOUNT_UP","EDIT_TIP_AMOUNT_DOWN"],"card_details":{"avs_status":"AVS_ACCEPTED","card":{"bin":"540988","card_brand":"MASTERCARD","card_type":"CREDIT","exp_month":11,"exp_year":2022,"fingerprint":"sq-1-Tvruf3vPQxlvI6n0IcKYfBukrcv6IqWr8UyBdViWXU2yzGn5VMJvrsHMKpINMhPmVg","last_4":"9029","prepaid_type":"NOT_PREPAID"},"card_payment_timeline":{"authorized_at":"2020-11-22T21:16:51.198Z"},"cvv_status":"CVV_ACCEPTED","entry_method":"KEYED","statement_description":"SQ *DEFAULT TEST ACCOUNT","status":"AUTHORIZED"},"created_at":"2020-11-22T21:16:51.086Z","delay_action":"CANCEL","delay_duration":"PT168H","delayed_until":"2020-11-29T21:16:51.086Z","id":"hYy9pRFVxpDsO1FB05SunFWUe9JZY","location_id":"S8GWD5R9QB376","order_id":"03O3USaPaAaFnI6kkwB1JxGgBsUZY","receipt_number":"hYy9","risk_evaluation":{"created_at":"2020-11-22T21:16:51.198Z","risk_level":"NORMAL"},"source_type":"CARD","status":"APPROVED","total_money":{"amount":100,"currency":"USD"},"updated_at":"2020-11-22T21:16:51.198Z","version_token":"FfQhQJf9r3VSQIgyWBk1oqhIwiznLwVwJbVVA0bdyEv6o"}}}}', + payload: { key: "value" }, created_at: "2022-01-11 00:06:48.322945116 +0000 UTC m=+3863.054453746", updated_at: "2022-01-11 00:06:48.322945116 +0000 UTC m=+3863.054453746", + notification_url: "notification_url", + passes_filter: true, }, + notification_url: "notification_url", + status_code: 1, + passes_filter: true, + payload: { key: "value" }, }; server .mockEndpoint() @@ -350,10 +355,19 @@ describe("SubscriptionsClient", () => { subscriptionTestResult: { id: "23eed5a9-2b12-403e-b212-7e2889aea0f6", statusCode: 404, - payload: - '{"merchant_id":"1ZYMKZY1YFGBW","type":"payment.created","event_id":"23eed5a9-2b12-403e-b212-7e2889aea0f6","created_at":"2022-01-11T00:06:48.322945116Z","data":{"type":"payment","id":"KkAkhdMsgzn59SM8A89WgKwekxLZY","object":{"payment":{"amount_money":{"amount":100,"currency":"USD"},"approved_money":{"amount":100,"currency":"USD"},"capabilities":["EDIT_TIP_AMOUNT","EDIT_TIP_AMOUNT_UP","EDIT_TIP_AMOUNT_DOWN"],"card_details":{"avs_status":"AVS_ACCEPTED","card":{"bin":"540988","card_brand":"MASTERCARD","card_type":"CREDIT","exp_month":11,"exp_year":2022,"fingerprint":"sq-1-Tvruf3vPQxlvI6n0IcKYfBukrcv6IqWr8UyBdViWXU2yzGn5VMJvrsHMKpINMhPmVg","last_4":"9029","prepaid_type":"NOT_PREPAID"},"card_payment_timeline":{"authorized_at":"2020-11-22T21:16:51.198Z"},"cvv_status":"CVV_ACCEPTED","entry_method":"KEYED","statement_description":"SQ *DEFAULT TEST ACCOUNT","status":"AUTHORIZED"},"created_at":"2020-11-22T21:16:51.086Z","delay_action":"CANCEL","delay_duration":"PT168H","delayed_until":"2020-11-29T21:16:51.086Z","id":"hYy9pRFVxpDsO1FB05SunFWUe9JZY","location_id":"S8GWD5R9QB376","order_id":"03O3USaPaAaFnI6kkwB1JxGgBsUZY","receipt_number":"hYy9","risk_evaluation":{"created_at":"2020-11-22T21:16:51.198Z","risk_level":"NORMAL"},"source_type":"CARD","status":"APPROVED","total_money":{"amount":100,"currency":"USD"},"updated_at":"2020-11-22T21:16:51.198Z","version_token":"FfQhQJf9r3VSQIgyWBk1oqhIwiznLwVwJbVVA0bdyEv6o"}}}}', + payload: { + key: "value", + }, createdAt: "2022-01-11 00:06:48.322945116 +0000 UTC m=+3863.054453746", updatedAt: "2022-01-11 00:06:48.322945116 +0000 UTC m=+3863.054453746", + notificationUrl: "notification_url", + passesFilter: true, + }, + notificationUrl: "notification_url", + statusCode: 1, + passesFilter: true, + payload: { + key: "value", }, }); }); diff --git a/yarn.lock b/yarn.lock index 580640dd6..f39724457 100644 --- a/yarn.lock +++ b/yarn.lock @@ -13,17 +13,17 @@ tslib "^2.8.1" "@apimatic/axios-client-adapter@^0.3.7": - version "0.3.20" - resolved "https://registry.yarnpkg.com/@apimatic/axios-client-adapter/-/axios-client-adapter-0.3.20.tgz#3e305a032126d07ccc8b0297e2688b6bad93e037" - integrity sha512-HuwM3rtM+LLnJC6eu4FmniwEz3rsoy2rtTa0rcHv47JbHdp8/AR6Q1AQii1UzTLP9LA2LU7Cq+3xu1htRzvlQQ== + version "0.3.21" + resolved "https://registry.yarnpkg.com/@apimatic/axios-client-adapter/-/axios-client-adapter-0.3.21.tgz#94fa288fffefc6cade844216f6a701def1f74a63" + integrity sha512-pr/XvAvH9FjbpwM+B7vHQxM7alocOX1kLNtSpXKW3yxTYxksF3ydnUuQ85rRbCoNpyfMOIjnRBCNUBzX5p2Hnw== dependencies: - "@apimatic/convert-to-stream" "^0.1.8" + "@apimatic/convert-to-stream" "^0.1.9" "@apimatic/core-interfaces" "^0.2.14" "@apimatic/file-wrapper" "^0.3.9" "@apimatic/http-headers" "^0.3.8" "@apimatic/http-query" "^0.3.9" "@apimatic/json-bigint" "^1.2.0" - "@apimatic/proxy" "^0.1.3" + "@apimatic/proxy" "^0.1.4" axios "^1.8.4" detect-browser "^5.3.0" detect-node "^2.1.0" @@ -32,10 +32,10 @@ tiny-warning "^1.0.3" tslib "^2.8.1" -"@apimatic/convert-to-stream@^0.1.8": - version "0.1.8" - resolved "https://registry.yarnpkg.com/@apimatic/convert-to-stream/-/convert-to-stream-0.1.8.tgz#b52f99caafe556c688b9d6a3dc99ec1ade156a24" - integrity sha512-A4VO/wyGFksKtizp4aUOGGtSlejoVI1uAXLGPVymhfpion3wUwrlST/yif9SOj3faVAGeCTNx0w5A+BpVdzSEA== +"@apimatic/convert-to-stream@^0.1.9": + version "0.1.9" + resolved "https://registry.yarnpkg.com/@apimatic/convert-to-stream/-/convert-to-stream-0.1.9.tgz#4a46a66330d69e8ea5c3bff99739063bcdad90b8" + integrity sha512-C9NEKnDZoTRBRVeUGXVyAEmy6P5o+8oLwEckTKj0iBlExJLEXNt14nf4wxfzRO1KR8j5Bw8S6yStKCrQzcVERA== dependencies: tslib "2.8.1" @@ -49,11 +49,11 @@ tslib "^2.8.1" "@apimatic/core@^0.10.16": - version "0.10.28" - resolved "https://registry.yarnpkg.com/@apimatic/core/-/core-0.10.28.tgz#5d4f4e3fab522afd7963dddb30523fe0d6e61fa1" - integrity sha512-/1TsXtfuS6BOu1qRrKxnHuuBSSg3Q6ckf7ZPRyejzaA32PN0ke/eq+tK0tYGhnHrJtq869EXJ1r84mDw6Yb0zw== + version "0.10.29" + resolved "https://registry.yarnpkg.com/@apimatic/core/-/core-0.10.29.tgz#df4399643be47f38a3c8f81fe4bc2f99ac56ed0e" + integrity sha512-QhORiq0QbjlDMrw8ZZsAeG2DzE6QgGz5ukD5w2MOWE/3iIWnUDEROjmc2SfhyiGsE3GoEJ8cyhMMdjlOioP6ww== dependencies: - "@apimatic/convert-to-stream" "^0.1.8" + "@apimatic/convert-to-stream" "^0.1.9" "@apimatic/core-interfaces" "^0.2.14" "@apimatic/file-wrapper" "^0.3.9" "@apimatic/http-headers" "^0.3.8" @@ -96,10 +96,10 @@ resolved "https://registry.yarnpkg.com/@apimatic/json-bigint/-/json-bigint-1.2.0.tgz#05223455ec135976fe7a55456c2d21a3bbde56d8" integrity sha512-+bmVzYMdZu0Ya5L+my4FXFUih54OvQA/qlZsFOYdOoostyUuB27UDrVWQs/WVCmS0ADdo5vTU0eeTrrBkHoySw== -"@apimatic/proxy@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@apimatic/proxy/-/proxy-0.1.3.tgz#664ba7cbec92dbdc4f82bd2a025b70ba9aaa0910" - integrity sha512-2UQmmbhOxAXHgbkl6WzGiVLG96ubw7udUsm0cv3jqiCLUyC+c15NgC64pJ+jeYHpZm3BtsLG01rMA+dBdHsxYQ== +"@apimatic/proxy@^0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@apimatic/proxy/-/proxy-0.1.4.tgz#9a5b729ac3da8edc01ca5846f14e7f29b744f8d0" + integrity sha512-Vzgfu7wcA5aEJyj2SjQ00Tb06fhBof8gDo1kSsF6sZBm4QjdFywN5AMbQwhfFOKjHqcsNmJspdeqcdymUQ77jA== dependencies: http-proxy-agent "^7.0.2" https-proxy-agent "^7.0.6" @@ -111,34 +111,34 @@ dependencies: tslib "^2.8.1" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" - integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.28.6.tgz#72499312ec58b1e2245ba4a4f550c132be4982f7" + integrity sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q== dependencies: - "@babel/helper-validator-identifier" "^7.27.1" + "@babel/helper-validator-identifier" "^7.28.5" js-tokens "^4.0.0" picocolors "^1.1.1" -"@babel/compat-data@^7.27.2": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.28.5.tgz#a8a4962e1567121ac0b3b487f52107443b455c7f" - integrity sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA== +"@babel/compat-data@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.28.6.tgz#103f466803fa0f059e82ccac271475470570d74c" + integrity sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg== "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.5.tgz#4c81b35e51e1b734f510c99b07dfbc7bbbb48f7e" - integrity sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.28.5" - "@babel/helper-compilation-targets" "^7.27.2" - "@babel/helper-module-transforms" "^7.28.3" - "@babel/helpers" "^7.28.4" - "@babel/parser" "^7.28.5" - "@babel/template" "^7.27.2" - "@babel/traverse" "^7.28.5" - "@babel/types" "^7.28.5" + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.6.tgz#531bf883a1126e53501ba46eb3bb414047af507f" + integrity sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw== + dependencies: + "@babel/code-frame" "^7.28.6" + "@babel/generator" "^7.28.6" + "@babel/helper-compilation-targets" "^7.28.6" + "@babel/helper-module-transforms" "^7.28.6" + "@babel/helpers" "^7.28.6" + "@babel/parser" "^7.28.6" + "@babel/template" "^7.28.6" + "@babel/traverse" "^7.28.6" + "@babel/types" "^7.28.6" "@jridgewell/remapping" "^2.3.5" convert-source-map "^2.0.0" debug "^4.1.0" @@ -146,23 +146,23 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.28.5", "@babel/generator@^7.7.2": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.5.tgz#712722d5e50f44d07bc7ac9fe84438742dd61298" - integrity sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ== +"@babel/generator@^7.28.6", "@babel/generator@^7.7.2": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.6.tgz#48dcc65d98fcc8626a48f72b62e263d25fc3c3f1" + integrity sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw== dependencies: - "@babel/parser" "^7.28.5" - "@babel/types" "^7.28.5" + "@babel/parser" "^7.28.6" + "@babel/types" "^7.28.6" "@jridgewell/gen-mapping" "^0.3.12" "@jridgewell/trace-mapping" "^0.3.28" jsesc "^3.0.2" -"@babel/helper-compilation-targets@^7.27.2": - version "7.27.2" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d" - integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ== +"@babel/helper-compilation-targets@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz#32c4a3f41f12ed1532179b108a4d746e105c2b25" + integrity sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA== dependencies: - "@babel/compat-data" "^7.27.2" + "@babel/compat-data" "^7.28.6" "@babel/helper-validator-option" "^7.27.1" browserslist "^4.24.0" lru-cache "^5.1.1" @@ -173,34 +173,34 @@ resolved "https://registry.yarnpkg.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz#b9430df2aa4e17bc28665eadeae8aa1d985e6674" integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw== -"@babel/helper-module-imports@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204" - integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w== +"@babel/helper-module-imports@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz#60632cbd6ffb70b22823187201116762a03e2d5c" + integrity sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw== dependencies: - "@babel/traverse" "^7.27.1" - "@babel/types" "^7.27.1" + "@babel/traverse" "^7.28.6" + "@babel/types" "^7.28.6" -"@babel/helper-module-transforms@^7.28.3": - version "7.28.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz#a2b37d3da3b2344fe085dab234426f2b9a2fa5f6" - integrity sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw== +"@babel/helper-module-transforms@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz#9312d9d9e56edc35aeb6e95c25d4106b50b9eb1e" + integrity sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA== dependencies: - "@babel/helper-module-imports" "^7.27.1" - "@babel/helper-validator-identifier" "^7.27.1" - "@babel/traverse" "^7.28.3" + "@babel/helper-module-imports" "^7.28.6" + "@babel/helper-validator-identifier" "^7.28.5" + "@babel/traverse" "^7.28.6" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.27.1", "@babel/helper-plugin-utils@^7.8.0": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c" - integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.28.6", "@babel/helper-plugin-utils@^7.8.0": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz#6f13ea251b68c8532e985fd532f28741a8af9ac8" + integrity sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug== "@babel/helper-string-parser@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== -"@babel/helper-validator-identifier@^7.27.1", "@babel/helper-validator-identifier@^7.28.5": +"@babel/helper-validator-identifier@^7.28.5": version "7.28.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz#010b6938fab7cb7df74aa2bbc06aa503b8fe5fb4" integrity sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q== @@ -210,20 +210,20 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== -"@babel/helpers@^7.28.4": - version "7.28.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.4.tgz#fe07274742e95bdf7cf1443593eeb8926ab63827" - integrity sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w== +"@babel/helpers@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.6.tgz#fca903a313ae675617936e8998b814c415cbf5d7" + integrity sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw== dependencies: - "@babel/template" "^7.27.2" - "@babel/types" "^7.28.4" + "@babel/template" "^7.28.6" + "@babel/types" "^7.28.6" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.27.2", "@babel/parser@^7.28.5": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.5.tgz#0b0225ee90362f030efd644e8034c99468893b08" - integrity sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.6.tgz#f01a8885b7fa1e56dd8a155130226cd698ef13fd" + integrity sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ== dependencies: - "@babel/types" "^7.28.5" + "@babel/types" "^7.28.6" "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -254,11 +254,11 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-import-attributes@^7.24.7": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz#34c017d54496f9b11b61474e7ea3dfd5563ffe07" - integrity sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww== + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz#b71d5914665f60124e133696f17cd7669062c503" + integrity sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw== dependencies: - "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-plugin-utils" "^7.28.6" "@babel/plugin-syntax-import-meta@^7.10.4": version "7.10.4" @@ -275,11 +275,11 @@ "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-jsx@^7.7.2": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz#2f9beb5eff30fa507c5532d107daac7b888fa34c" - integrity sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w== + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz#f8ca28bbd84883b5fea0e447c635b81ba73997ee" + integrity sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w== dependencies: - "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-plugin-utils" "^7.28.6" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" @@ -338,38 +338,38 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-typescript@^7.7.2": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz#5147d29066a793450f220c63fa3a9431b7e6dd18" - integrity sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ== + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz#c7b2ddf1d0a811145b1de800d1abd146af92e3a2" + integrity sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A== dependencies: - "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-plugin-utils" "^7.28.6" -"@babel/template@^7.27.2", "@babel/template@^7.3.3": - version "7.27.2" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d" - integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw== +"@babel/template@^7.28.6", "@babel/template@^7.3.3": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.28.6.tgz#0e7e56ecedb78aeef66ce7972b082fce76a23e57" + integrity sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ== dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/parser" "^7.27.2" - "@babel/types" "^7.27.1" + "@babel/code-frame" "^7.28.6" + "@babel/parser" "^7.28.6" + "@babel/types" "^7.28.6" -"@babel/traverse@^7.27.1", "@babel/traverse@^7.28.3", "@babel/traverse@^7.28.5": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.5.tgz#450cab9135d21a7a2ca9d2d35aa05c20e68c360b" - integrity sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ== +"@babel/traverse@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.6.tgz#871ddc79a80599a5030c53b1cc48cbe3a5583c2e" + integrity sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg== dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.28.5" + "@babel/code-frame" "^7.28.6" + "@babel/generator" "^7.28.6" "@babel/helper-globals" "^7.28.0" - "@babel/parser" "^7.28.5" - "@babel/template" "^7.27.2" - "@babel/types" "^7.28.5" + "@babel/parser" "^7.28.6" + "@babel/template" "^7.28.6" + "@babel/types" "^7.28.6" debug "^4.3.1" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.27.1", "@babel/types@^7.28.2", "@babel/types@^7.28.4", "@babel/types@^7.28.5", "@babel/types@^7.3.3": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.5.tgz#10fc405f60897c35f07e85493c932c7b5ca0592b" - integrity sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA== +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.28.2", "@babel/types@^7.28.6", "@babel/types@^7.3.3": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.6.tgz#c3e9377f1b155005bcc4c46020e7e394e13089df" + integrity sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg== dependencies: "@babel/helper-string-parser" "^7.27.1" "@babel/helper-validator-identifier" "^7.28.5" @@ -904,9 +904,9 @@ form-data "^4.0.4" "@types/node@*": - version "24.10.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-24.10.1.tgz#91e92182c93db8bd6224fca031e2370cef9a8f01" - integrity sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ== + version "25.0.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-25.0.6.tgz#5ca3c46f2b256b59128f433426e42d464765dab1" + integrity sha512-NNu0sjyNxpoiW3YuVFfNz7mxSQ+S4X2G28uqg2s+CzoqoQjLPsWSbsFFyztIAqt2vb8kfEAsJNepMGPTxFDx3Q== dependencies: undici-types "~7.16.0" @@ -923,9 +923,9 @@ undici-types "~5.26.4" "@types/readable-stream@^4.0.18": - version "4.0.22" - resolved "https://registry.yarnpkg.com/@types/readable-stream/-/readable-stream-4.0.22.tgz#882fda4f17b6580acb257df3f22ca69c05470b29" - integrity sha512-/FFhJpfCLAPwAcN3mFycNUa77ddnr8jTgF5VmSNetaemWB2cIlfCA9t0YTM3JAT0wOcv8D4tjPo7pkDhK3EJIg== + version "4.0.23" + resolved "https://registry.yarnpkg.com/@types/readable-stream/-/readable-stream-4.0.23.tgz#fcd0f7472f45ceb43154f08f0083ccd1c76e53ce" + integrity sha512-wwXrtQvbMHxCbBgjHaMGEmImFTQxxpfMOR/ZoQnXxB1woqkUbdLGFDgauo00Py9IudiaqSeiBiulSV9i6XIPig== dependencies: "@types/node" "*" @@ -1286,10 +1286,10 @@ base64-js@^1.3.1: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -baseline-browser-mapping@^2.8.25: - version "2.8.29" - resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.8.29.tgz#d8800b71399c783cb1bf2068c2bcc3b6cfd7892c" - integrity sha512-sXdt2elaVnhpDNRDz+1BDx1JQoJRuNk7oVlAlbGiFkLikHCAQiccexF/9e91zVi6RCgqspl04aP+6Cnl9zRLrA== +baseline-browser-mapping@^2.9.0: + version "2.9.14" + resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.9.14.tgz#3b6af0bc032445bca04de58caa9a87cfe921cbb3" + integrity sha512-B0xUquLkiGLgHhpPBqvl7GWegWBUNuujQ6kXd/r1U38ElPT6Ok8KZ8e+FpUGEc2ZoRQUzq/aUnaKFc/svWUGSg== brace-expansion@^1.1.7: version "1.1.12" @@ -1306,16 +1306,16 @@ braces@^3.0.3: dependencies: fill-range "^7.1.1" -browserslist@^4.24.0, browserslist@^4.26.3: - version "4.28.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.28.0.tgz#9cefece0a386a17a3cd3d22ebf67b9deca1b5929" - integrity sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ== +browserslist@^4.24.0, browserslist@^4.28.1: + version "4.28.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.28.1.tgz#7f534594628c53c63101079e27e40de490456a95" + integrity sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA== dependencies: - baseline-browser-mapping "^2.8.25" - caniuse-lite "^1.0.30001754" - electron-to-chromium "^1.5.249" + baseline-browser-mapping "^2.9.0" + caniuse-lite "^1.0.30001759" + electron-to-chromium "^1.5.263" node-releases "^2.0.27" - update-browserslist-db "^1.1.4" + update-browserslist-db "^1.2.0" bs-logger@^0.2.6: version "0.2.6" @@ -1367,10 +1367,10 @@ camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001754: - version "1.0.30001756" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001756.tgz#fe80104631102f88e58cad8aa203a2c3e5ec9ebd" - integrity sha512-4HnCNKbMLkLdhJz3TToeVWHSnfJvPaq6vu/eRP0Ahub/07n484XHhBF5AJoSGHdVrS8tKFauUQz8Bp9P7LVx7A== +caniuse-lite@^1.0.30001759: + version "1.0.30001764" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001764.tgz#03206c56469f236103b90f9ae10bcb8b9e1f6005" + integrity sha512-9JGuzl2M+vPL+pz70gtMF9sHdMFbY9FJaQBi186cHKH3pSzDvzoUJUPV6fqiKIMyXbud9ZLg4F3Yza1vJ1+93g== chalk@^4.0.0, chalk@^4.1.0: version "4.1.2" @@ -1524,9 +1524,9 @@ decimal.js@^10.4.2: integrity sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg== dedent@^1.0.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.7.0.tgz#c1f9445335f0175a96587be245a282ff451446ca" - integrity sha512-HGFtf8yhuhGhqO07SV79tRp+br4MnbdjeVxotpn1QBl30pcLLCQjX5b2295ll0fv8RKDKsmWYrl05usHM9CewQ== + version "1.7.1" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.7.1.tgz#364661eea3d73f3faba7089214420ec2f8f13e15" + integrity sha512-9JmrhGZpOlEgOLdQgSm0zxFaYoQon408V1v49aqTWuXENVlnCuY9JBZcXZiCsZQWDjTm5Qf/nIvAy77mXDAjEg== deepmerge@^4.2.2: version "4.3.1" @@ -1574,10 +1574,10 @@ dunder-proto@^1.0.1: es-errors "^1.3.0" gopd "^1.2.0" -electron-to-chromium@^1.5.249: - version "1.5.258" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.258.tgz#094b0280928b1bf967b202e4be5b335aa4754b69" - integrity sha512-rHUggNV5jKQ0sSdWwlaRDkFc3/rRJIVnOSe9yR4zrR07m3ZxhP4N27Hlg8VeJGGYgFTxK5NqDmWI4DSH72vIJg== +electron-to-chromium@^1.5.263: + version "1.5.267" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz#5d84f2df8cdb6bfe7e873706bb21bd4bfb574dc7" + integrity sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw== emittery@^0.13.1: version "0.13.1" @@ -1589,10 +1589,10 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -enhanced-resolve@^5.0.0, enhanced-resolve@^5.17.3: - version "5.18.3" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz#9b5f4c5c076b8787c78fe540392ce76a88855b44" - integrity sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww== +enhanced-resolve@^5.0.0, enhanced-resolve@^5.17.4: + version "5.18.4" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz#c22d33055f3952035ce6a144ce092447c525f828" + integrity sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -1619,10 +1619,10 @@ es-errors@^1.3.0: resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== -es-module-lexer@^1.2.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz#9159601561880a85f2734560a9099b2c31e5372a" - integrity sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA== +es-module-lexer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-2.0.0.tgz#f657cd7a9448dcdda9c070a3cb75e5dc1e85f5b1" + integrity sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw== es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: version "1.1.1" @@ -2757,9 +2757,9 @@ npm-run-path@^4.0.1: path-key "^3.0.0" nwsapi@^2.2.2: - version "2.2.22" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.22.tgz#109f9530cda6c156d6a713cdf5939e9f0de98b9d" - integrity sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ== + version "2.2.23" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.23.tgz#59712c3a88e6de2bb0b6ccc1070397267019cf6c" + integrity sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ== once@^1.3.0: version "1.4.0" @@ -3199,10 +3199,10 @@ tapable@^2.2.0, tapable@^2.3.0: resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.3.0.tgz#7e3ea6d5ca31ba8e078b560f0d83ce9a14aa8be6" integrity sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg== -terser-webpack-plugin@^5.3.11: - version "5.3.14" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz#9031d48e57ab27567f02ace85c7d690db66c3e06" - integrity sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw== +terser-webpack-plugin@^5.3.16: + version "5.3.16" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.16.tgz#741e448cc3f93d8026ebe4f7ef9e4afacfd56330" + integrity sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q== dependencies: "@jridgewell/trace-mapping" "^0.3.25" jest-worker "^27.4.5" @@ -3234,17 +3234,17 @@ tiny-warning@^1.0.3: resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== -tldts-core@^7.0.18: - version "7.0.18" - resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-7.0.18.tgz#78edfd38e8c35e20fb4d2cde63c759139e169d31" - integrity sha512-jqJC13oP4FFAahv4JT/0WTDrCF9Okv7lpKtOZUGPLiAnNbACcSg8Y8T+Z9xthOmRBqi/Sob4yi0TE0miRCvF7Q== +tldts-core@^7.0.19: + version "7.0.19" + resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-7.0.19.tgz#9dd8a457a09b4e65c8266c029f1847fa78dead20" + integrity sha512-lJX2dEWx0SGH4O6p+7FPwYmJ/bu1JbcGJ8RLaG9b7liIgZ85itUVEPbMtWRVrde/0fnDPEPHW10ZsKW3kVsE9A== tldts@^7.0.5: - version "7.0.18" - resolved "https://registry.yarnpkg.com/tldts/-/tldts-7.0.18.tgz#72cac7a2bdb6bba78f8a09fdf7ef84843b09aa94" - integrity sha512-lCcgTAgMxQ1JKOWrVGo6E69Ukbnx4Gc1wiYLRf6J5NN4HRYJtCby1rPF8rkQ4a6qqoFBK5dvjJ1zJ0F7VfDSvw== + version "7.0.19" + resolved "https://registry.yarnpkg.com/tldts/-/tldts-7.0.19.tgz#84cd7a7f04e68ec93b93b106fac038c527b99368" + integrity sha512-8PWx8tvC4jDB39BQw1m4x8y5MH1BcQ5xHeL2n7UVFulMPH/3Q0uiamahFJ3lXA0zO2SUyRXuVVbWSDmstlt9YA== dependencies: - tldts-core "^7.0.18" + tldts-core "^7.0.19" tmpl@1.0.5: version "1.0.5" @@ -3288,9 +3288,9 @@ tr46@~0.0.3: integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== ts-jest@^29.3.4: - version "29.4.5" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.4.5.tgz#a6b0dc401e521515d5342234be87f1ca96390a6f" - integrity sha512-HO3GyiWn2qvTQA4kTgjDcXiMwYQt68a1Y8+JuLRVpdIzm+UOLSHgl/XqR4c6nzJkq5rOkjc02O2I7P7l/Yof0Q== + version "29.4.6" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.4.6.tgz#51cb7c133f227396818b71297ad7409bb77106e9" + integrity sha512-fSpWtOO/1AjSNQguk43hb/JCo16oJDnMJf3CdEGNkqsEX3t0KX96xvyX1D7PfLCpVoKu4MfVrqUkFyblYoY4lA== dependencies: bs-logger "^0.2.6" fast-json-stable-stringify "^2.1.0" @@ -3358,10 +3358,10 @@ universalify@^0.2.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== -update-browserslist-db@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz#7802aa2ae91477f255b86e0e46dbc787a206ad4a" - integrity sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A== +update-browserslist-db@^1.2.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz#64d76db58713136acbeb4c49114366cc6cc2e80d" + integrity sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w== dependencies: escalade "^3.2.0" picocolors "^1.1.1" @@ -3398,9 +3398,9 @@ walker@^1.0.8: makeerror "1.0.12" watchpack@^2.4.4: - version "2.4.4" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.4.tgz#473bda72f0850453da6425081ea46fc0d7602947" - integrity sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA== + version "2.5.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.5.0.tgz#fa115d5ccaa4bf3aa594f586257c0bc4768939fd" + integrity sha512-e6vZvY6xboSwLz2GD36c16+O/2Z6fKvIf4pOXptw2rY9MVwE/TXc6RGqxD3I3x0a28lwBY7DE+76uTPSsBrrCA== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" @@ -3421,9 +3421,9 @@ webpack-sources@^3.3.3: integrity sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg== webpack@^5.97.1: - version "5.103.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.103.0.tgz#17a7c5a5020d5a3a37c118d002eade5ee2c6f3da" - integrity sha512-HU1JOuV1OavsZ+mfigY0j8d1TgQgbZ6M+J75zDkpEAwYeXjWSqrGJtgnPblJjd/mAyTNQ7ygw0MiKOn6etz8yw== + version "5.104.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.104.1.tgz#94bd41eb5dbf06e93be165ba8be41b8260d4fb1a" + integrity sha512-Qphch25abbMNtekmEGJmeRUhLDbe+QfiWTiqpKYkpCOWY64v9eyl+KRRLmqOFA2AvKPpc9DC6+u2n76tQLBoaA== dependencies: "@types/eslint-scope" "^3.7.7" "@types/estree" "^1.0.8" @@ -3433,10 +3433,10 @@ webpack@^5.97.1: "@webassemblyjs/wasm-parser" "^1.14.1" acorn "^8.15.0" acorn-import-phases "^1.0.3" - browserslist "^4.26.3" + browserslist "^4.28.1" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.17.3" - es-module-lexer "^1.2.1" + enhanced-resolve "^5.17.4" + es-module-lexer "^2.0.0" eslint-scope "5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" @@ -3447,7 +3447,7 @@ webpack@^5.97.1: neo-async "^2.6.2" schema-utils "^4.3.3" tapable "^2.3.0" - terser-webpack-plugin "^5.3.11" + terser-webpack-plugin "^5.3.16" watchpack "^2.4.4" webpack-sources "^3.3.3" @@ -3523,9 +3523,9 @@ write-file-atomic@^4.0.2: signal-exit "^3.0.7" ws@^8.11.0: - version "8.18.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.3.tgz#b56b88abffde62791c639170400c93dcb0c95472" - integrity sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg== + version "8.19.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.19.0.tgz#ddc2bdfa5b9ad860204f5a72a4863a8895fd8c8b" + integrity sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg== xml-name-validator@^4.0.0: version "4.0.0"