diff --git a/.fern/metadata.json b/.fern/metadata.json index eb5c29ba1..fe4c29e50 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": "44.0.0" } 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..b5b8a3950 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: @@ -127,7 +130,7 @@ following namespace: ```typescript import { Square } from "square"; -const request: Square.CreateMobileAuthorizationCodeRequest = { +const request: Square.RevokeTokenRequest = { ... }; ``` @@ -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,29 @@ 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", + customerId: "customer_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", + customerId: "customer_id" +}); while (page.hasNextPage()) { page = page.getNextPage(); } + +// You can also access the underlying response +const response = page.response; ``` ## Webhook Signature Verification @@ -194,6 +254,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 +270,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 +324,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 +416,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 +436,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..e59eea0b9 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,11 @@ { "name": "square", - "version": "43.2.1", + "version": "44.0.0", "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/reference.md b/reference.md index 524aee6fc..f49565a8c 100644 --- a/reference.md +++ b/reference.md @@ -1,84 +1,4 @@ # Reference -## Mobile -
client.mobile.authorizationCode({ ...params }) -> Square.CreateMobileAuthorizationCodeResponse -
-
- -#### 📝 Description - -
-
- -
-
- -__Note:__ This endpoint is used by the deprecated Reader SDK. -Developers should update their integration to use the [Mobile Payments SDK](https://developer.squareup.com/docs/mobile-payments-sdk), which includes its own authorization methods. - -Generates code to authorize a mobile application to connect to a Square card reader. - -Authorization codes are one-time-use codes and expire 60 minutes after being issued. - -The `Authorization` header you provide to this endpoint must have the following format: - -``` -Authorization: Bearer ACCESS_TOKEN -``` - -Replace `ACCESS_TOKEN` with a -[valid production authorization credential](https://developer.squareup.com/docs/build-basics/access-tokens). -
-
-
-
- -#### 🔌 Usage - -
-
- -
-
- -```typescript -await client.mobile.authorizationCode({ - locationId: "YOUR_LOCATION_ID" -}); - -``` -
-
-
-
- -#### ⚙️ Parameters - -
-
- -
-
- -**request:** `Square.CreateMobileAuthorizationCodeRequest` - -
-
- -
-
- -**requestOptions:** `MobileClient.RequestOptions` - -
-
-
-
- - -
-
-
- ## OAuth
client.oAuth.revokeToken({ ...params }) -> Square.RevokeTokenResponse
@@ -668,7 +588,8 @@ Returns a list of [BankAccount](entity:BankAccount) objects linked to a Square a const pageableResponse = await client.bankAccounts.list({ cursor: "cursor", limit: 1, - locationId: "location_id" + locationId: "location_id", + customerId: "customer_id" }); for await (const item of pageableResponse) { console.log(item); @@ -678,7 +599,8 @@ for await (const item of pageableResponse) { let page = await client.bankAccounts.list({ cursor: "cursor", limit: 1, - locationId: "location_id" + locationId: "location_id", + customerId: "customer_id" }); while (page.hasNextPage()) { page = page.getNextPage(); @@ -717,6 +639,73 @@ const response = page.response;
+ + +
+ +
client.bankAccounts.createBankAccount({ ...params }) -> Square.CreateBankAccountResponse +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Store a bank account on file for a square account +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```typescript +await client.bankAccounts.createBankAccount({ + idempotencyKey: "4e43559a-f0fd-47d3-9da2-7ea1f97d94be", + sourceId: "bnon:CA4SEHsQwr0rx6DbWLD5BQaqMnoYAQ", + customerId: "HM3B2D5JKGZ69359BTEHXM2V8M" +}); + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request:** `Square.CreateBankAccountRequest` + +
+
+ +
+
+ +**requestOptions:** `BankAccountsClient.RequestOptions` + +
+
+
+
+ +
@@ -798,8 +787,7 @@ await client.bankAccounts.getByV1Id({
-Returns details of a [BankAccount](entity:BankAccount) -linked to a Square account. +Retrieve details of a [BankAccount](entity:BankAccount) bank account linked to a Square account.
@@ -848,6 +836,71 @@ await client.bankAccounts.get({ + + + + +
client.bankAccounts.disableBankAccount({ ...params }) -> Square.DisableBankAccountResponse +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Disable a bank account. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```typescript +await client.bankAccounts.disableBankAccount({ + bankAccountId: "bank_account_id" +}); + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request:** `Square.DisableBankAccountRequest` + +
+
+ +
+
+ +**requestOptions:** `BankAccountsClient.RequestOptions` + +
+
+
+
+ +
@@ -13026,12 +13079,12 @@ await client.transferOrders.receive({ idempotencyKey: "EXAMPLE_IDEMPOTENCY_KEY_101", receipt: { lineItems: [{ - transferOrderLineUid: "transfer_order_line_uid", + transferOrderLineUid: "1", quantityReceived: "3", quantityDamaged: "1", quantityCanceled: "1" }, { - transferOrderLineUid: "transfer_order_line_uid", + transferOrderLineUid: "2", quantityReceived: "2", quantityCanceled: "1" }] @@ -13652,6 +13705,48 @@ await client.vendors.update({ + + + + +## Mobile +
client.mobile.authorizationCode() -> void +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```typescript +await client.mobile.authorizationCode(); + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**requestOptions:** `MobileClient.RequestOptions` + +
+
+
+
+ +
diff --git a/src/BaseClient.ts b/src/BaseClient.ts index 796b29c04..7cff18383 100644 --- a/src/BaseClient.ts +++ b/src/BaseClient.ts @@ -1,16 +1,16 @@ // 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"; + version?: "2026-01-22"; /** Additional headers to include in requests. */ headers?: Record | null | undefined>; /** The default maximum time to wait for a response in seconds. */ @@ -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. */ @@ -32,23 +32,35 @@ export interface BaseRequestOptions { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the Square-Version header */ - version?: "2025-10-16"; + version?: "2026-01-22"; /** Additional query string parameters to include in the request. */ queryParams?: Record; /** Additional headers to include in the request. */ 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": "44.0.0", + "User-Agent": "square/44.0.0", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, - "Square-Version": options?.version ?? "2025-10-16", + "Square-Version": options?.version ?? "2026-01-22", }, options?.headers, ); @@ -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..417d575bb 100644 --- a/src/Client.ts +++ b/src/Client.ts @@ -37,17 +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 _mobile: MobileClient | undefined; + protected readonly _options: NormalizedClientOptionsWithAuth; protected _oAuth: OAuthClient | undefined; protected _v1Transactions: V1TransactionsClient | undefined; protected _applePay: ApplePayClient | undefined; @@ -81,15 +80,12 @@ export class SquareClient { protected _terminal: TerminalClient | undefined; protected _transferOrders: TransferOrdersClient | undefined; protected _vendors: VendorsClient | undefined; + protected _mobile: MobileClient | undefined; protected _cashDrawers: CashDrawersClient | undefined; protected _webhooks: WebhooksClient | undefined; constructor(options: SquareClient.Options = {}) { - this._options = normalizeClientOptions(options); - } - - public get mobile(): MobileClient { - return (this._mobile ??= new MobileClient(this._options)); + this._options = normalizeClientOptionsWithAuth(options); } public get oAuth(): OAuthClient { @@ -224,6 +220,10 @@ export class SquareClient { return (this._vendors ??= new VendorsClient(this._options)); } + public get mobile(): MobileClient { + return (this._mobile ??= new MobileClient(this._options)); + } + public get cashDrawers(): CashDrawersClient { return (this._cashDrawers ??= new CashDrawersClient(this._options)); } diff --git a/src/api/resources/applePay/client/Client.ts b/src/api/resources/applePay/client/Client.ts index 5579b3dad..0ef3be0b4 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 ?? "2026-01-22" }), 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..0ad0f9e5e 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); } /** @@ -32,7 +33,8 @@ export class BankAccountsClient { * await client.bankAccounts.list({ * cursor: "cursor", * limit: 1, - * locationId: "location_id" + * locationId: "location_id", + * customerId: "customer_id" * }) */ public async list( @@ -43,23 +45,18 @@ export class BankAccountsClient { async ( 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 { cursor, limit, locationId, customerId } = request; + const _queryParams: Record = { + cursor, + limit, + location_id: locationId, + 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 ?? "2026-01-22" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -97,21 +94,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(); @@ -127,6 +110,83 @@ export class BankAccountsClient { }); } + /** + * Store a bank account on file for a square account + * + * @param {Square.CreateBankAccountRequest} request + * @param {BankAccountsClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @example + * await client.bankAccounts.createBankAccount({ + * idempotencyKey: "4e43559a-f0fd-47d3-9da2-7ea1f97d94be", + * sourceId: "bnon:CA4SEHsQwr0rx6DbWLD5BQaqMnoYAQ", + * customerId: "HM3B2D5JKGZ69359BTEHXM2V8M" + * }) + */ + public createBankAccount( + request: Square.CreateBankAccountRequest, + requestOptions?: BankAccountsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__createBankAccount(request, requestOptions)); + } + + private async __createBankAccount( + request: Square.CreateBankAccountRequest, + requestOptions?: BankAccountsClient.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 ?? "2026-01-22" }), + requestOptions?.headers, + ); + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.SquareEnvironment.Production, + "v2/bank-accounts", + ), + method: "POST", + headers: _headers, + contentType: "application/json", + queryParameters: requestOptions?.queryParams, + requestType: "json", + body: serializers.CreateBankAccountRequest.jsonOrThrow(request, { + unrecognizedObjectKeys: "strip", + omitUndefined: true, + }), + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: serializers.CreateBankAccountResponse.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.SquareError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v2/bank-accounts"); + } + /** * Returns details of a [BankAccount](entity:BankAccount) identified by V1 bank account ID. * @@ -150,12 +210,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 ?? "2026-01-22" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -195,28 +254,16 @@ 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}", + ); } /** - * Returns details of a [BankAccount](entity:BankAccount) - * linked to a Square account. + * Retrieve details of a [BankAccount](entity:BankAccount) bank account linked to a Square account. * * @param {Square.GetBankAccountsRequest} request * @param {BankAccountsClient.RequestOptions} requestOptions - Request-specific configuration. @@ -238,12 +285,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 ?? "2026-01-22" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -283,31 +329,86 @@ 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, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/v2/bank-accounts/{bank_account_id}", + ); + } + + /** + * Disable a bank account. + * + * @param {Square.DisableBankAccountRequest} request + * @param {BankAccountsClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @example + * await client.bankAccounts.disableBankAccount({ + * bankAccountId: "bank_account_id" + * }) + */ + public disableBankAccount( + request: Square.DisableBankAccountRequest, + requestOptions?: BankAccountsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__disableBankAccount(request, requestOptions)); } - protected async _getAuthorizationHeader(): Promise { - const bearer = (await core.Supplier.get(this._options.token)) ?? process?.env.SQUARE_TOKEN; - if (bearer != null) { - return `Bearer ${bearer}`; + private async __disableBankAccount( + request: Square.DisableBankAccountRequest, + 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({ "Square-Version": requestOptions?.version ?? "2026-01-22" }), + requestOptions?.headers, + ); + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.SquareEnvironment.Production, + `v2/bank-accounts/${core.url.encodePathParam(bankAccountId)}/disable`, + ), + method: "POST", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: serializers.DisableBankAccountResponse.parseOrThrow(_response.body, { + unrecognizedObjectKeys: "passthrough", + allowUnrecognizedUnionMembers: true, + allowUnrecognizedEnumValues: true, + skipValidation: true, + breadcrumbsPrefix: ["response"], + }), + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + throw new errors.SquareError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); } - return undefined; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/v2/bank-accounts/{bank_account_id}/disable", + ); } } diff --git a/src/api/resources/bankAccounts/client/requests/CreateBankAccountRequest.ts b/src/api/resources/bankAccounts/client/requests/CreateBankAccountRequest.ts new file mode 100644 index 000000000..72ed500db --- /dev/null +++ b/src/api/resources/bankAccounts/client/requests/CreateBankAccountRequest.ts @@ -0,0 +1,24 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * @example + * { + * idempotencyKey: "4e43559a-f0fd-47d3-9da2-7ea1f97d94be", + * sourceId: "bnon:CA4SEHsQwr0rx6DbWLD5BQaqMnoYAQ", + * customerId: "HM3B2D5JKGZ69359BTEHXM2V8M" + * } + */ +export interface CreateBankAccountRequest { + /** + * Unique ID. For more information, see the + * [Idempotency](https://developer.squareup.com/docs/working-with-apis/idempotency). + */ + idempotencyKey: string; + /** + * The ID of the source that represents the bank account information to be stored. This field + * accepts the payment token created by WebSDK + */ + sourceId: string; + /** The ID of the customer associated with the bank account to be stored. */ + customerId?: string; +} diff --git a/src/api/resources/bankAccounts/client/requests/DisableBankAccountRequest.ts b/src/api/resources/bankAccounts/client/requests/DisableBankAccountRequest.ts new file mode 100644 index 000000000..b7100fd46 --- /dev/null +++ b/src/api/resources/bankAccounts/client/requests/DisableBankAccountRequest.ts @@ -0,0 +1,12 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * @example + * { + * bankAccountId: "bank_account_id" + * } + */ +export interface DisableBankAccountRequest { + /** The ID of the bank account to disable. */ + bankAccountId: string; +} diff --git a/src/api/resources/bankAccounts/client/requests/ListBankAccountsRequest.ts b/src/api/resources/bankAccounts/client/requests/ListBankAccountsRequest.ts index 37f1757c6..a81b3e85b 100644 --- a/src/api/resources/bankAccounts/client/requests/ListBankAccountsRequest.ts +++ b/src/api/resources/bankAccounts/client/requests/ListBankAccountsRequest.ts @@ -5,7 +5,8 @@ * { * cursor: "cursor", * limit: 1, - * locationId: "location_id" + * locationId: "location_id", + * customerId: "customer_id" * } */ export interface ListBankAccountsRequest { @@ -28,4 +29,9 @@ export interface ListBankAccountsRequest { * to retrieve only the linked bank accounts belonging to a specific location. */ locationId?: string | null; + /** + * Customer ID. You can specify this optional filter + * to retrieve only the linked bank accounts belonging to a specific customer. + */ + customerId?: string | null; } diff --git a/src/api/resources/bankAccounts/client/requests/index.ts b/src/api/resources/bankAccounts/client/requests/index.ts index f20aad70e..c6e0a420a 100644 --- a/src/api/resources/bankAccounts/client/requests/index.ts +++ b/src/api/resources/bankAccounts/client/requests/index.ts @@ -1,3 +1,5 @@ +export type { CreateBankAccountRequest } from "./CreateBankAccountRequest"; +export type { DisableBankAccountRequest } from "./DisableBankAccountRequest"; export type { GetBankAccountsRequest } from "./GetBankAccountsRequest"; export type { GetByV1IdBankAccountsRequest } from "./GetByV1IdBankAccountsRequest"; export type { ListBankAccountsRequest } from "./ListBankAccountsRequest"; diff --git a/src/api/resources/bookings/client/Client.ts b/src/api/resources/bookings/client/Client.ts index 423a86aba..9769ccc19 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..04a816883 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..8098531b1 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..e8ea63696 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 ?? "2026-01-22" }), 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..e48b40fce 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..5d28cc35a 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..017c06cfa 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..304ef09dd 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..b2fb2b341 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,15 +64,16 @@ 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", + "Square-Version": requestOptions?.version ?? "2026-01-22", ..._maybeEncodedRequest.headers, }), requestOptions?.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,15 +161,16 @@ 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", + "Square-Version": requestOptions?.version ?? "2026-01-22", ..._maybeEncodedRequest.headers, }), requestOptions?.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..bb3939987 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..0ced69429 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..7d835a481 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..4b7f7ba83 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..162b6e3ba 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..1d7f05816 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..3ae12d356 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..20afedefe 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..8f37807b7 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..89bcfb50a 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..28830090e 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..04eee05f7 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..56fde87bc 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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,15 +306,16 @@ 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", + "Square-Version": requestOptions?.version ?? "2026-01-22", ..._maybeEncodedRequest.headers, }), requestOptions?.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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..0ac305619 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..0323060c1 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..218dd8f11 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..39ab053da 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..96689d8db 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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/index.ts b/src/api/resources/index.ts index 92b50160e..cc68fc92a 100644 --- a/src/api/resources/index.ts +++ b/src/api/resources/index.ts @@ -38,7 +38,6 @@ export * from "./loyalty/client/requests"; export * as merchants from "./merchants"; export * from "./merchants/client/requests"; export * as mobile from "./mobile"; -export * from "./mobile/client/requests"; export * as oAuth from "./oAuth"; export * from "./oAuth/client/requests"; export * as orders from "./orders"; diff --git a/src/api/resources/inventory/client/Client.ts b/src/api/resources/inventory/client/Client.ts index b9bb81d50..deb5f2b1d 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..d44d76726 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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,15 +596,16 @@ 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", + "Square-Version": requestOptions?.version ?? "2026-01-22", ..._maybeEncodedRequest.headers, }), requestOptions?.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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..88a461a24 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..ff306dddc 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..5d7b593b6 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..9c82f3269 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..38daafa10 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..014468f92 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..8775fab85 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..23ca76c2f 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..6850b2ace 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..bde71873f 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..e730ee672 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 ?? "2026-01-22" }), 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..50d313ffc 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..ef10313b8 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..2fedde461 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..8bb937800 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..806dacd6e 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..44274542a 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..90bb822d5 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..52fb86c8f 100644 --- a/src/api/resources/mobile/client/Client.ts +++ b/src/api/resources/mobile/client/Client.ts @@ -1,69 +1,44 @@ // 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); } /** - * __Note:__ This endpoint is used by the deprecated Reader SDK. - * Developers should update their integration to use the [Mobile Payments SDK](https://developer.squareup.com/docs/mobile-payments-sdk), which includes its own authorization methods. - * - * Generates code to authorize a mobile application to connect to a Square card reader. - * - * Authorization codes are one-time-use codes and expire 60 minutes after being issued. - * - * The `Authorization` header you provide to this endpoint must have the following format: - * - * ``` - * Authorization: Bearer ACCESS_TOKEN - * ``` - * - * Replace `ACCESS_TOKEN` with a - * [valid production authorization credential](https://developer.squareup.com/docs/build-basics/access-tokens). - * - * @param {Square.CreateMobileAuthorizationCodeRequest} request * @param {MobileClient.RequestOptions} requestOptions - Request-specific configuration. * * @example - * await client.mobile.authorizationCode({ - * locationId: "YOUR_LOCATION_ID" - * }) + * await client.mobile.authorizationCode() */ - public authorizationCode( - request: Square.CreateMobileAuthorizationCodeRequest = {}, - requestOptions?: MobileClient.RequestOptions, - ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__authorizationCode(request, requestOptions)); + public authorizationCode(requestOptions?: MobileClient.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__authorizationCode(requestOptions)); } private async __authorizationCode( - request: Square.CreateMobileAuthorizationCodeRequest = {}, requestOptions?: MobileClient.RequestOptions, - ): Promise> { + ): 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 ?? "2026-01-22" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -75,13 +50,7 @@ export class MobileClient { ), method: "POST", headers: _headers, - contentType: "application/json", queryParameters: requestOptions?.queryParams, - requestType: "json", - body: serializers.CreateMobileAuthorizationCodeRequest.jsonOrThrow(request, { - unrecognizedObjectKeys: "strip", - omitUndefined: true, - }), timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, @@ -89,16 +58,7 @@ export class MobileClient { logging: this._options.logging, }); if (_response.ok) { - return { - data: serializers.CreateMobileAuthorizationCodeResponse.parseOrThrow(_response.body, { - unrecognizedObjectKeys: "passthrough", - allowUnrecognizedUnionMembers: true, - allowUnrecognizedEnumValues: true, - skipValidation: true, - breadcrumbsPrefix: ["response"], - }), - rawResponse: _response.rawResponse, - }; + return { data: undefined, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { @@ -109,29 +69,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/mobile/client/index.ts b/src/api/resources/mobile/client/index.ts index 415726b7f..cb0ff5c3b 100644 --- a/src/api/resources/mobile/client/index.ts +++ b/src/api/resources/mobile/client/index.ts @@ -1 +1 @@ -export * from "./requests"; +export {}; diff --git a/src/api/resources/mobile/client/requests/CreateMobileAuthorizationCodeRequest.ts b/src/api/resources/mobile/client/requests/CreateMobileAuthorizationCodeRequest.ts deleted file mode 100644 index df2769fdb..000000000 --- a/src/api/resources/mobile/client/requests/CreateMobileAuthorizationCodeRequest.ts +++ /dev/null @@ -1,12 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -/** - * @example - * { - * locationId: "YOUR_LOCATION_ID" - * } - */ -export interface CreateMobileAuthorizationCodeRequest { - /** The Square location ID that the authorization code should be tied to. */ - locationId?: string; -} diff --git a/src/api/resources/mobile/client/requests/index.ts b/src/api/resources/mobile/client/requests/index.ts deleted file mode 100644 index 45b5f1dc6..000000000 --- a/src/api/resources/mobile/client/requests/index.ts +++ /dev/null @@ -1 +0,0 @@ -export type { CreateMobileAuthorizationCodeRequest } from "./CreateMobileAuthorizationCodeRequest"; diff --git a/src/api/resources/oAuth/client/Client.ts b/src/api/resources/oAuth/client/Client.ts index e5078aa95..ae6ef170b 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 ?? "2026-01-22" }), 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"); } /** @@ -173,7 +159,7 @@ export class OAuthClient { ): Promise> { const _headers: core.Fetcher.Args["headers"] = mergeHeaders( this._options?.headers, - mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2025-10-16" }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2026-01-22" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -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 ?? "2026-01-22" }), 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,9 +296,11 @@ 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" }), + mergeOnlyDefinedHeaders({ "Square-Version": requestOptions?.version ?? "2026-01-22" }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -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/oAuth/client/requests/ObtainTokenRequest.ts b/src/api/resources/oAuth/client/requests/ObtainTokenRequest.ts index 3c64b3297..7e0074727 100644 --- a/src/api/resources/oAuth/client/requests/ObtainTokenRequest.ts +++ b/src/api/resources/oAuth/client/requests/ObtainTokenRequest.ts @@ -88,4 +88,10 @@ export interface ObtainTokenRequest { * Required for the PKCE flow if `grant_type` is `authorization_code`. */ codeVerifier?: string | null; + /** + * Indicates whether to use a JWT (JSON Web Token) as the OAuth access token. + * When set to `true`, the OAuth flow returns a JWT to your application, used in the + * same way as a regular token. The default value is `false`. + */ + useJwt?: boolean | null; } diff --git a/src/api/resources/orders/client/Client.ts b/src/api/resources/orders/client/Client.ts index f274686c4..3adb7f550 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..a5c00195d 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..5c7a0bbcb 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..f371692d4 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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/payments/client/requests/CreatePaymentRequest.ts b/src/api/resources/payments/client/requests/CreatePaymentRequest.ts index 1bb38cec3..bf7db074f 100644 --- a/src/api/resources/payments/client/requests/CreatePaymentRequest.ts +++ b/src/api/resources/payments/client/requests/CreatePaymentRequest.ts @@ -61,6 +61,8 @@ export interface CreatePaymentRequest { * (for example, US dollar amounts are specified in cents). For more information, see * [Working with Monetary Amounts](https://developer.squareup.com/docs/build-basics/working-with-monetary-amounts). * + * Tips for external vendors such as a 3rd party delivery courier must be recorded using Order.service_charges. + * * The currency code must match the currency associated with the business * that is accepting the payment. */ diff --git a/src/api/resources/payouts/client/Client.ts b/src/api/resources/payouts/client/Client.ts index b45ec7dd2..84f2e1ba7 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..fbe971b12 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..52fba3673 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 ?? "2026-01-22" }), 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..e506e6d5a 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..24d3cd289 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..a1e59e27f 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..6389162b7 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..5abfae9e6 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..534a96487 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..e9ac30dc2 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..067ad3564 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..0979ddfa9 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..6f2dfdb5a 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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", + ); } /** @@ -700,12 +624,12 @@ export class TransferOrdersClient { * idempotencyKey: "EXAMPLE_IDEMPOTENCY_KEY_101", * receipt: { * lineItems: [{ - * transferOrderLineUid: "transfer_order_line_uid", + * transferOrderLineUid: "1", * quantityReceived: "3", * quantityDamaged: "1", * quantityCanceled: "1" * }, { - * transferOrderLineUid: "transfer_order_line_uid", + * transferOrderLineUid: "2", * quantityReceived: "2", * quantityCanceled: "1" * }] @@ -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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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/transferOrders/client/requests/ReceiveTransferOrderRequest.ts b/src/api/resources/transferOrders/client/requests/ReceiveTransferOrderRequest.ts index 8b3bb7497..d0c1d372b 100644 --- a/src/api/resources/transferOrders/client/requests/ReceiveTransferOrderRequest.ts +++ b/src/api/resources/transferOrders/client/requests/ReceiveTransferOrderRequest.ts @@ -9,12 +9,12 @@ import type * as Square from "../../../../index"; * idempotencyKey: "EXAMPLE_IDEMPOTENCY_KEY_101", * receipt: { * lineItems: [{ - * transferOrderLineUid: "transfer_order_line_uid", + * transferOrderLineUid: "1", * quantityReceived: "3", * quantityDamaged: "1", * quantityCanceled: "1" * }, { - * transferOrderLineUid: "transfer_order_line_uid", + * transferOrderLineUid: "2", * quantityReceived: "2", * quantityCanceled: "1" * }] diff --git a/src/api/resources/v1Transactions/client/Client.ts b/src/api/resources/v1Transactions/client/Client.ts index d5513f1b8..17cc73d11 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..5ed3f17b0 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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..c0273db6d 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 ?? "2026-01-22" }), 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..9586272d1 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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 ?? "2026-01-22" }), 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/BankAccount.ts b/src/api/types/BankAccount.ts index 83f68f4f8..327239d12 100644 --- a/src/api/types/BankAccount.ts +++ b/src/api/types/BankAccount.ts @@ -81,4 +81,6 @@ export interface BankAccount { * For example "Bank of America". */ bankName?: string | null; + /** The ID of the customer who owns the bank account */ + customerId?: string; } diff --git a/src/api/types/BuyNowPayLaterDetails.ts b/src/api/types/BuyNowPayLaterDetails.ts index 3784c04e1..b6e71bb52 100644 --- a/src/api/types/BuyNowPayLaterDetails.ts +++ b/src/api/types/BuyNowPayLaterDetails.ts @@ -21,4 +21,6 @@ export interface BuyNowPayLaterDetails { * `CLEARPAY`. */ clearpayDetails?: Square.ClearpayDetails; + /** Information about errors encountered during the payment. */ + errors?: Square.Error_[]; } diff --git a/src/api/types/Card.ts b/src/api/types/Card.ts index e4f40600a..69d00f708 100644 --- a/src/api/types/Card.ts +++ b/src/api/types/Card.ts @@ -62,6 +62,10 @@ export interface Card { * returns this field. */ bin?: string; + /** Timestamp for when the card object was created on Square’s servers. In RFC 3339 format, e.g., "2016-09-04T23:59:33.123Z". */ + createdAt?: string; + /** Timestamp for when the card object was disabled on Square’s servers. In RFC 3339 format, e.g., "2016-09-04T23:59:33.123Z". */ + disabledAt?: string; /** * Current version number of the card. Increments with each card update. Requests to update an * existing Card object will be rejected unless the version in the request matches the current diff --git a/src/api/types/CatalogItem.ts b/src/api/types/CatalogItem.ts index e3fcba9a5..487aad0e8 100644 --- a/src/api/types/CatalogItem.ts +++ b/src/api/types/CatalogItem.ts @@ -29,6 +29,8 @@ export interface CatalogItem { isTaxable?: boolean | null; /** The ID of the item's category, if any. Deprecated since 2023-12-13. Use `CatalogItem.categories`, instead. */ categoryId?: string | null; + /** The override to a product name to display to users */ + buyerFacingName?: string | null; /** * A set of IDs indicating the taxes enabled for * this item. When updating an item, any taxes listed here will be added to the item. @@ -121,6 +123,13 @@ export interface CatalogItem { descriptionHtml?: string | null; /** A server-generated plaintext version of the `description_html` field, without formatting tags. */ descriptionPlaintext?: string; + /** + * (Optional) Name that the restaurant wants to display to their kitchen workers + * instead of the customer-facing name. + * e.g., customer name might be "Big John's Mega Burger" and the + * kitchen name is "12oz beef burger" + */ + kitchenName?: string | null; /** * A list of IDs representing channels, such as a Square Online site, where the item can be made visible or available. * This field is read only and cannot be edited. diff --git a/src/api/types/CatalogItemModifierListInfo.ts b/src/api/types/CatalogItemModifierListInfo.ts index fc23c1005..4f43651c0 100644 --- a/src/api/types/CatalogItemModifierListInfo.ts +++ b/src/api/types/CatalogItemModifierListInfo.ts @@ -40,7 +40,31 @@ export interface CatalogItemModifierListInfo { * to a `CatalogItem` instance. */ ordinal?: number | null; - allowQuantities?: unknown; - isConversational?: unknown; - hiddenFromCustomerOverride?: unknown; + /** + * Controls whether multiple quantities of the same modifier can be selected for this item. + * - `YES` means that every modifier in the `CatalogModifierList` can have multiple quantities + * selected for this item. + * - `NO` means that each modifier in the `CatalogModifierList` can be selected only once for this item. + * - `NOT_SET` means that the `allow_quantities` setting on the `CatalogModifierList` is obeyed. + * See [CatalogModifierToggleOverrideType](#type-catalogmodifiertoggleoverridetype) for possible values + */ + allowQuantities?: Square.CatalogModifierToggleOverrideType; + /** + * Controls whether conversational mode is enabled for modifiers on this item. + * + * - `YES` means conversational mode is enabled for every modifier in the `CatalogModifierList`. + * - `NO` means that conversational mode is not enabled for any modifier in the `CatalogModifierList`. + * - `NOT_SET` means that conversational mode is not enabled for any modifier in the `CatalogModifierList`. + * See [CatalogModifierToggleOverrideType](#type-catalogmodifiertoggleoverridetype) for possible values + */ + isConversational?: Square.CatalogModifierToggleOverrideType; + /** + * Controls whether all modifiers for this item are hidden from customer receipts. + * - `YES` means that all modifiers in the `CatalogModifierList` are hidden from customer + * receipts for this item. + * - `NO` means that all modifiers in the `CatalogModifierList` are visible on customer receipts for this item. + * - `NOT_SET` means that the `hidden_from_customer` setting on the `CatalogModifierList` is obeyed. + * See [CatalogModifierToggleOverrideType](#type-catalogmodifiertoggleoverridetype) for possible values + */ + hiddenFromCustomerOverride?: Square.CatalogModifierToggleOverrideType; } diff --git a/src/api/types/CatalogItemVariation.ts b/src/api/types/CatalogItemVariation.ts index 73678d9ea..5911352d1 100644 --- a/src/api/types/CatalogItemVariation.ts +++ b/src/api/types/CatalogItemVariation.ts @@ -122,4 +122,11 @@ export interface CatalogItemVariation { * another unit. */ stockableConversion?: Square.CatalogStockConversion; + /** + * (Optional) Name that the restaurant wants to display to their kitchen workers + * instead of the customer-facing name. + * e.g., customer name might be "Mega-Jumbo Triplesized" and the + * kitchen name is "Large container" + */ + kitchenName?: string | null; } diff --git a/src/api/types/CatalogModifier.ts b/src/api/types/CatalogModifier.ts index ae423df0f..36bbcdaad 100644 --- a/src/api/types/CatalogModifier.ts +++ b/src/api/types/CatalogModifier.ts @@ -21,6 +21,13 @@ export interface CatalogModifier { modifierListId?: string | null; /** Location-specific price overrides. */ locationOverrides?: Square.ModifierLocationOverrides[] | null; + /** + * (Optional) Name that the restaurant wants to display to their kitchen workers + * instead of the customer-facing name. + * e.g., customer name might be "Double Baconize" and the + * kitchen name is "Add 2x bacon" + */ + kitchenName?: string | null; /** * The ID of the image associated with this `CatalogModifier` instance. * Currently this image is not displayed by Square, but is free to be displayed in 3rd party applications. diff --git a/src/api/types/CatalogModifierOverride.ts b/src/api/types/CatalogModifierOverride.ts index 7ce823aa2..dbe1a65f8 100644 --- a/src/api/types/CatalogModifierOverride.ts +++ b/src/api/types/CatalogModifierOverride.ts @@ -1,5 +1,7 @@ // This file was auto-generated by Fern from our API Definition. +import type * as Square from "../index"; + /** * Options to control how to override the default behavior of the specified modifier. */ @@ -8,6 +10,21 @@ export interface CatalogModifierOverride { modifierId: string; /** __Deprecated__: Use `on_by_default_override` instead. */ onByDefault?: boolean | null; - hiddenOnlineOverride?: unknown; - onByDefaultOverride?: unknown; + /** + * If `YES`, this setting overrides the `hidden_online` setting on the `CatalogModifier` object, + * and the modifier is always hidden from online sales channels. + * If `NO`, the modifier is not hidden. It is always visible in online sales channels for this catalog item. + * `NOT_SET` means the `hidden_online` setting on the `CatalogModifier` object is obeyed. + * See [CatalogModifierToggleOverrideType](#type-catalogmodifiertoggleoverridetype) for possible values + */ + hiddenOnlineOverride?: Square.CatalogModifierToggleOverrideType; + /** + * If `YES`, this setting overrides the `on_by_default` setting on the `CatalogModifier` object, + * and the modifier is always selected by default for the catalog item. + * + * If `NO`, the modifier is not selected by default for this catalog item. + * `NOT_SET` means the `on_by_default` setting on the `CatalogModifier` object is obeyed. + * See [CatalogModifierToggleOverrideType](#type-catalogmodifiertoggleoverridetype) for possible values + */ + onByDefaultOverride?: Square.CatalogModifierToggleOverrideType; } diff --git a/src/api/types/CatalogModifierToggleOverrideType.ts b/src/api/types/CatalogModifierToggleOverrideType.ts new file mode 100644 index 000000000..7c7886073 --- /dev/null +++ b/src/api/types/CatalogModifierToggleOverrideType.ts @@ -0,0 +1,10 @@ +// This file was auto-generated by Fern from our API Definition. + +/** Item level overrides for bool attributes */ +export const CatalogModifierToggleOverrideType = { + No: "NO", + Yes: "YES", + NotSet: "NOT_SET", +} as const; +export type CatalogModifierToggleOverrideType = + (typeof CatalogModifierToggleOverrideType)[keyof typeof CatalogModifierToggleOverrideType]; diff --git a/src/api/types/CatalogProductSet.ts b/src/api/types/CatalogProductSet.ts index ec01f4b80..80dc6bf18 100644 --- a/src/api/types/CatalogProductSet.ts +++ b/src/api/types/CatalogProductSet.ts @@ -23,7 +23,7 @@ export interface CatalogProductSet { * * Only one of `product_ids_all`, `product_ids_any`, or `all_products` can be set. * - * Max: 500 catalog object IDs. + * Max: 5000 catalog object IDs. */ productIdsAny?: string[] | null; /** @@ -32,7 +32,7 @@ export interface CatalogProductSet { * * Only one of `product_ids_all`, `product_ids_any`, or `all_products` can be set. * - * Max: 500 catalog object IDs. + * Max: 5000 catalog object IDs. */ productIdsAll?: string[] | null; /** diff --git a/src/api/types/CreateBankAccountResponse.ts b/src/api/types/CreateBankAccountResponse.ts new file mode 100644 index 000000000..4a94e42a5 --- /dev/null +++ b/src/api/types/CreateBankAccountResponse.ts @@ -0,0 +1,13 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Square from "../index"; + +/** + * Response object returned by CreateBankAccount. + */ +export interface CreateBankAccountResponse { + /** The 'BankAccount' that was created. */ + bankAccount?: Square.BankAccount; + /** Information on errors encountered during the request. */ + errors?: Square.Error_[]; +} diff --git a/src/api/types/CreateMobileAuthorizationCodeResponse.ts b/src/api/types/CreateMobileAuthorizationCodeResponse.ts deleted file mode 100644 index 5c0ba9ad4..000000000 --- a/src/api/types/CreateMobileAuthorizationCodeResponse.ts +++ /dev/null @@ -1,22 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Square from "../index"; - -/** - * Defines the fields that are included in the response body of - * a request to the `CreateMobileAuthorizationCode` endpoint. - */ -export interface CreateMobileAuthorizationCodeResponse { - /** - * The generated authorization code that connects a mobile application instance - * to a Square account. - */ - authorizationCode?: string; - /** - * The timestamp when `authorization_code` expires, in - * [RFC 3339](https://tools.ietf.org/html/rfc3339) format (for example, "2016-09-04T23:59:33.123Z"). - */ - expiresAt?: string; - /** Any errors that occurred during the request. */ - errors?: Square.Error_[]; -} diff --git a/src/api/types/DeviceCheckoutOptions.ts b/src/api/types/DeviceCheckoutOptions.ts index b8c03f2b3..cd8a63a68 100644 --- a/src/api/types/DeviceCheckoutOptions.ts +++ b/src/api/types/DeviceCheckoutOptions.ts @@ -20,4 +20,11 @@ export interface DeviceCheckoutOptions { * checkout includes an order ID. Defaults to true. */ showItemizedCart?: boolean | null; + /** + * Controls whether the mobile client applies Auto Card Surcharge (ACS) during checkout. + * If true, ACS is applied based on Dashboard configuration. + * If false, ACS is not applied regardless of that configuration. + * For more information, see [Add a Card Surcharge](https://developer.squareupstaging.com/docs/terminal-api/additional-payment-checkout-features#add-a-card-surcharge). + */ + allowAutoCardSurcharge?: boolean | null; } diff --git a/src/api/types/DigitalWalletDetails.ts b/src/api/types/DigitalWalletDetails.ts index 0f517c33e..cd30be5bb 100644 --- a/src/api/types/DigitalWalletDetails.ts +++ b/src/api/types/DigitalWalletDetails.ts @@ -13,9 +13,11 @@ export interface DigitalWalletDetails { status?: string | null; /** * The brand used for the `WALLET` payment. The brand can be `CASH_APP`, `PAYPAY`, `ALIPAY`, - * `RAKUTEN_PAY`, `AU_PAY`, `D_BARAI`, `MERPAY`, `WECHAT_PAY` or `UNKNOWN`. + * `RAKUTEN_PAY`, `AU_PAY`, `D_BARAI`, `MERPAY`, `WECHAT_PAY`, `LIGHTNING` or `UNKNOWN`. */ brand?: string | null; /** Brand-specific details for payments with the `brand` of `CASH_APP`. */ cashAppDetails?: Square.CashAppDetails; + /** Information about errors encountered during the payment. */ + errors?: Square.Error_[]; } diff --git a/src/api/types/DisableBankAccountResponse.ts b/src/api/types/DisableBankAccountResponse.ts new file mode 100644 index 000000000..352c36a42 --- /dev/null +++ b/src/api/types/DisableBankAccountResponse.ts @@ -0,0 +1,13 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Square from "../index"; + +/** + * Response object returned by `DisableBankAccount`. + */ +export interface DisableBankAccountResponse { + /** The disabled 'BankAccount' */ + bankAccount?: Square.BankAccount; + /** Information on errors encountered during the request. */ + errors?: Square.Error_[]; +} diff --git a/src/api/types/ErrorCode.ts b/src/api/types/ErrorCode.ts index b0064d470..cf44f9c73 100644 --- a/src/api/types/ErrorCode.ts +++ b/src/api/types/ErrorCode.ts @@ -117,6 +117,7 @@ export const ErrorCode = { UnsupportedLoyaltyRewardTier: "UNSUPPORTED_LOYALTY_REWARD_TIER", LocationMismatch: "LOCATION_MISMATCH", OrderUnpaidNotReturnable: "ORDER_UNPAID_NOT_RETURNABLE", + PartialPaymentDelayCaptureNotSupported: "PARTIAL_PAYMENT_DELAY_CAPTURE_NOT_SUPPORTED", IdempotencyKeyReused: "IDEMPOTENCY_KEY_REUSED", UnexpectedValue: "UNEXPECTED_VALUE", SandboxNotSupported: "SANDBOX_NOT_SUPPORTED", @@ -132,6 +133,7 @@ export const ErrorCode = { PlaidError: "PLAID_ERROR", PlaidErrorItemLoginRequired: "PLAID_ERROR_ITEM_LOGIN_REQUIRED", PlaidErrorRateLimit: "PLAID_ERROR_RATE_LIMIT", + PaymentSourceNotEnabledForTarget: "PAYMENT_SOURCE_NOT_ENABLED_FOR_TARGET", CardDeclined: "CARD_DECLINED", VerifyCvvFailure: "VERIFY_CVV_FAILURE", VerifyAvsFailure: "VERIFY_AVS_FAILURE", diff --git a/src/api/types/FulfillmentDeliveryDetails.ts b/src/api/types/FulfillmentDeliveryDetails.ts index fa73fce19..8e016f443 100644 --- a/src/api/types/FulfillmentDeliveryDetails.ts +++ b/src/api/types/FulfillmentDeliveryDetails.ts @@ -10,7 +10,7 @@ export interface FulfillmentDeliveryDetails { recipient?: Square.FulfillmentRecipient; /** * Indicates the fulfillment delivery schedule type. If `SCHEDULED`, then - * `deliver_at` is required. If `ASAP`, then `prep_time_duration` is required. The default is `SCHEDULED`. + * `deliver_at` is required. The default is `SCHEDULED`. * See [OrderFulfillmentDeliveryDetailsScheduleType](#type-orderfulfillmentdeliverydetailsscheduletype) for possible values */ scheduleType?: Square.FulfillmentDeliveryDetailsOrderFulfillmentDeliveryDetailsScheduleType; @@ -25,28 +25,33 @@ export interface FulfillmentDeliveryDetails { /** * The [timestamp](https://developer.squareup.com/docs/build-basics/working-with-dates) * that represents the start of the delivery period. - * When the fulfillment `schedule_type` is `ASAP`, the field is automatically - * set to the current time plus the `prep_time_duration`. - * Otherwise, the application can set this field while the fulfillment `state` is + * The application can set this field while the fulfillment `state` is * `PROPOSED`, `RESERVED`, or `PREPARED` (any time before the * terminal state such as `COMPLETED`, `CANCELED`, and `FAILED`). * * The timestamp must be in RFC 3339 format * (for example, "2016-09-04T23:59:33.123Z"). + * + * For fulfillments with the schedule type `ASAP`, this is automatically set + * to the current time plus `prep_time_duration`, if available. */ deliverAt?: string | null; /** - * The duration of time it takes to prepare and deliver this fulfillment. - * The duration must be in RFC 3339 format (for example, "P1W3D"). + * The [duration](https://developer.squareup.com/docs/build-basics/working-with-dates) + * needed to prepare and deliver this fulfillment. + * The duration must be in RFC 3339 format (for example, "PT30M" for 30 minutes). Don't confuse + * "M" for months with "M" for minutes. "P5M" means 5 months, while "PT5M" means 5 minutes. */ prepTimeDuration?: string | null; /** - * The time period after `deliver_at` in which to deliver the order. + * The [duration](https://developer.squareup.com/docs/build-basics/working-with-dates) + * after `deliver_at` in which to deliver the order. * Applications can set this field when the fulfillment `state` is * `PROPOSED`, `RESERVED`, or `PREPARED` (any time before the terminal state * such as `COMPLETED`, `CANCELED`, and `FAILED`). * - * The duration must be in RFC 3339 format (for example, "P1W3D"). + * The duration must be in RFC 3339 format (for example, "PT30M" for 30 minutes). Don't confuse + * "M" for months with "M" for minutes. "P5M" means 5 months, while "PT5M" means 5 minutes. */ deliveryWindowDuration?: string | null; /** @@ -106,8 +111,10 @@ export interface FulfillmentDeliveryDetails { */ courierPickupAt?: string | null; /** - * The time period after `courier_pickup_at` in which the courier should pick up the order. - * The duration must be in RFC 3339 format (for example, "P1W3D"). + * The [duration](https://developer.squareup.com/docs/build-basics/working-with-dates) + * after `courier_pickup_at` in which the courier should pick up the order. + * The duration must be in RFC 3339 format (for example, "PT30M" for 30 minutes). Don't confuse + * "M" for months with "M" for minutes. "P5M" means 5 months, while "PT5M" means 5 minutes. */ courierPickupWindowDuration?: string | null; /** Whether the delivery is preferred to be no contact. */ diff --git a/src/api/types/FulfillmentPickupDetails.ts b/src/api/types/FulfillmentPickupDetails.ts index fbdc0c029..78f30e8d1 100644 --- a/src/api/types/FulfillmentPickupDetails.ts +++ b/src/api/types/FulfillmentPickupDetails.ts @@ -20,8 +20,9 @@ export interface FulfillmentPickupDetails { */ expiresAt?: string | null; /** - * The duration of time after which an in progress pickup fulfillment is automatically moved - * to the `COMPLETED` state. The duration must be in RFC 3339 format (for example, "P1W3D"). + * The [duration](https://developer.squareup.com/docs/build-basics/working-with-dates) + * after which an in-progress pickup fulfillment is automatically moved + * to the `COMPLETED` state. The duration must be in RFC 3339 format (for example, "PT4H" for 4 hours). * * If not set, this pickup fulfillment remains in progress until it is canceled or completed. */ @@ -37,18 +38,23 @@ export interface FulfillmentPickupDetails { * "2016-09-04T23:59:33.123Z". * * For fulfillments with the schedule type `ASAP`, this is automatically set - * to the current time plus the expected duration to prepare the fulfillment. + * to the current time plus `prep_time_duration`, if available. */ pickupAt?: string | null; /** - * The window of time in which the order should be picked up after the `pickup_at` timestamp. - * Must be in RFC 3339 duration format, e.g., "P1W3D". Can be used as an - * informational guideline for merchants. + * The [duration](https://developer.squareup.com/docs/build-basics/working-with-dates) + * in which the order should be picked up after the `pickup_at` timestamp. + * The duration must be in RFC 3339 format (for example, "PT30M" for 30 minutes). Don't confuse + * "M" for months with "M" for minutes. "P5M" means 5 months, while "PT5M" means 5 minutes. + * + * Can be used as an informational guideline for merchants. */ pickupWindowDuration?: string | null; /** - * The duration of time it takes to prepare this fulfillment. - * The duration must be in RFC 3339 format (for example, "P1W3D"). + * The [duration](https://developer.squareup.com/docs/build-basics/working-with-dates) + * needed to prepare this fulfillment. + * The duration must be in RFC 3339 format (for example, "PT30M" for 30 minutes). Don't confuse + * "M" for months with "M" for minutes. "P5M" means 5 months, while "PT5M" means 5 minutes. */ prepTimeDuration?: string | null; /** diff --git a/src/api/types/GetBankAccountResponse.ts b/src/api/types/GetBankAccountResponse.ts index 10a5a9994..f0c0651c7 100644 --- a/src/api/types/GetBankAccountResponse.ts +++ b/src/api/types/GetBankAccountResponse.ts @@ -6,8 +6,8 @@ import type * as Square from "../index"; * Response object returned by `GetBankAccount`. */ export interface GetBankAccountResponse { - /** Information on errors encountered during the request. */ - errors?: Square.Error_[]; /** The requested `BankAccount` object. */ bankAccount?: Square.BankAccount; + /** Information on errors encountered during the request. */ + errors?: Square.Error_[]; } diff --git a/src/api/types/ListBankAccountsResponse.ts b/src/api/types/ListBankAccountsResponse.ts index a46626b74..957fd8f38 100644 --- a/src/api/types/ListBankAccountsResponse.ts +++ b/src/api/types/ListBankAccountsResponse.ts @@ -6,10 +6,10 @@ import type * as Square from "../index"; * Response object returned by ListBankAccounts. */ export interface ListBankAccountsResponse { - /** Information on errors encountered during the request. */ - errors?: Square.Error_[]; /** List of BankAccounts associated with this account. */ bankAccounts?: Square.BankAccount[]; + /** Information on errors encountered during the request. */ + errors?: Square.Error_[]; /** * When a response is truncated, it includes a cursor that you can * use in a subsequent request to fetch next set of bank accounts. diff --git a/src/api/types/OrderCardSurchargeTreatmentType.ts b/src/api/types/OrderCardSurchargeTreatmentType.ts new file mode 100644 index 000000000..b0bd4a2ad --- /dev/null +++ b/src/api/types/OrderCardSurchargeTreatmentType.ts @@ -0,0 +1,12 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * Indicates whether the card surcharge will be treated as a value-holding line item or + * apportioned across all line items. + */ +export const OrderCardSurchargeTreatmentType = { + LineItemTreatment: "LINE_ITEM_TREATMENT", + ApportionedTreatment: "APPORTIONED_TREATMENT", +} as const; +export type OrderCardSurchargeTreatmentType = + (typeof OrderCardSurchargeTreatmentType)[keyof typeof OrderCardSurchargeTreatmentType]; diff --git a/src/api/types/OrderLineItem.ts b/src/api/types/OrderLineItem.ts index 8d8d3f4c9..8ff483a7d 100644 --- a/src/api/types/OrderLineItem.ts +++ b/src/api/types/OrderLineItem.ts @@ -100,12 +100,16 @@ export interface OrderLineItem { * To change the amount of a service charge, modify the referenced top-level service charge. */ appliedServiceCharges?: Square.OrderLineItemAppliedServiceCharge[] | null; - /** The base price for a single unit of the line item. */ + /** + * The base price for a single unit of the line item. Note - If inclusive tax is set on + * this item it will be included in this value. + */ basePriceMoney?: Square.Money; /** * The total price of all item variations sold in this line item. * The price is calculated as `base_price_money` multiplied by `quantity`. - * It does not include modifiers. + * It does not include modifiers. Note - If inclusive tax is set on + * this item it will be included in this value. */ variationTotalPriceMoney?: Square.Money; /** diff --git a/src/api/types/OrderLineItemAppliedTax.ts b/src/api/types/OrderLineItemAppliedTax.ts index 7155dfcc0..6615c41c1 100644 --- a/src/api/types/OrderLineItemAppliedTax.ts +++ b/src/api/types/OrderLineItemAppliedTax.ts @@ -23,4 +23,10 @@ export interface OrderLineItemAppliedTax { taxUid: string; /** The amount of money applied by the tax to the line item. */ appliedMoney?: Square.Money; + /** + * Indicates whether the tax was automatically applied to the order based on + * the catalog configuration. For an example, see + * [Automatically Apply Taxes to an Order](https://developer.squareup.com/docs/orders-api/apply-taxes-and-discounts/auto-apply-taxes). + */ + autoApplied?: boolean; } diff --git a/src/api/types/OrderLineItemPricingBlocklists.ts b/src/api/types/OrderLineItemPricingBlocklists.ts index 327e37b1a..05ec13876 100644 --- a/src/api/types/OrderLineItemPricingBlocklists.ts +++ b/src/api/types/OrderLineItemPricingBlocklists.ts @@ -20,4 +20,11 @@ export interface OrderLineItemPricingBlocklists { * the `tax_catalog_object_id` (for catalog taxes). */ blockedTaxes?: Square.OrderLineItemPricingBlocklistsBlockedTax[] | null; + /** + * A list of service charges blocked from applying to the line item. + * Service charges can be blocked by the `service_charge_uid` (for ad hoc + * service charges) or the `service_charge_catalog_object_id` (for catalog + * service charges). + */ + blockedServiceCharges?: Square.OrderLineItemPricingBlocklistsBlockedServiceCharge[] | null; } diff --git a/src/api/types/OrderLineItemPricingBlocklistsBlockedServiceCharge.ts b/src/api/types/OrderLineItemPricingBlocklistsBlockedServiceCharge.ts new file mode 100644 index 000000000..68201b1be --- /dev/null +++ b/src/api/types/OrderLineItemPricingBlocklistsBlockedServiceCharge.ts @@ -0,0 +1,23 @@ +// This file was auto-generated by Fern from our API Definition. + +/** + * A service charge to block from applying to a line item. The service charge + * must be identified by either `service_charge_uid` or + * `service_charge_catalog_object_id`, but not both. + */ +export interface OrderLineItemPricingBlocklistsBlockedServiceCharge { + /** A unique ID of the `BlockedServiceCharge` within the order. */ + uid?: string | null; + /** + * The `uid` of the service charge that should be blocked. Use this field to + * block ad hoc service charges. For catalog service charges, use the + * `service_charge_catalog_object_id` field. + */ + serviceChargeUid?: string | null; + /** + * The `catalog_object_id` of the service charge that should be blocked. + * Use this field to block catalog service charges. For ad hoc service charges, + * use the `service_charge_uid` field. + */ + serviceChargeCatalogObjectId?: string | null; +} diff --git a/src/api/types/OrderReturn.ts b/src/api/types/OrderReturn.ts index ec48967bd..8eae7ce72 100644 --- a/src/api/types/OrderReturn.ts +++ b/src/api/types/OrderReturn.ts @@ -22,13 +22,13 @@ export interface OrderReturn { * applied tax amount to be returned. The taxes must reference a top-level tax ID from the source * order. */ - returnTaxes?: Square.OrderReturnTax[]; + returnTaxes?: Square.OrderReturnTax[] | null; /** * A collection of references to discounts being returned for an order, including the total * applied discount amount to be returned. The discounts must reference a top-level discount ID * from the source order. */ - returnDiscounts?: Square.OrderReturnDiscount[]; + returnDiscounts?: Square.OrderReturnDiscount[] | null; /** A collection of references to tips being returned for an order. */ returnTips?: Square.OrderReturnTip[] | null; /** diff --git a/src/api/types/OrderReturnServiceCharge.ts b/src/api/types/OrderReturnServiceCharge.ts index 0dbd5c652..1367d0fe2 100644 --- a/src/api/types/OrderReturnServiceCharge.ts +++ b/src/api/types/OrderReturnServiceCharge.ts @@ -71,7 +71,7 @@ export interface OrderReturnServiceCharge { */ appliedTaxes?: Square.OrderLineItemAppliedTax[] | null; /** - * The treatment type of the service charge. + * Indicates whether the service charge will be treated as a value-holding line item or apportioned toward a line item. * See [OrderServiceChargeTreatmentType](#type-orderservicechargetreatmenttype) for possible values */ treatmentType?: Square.OrderServiceChargeTreatmentType; @@ -87,4 +87,9 @@ export interface OrderReturnServiceCharge { * See [OrderServiceChargeScope](#type-orderservicechargescope) for possible values */ scope?: Square.OrderServiceChargeScope; + /** + * The type of the service charge. + * See [OrderServiceChargeType](#type-orderservicechargetype) for possible values + */ + type?: Square.OrderServiceChargeType; } diff --git a/src/api/types/OrderServiceCharge.ts b/src/api/types/OrderServiceCharge.ts index a1bde321a..78b2d6770 100644 --- a/src/api/types/OrderServiceCharge.ts +++ b/src/api/types/OrderServiceCharge.ts @@ -8,7 +8,7 @@ import type * as Square from "../index"; export interface OrderServiceCharge { /** A unique ID that identifies the service charge only within this order. */ uid?: string | null; - /** The name of the service charge. */ + /** The name of the service charge. This is unused and null for AUTO_GRATUITY to match the behavior on Bills. */ name?: string | null; /** The catalog object ID referencing the service charge [CatalogObject](entity:CatalogObject). */ catalogObjectId?: string | null; @@ -100,7 +100,7 @@ export interface OrderServiceCharge { */ type?: Square.OrderServiceChargeType; /** - * The treatment type of the service charge. + * Indicates whether the service charge will be treated as a value-holding line item or apportioned toward a line item. * See [OrderServiceChargeTreatmentType](#type-orderservicechargetreatmenttype) for possible values */ treatmentType?: Square.OrderServiceChargeTreatmentType; diff --git a/src/api/types/SearchOrdersSourceFilter.ts b/src/api/types/SearchOrdersSourceFilter.ts index 8b9578249..e99802f98 100644 --- a/src/api/types/SearchOrdersSourceFilter.ts +++ b/src/api/types/SearchOrdersSourceFilter.ts @@ -11,4 +11,18 @@ export interface SearchOrdersSourceFilter { * Max: 10 source names. */ sourceNames?: string[] | null; + /** + * Filters by the [Source](entity:OrderSource) `applicationId`. The filter returns any orders + * with a `source.applicationId` that matches any of the listed source applicationIds. + * + * Max: 100 source applicationIds. + */ + sourceApplicationIds?: string[] | null; + /** + * Filters by the [Source](entity:OrderSource) `clientOu`. The filter returns any orders + * with a `source.clientOu` that matches any of the listed source clientOus. + * + * Max: 100 source clientOus. + */ + sourceClientOus?: string[] | null; } 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/api/types/index.ts b/src/api/types/index.ts index 7b318b1af..a5a645063 100644 --- a/src/api/types/index.ts +++ b/src/api/types/index.ts @@ -200,6 +200,7 @@ export * from "./CatalogModifierList"; export * from "./CatalogModifierListModifierType"; export * from "./CatalogModifierListSelectionType"; export * from "./CatalogModifierOverride"; +export * from "./CatalogModifierToggleOverrideType"; export * from "./CatalogObject"; export * from "./CatalogObjectAvailabilityPeriod"; export * from "./CatalogObjectBase"; @@ -283,6 +284,7 @@ export * from "./ConfirmationDecision"; export * from "./ConfirmationOptions"; export * from "./Coordinates"; export * from "./Country"; +export * from "./CreateBankAccountResponse"; export * from "./CreateBookingCustomAttributeDefinitionResponse"; export * from "./CreateBookingResponse"; export * from "./CreateBreakTypeResponse"; @@ -310,7 +312,6 @@ export * from "./CreateLoyaltyAccountResponse"; export * from "./CreateLoyaltyPromotionResponse"; export * from "./CreateLoyaltyRewardResponse"; export * from "./CreateMerchantCustomAttributeDefinitionResponse"; -export * from "./CreateMobileAuthorizationCodeResponse"; export * from "./CreateOrderCustomAttributeDefinitionResponse"; export * from "./CreateOrderRequest"; export * from "./CreateOrderResponse"; @@ -451,6 +452,7 @@ export * from "./DeviceMetadata"; export * from "./DeviceStatus"; export * from "./DeviceStatusCategory"; export * from "./DigitalWalletDetails"; +export * from "./DisableBankAccountResponse"; export * from "./DisableCardResponse"; export * from "./DisableEventsResponse"; export * from "./DismissTerminalActionResponse"; @@ -908,6 +910,7 @@ export * from "./OauthAuthorizationRevokedEventRevokerType"; export * from "./ObtainTokenResponse"; export * from "./OfflinePaymentDetails"; export * from "./Order"; +export * from "./OrderCardSurchargeTreatmentType"; export * from "./OrderCreated"; export * from "./OrderCreatedEvent"; export * from "./OrderCreatedEventData"; @@ -944,6 +947,7 @@ export * from "./OrderLineItemItemType"; export * from "./OrderLineItemModifier"; export * from "./OrderLineItemPricingBlocklists"; export * from "./OrderLineItemPricingBlocklistsBlockedDiscount"; +export * from "./OrderLineItemPricingBlocklistsBlockedServiceCharge"; export * from "./OrderLineItemPricingBlocklistsBlockedTax"; export * from "./OrderLineItemTax"; export * from "./OrderLineItemTaxScope"; 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/resources/mobile/client/index.ts b/src/serialization/resources/bankAccounts/client/index.ts similarity index 100% rename from src/serialization/resources/mobile/client/index.ts rename to src/serialization/resources/bankAccounts/client/index.ts diff --git a/src/serialization/resources/bankAccounts/client/requests/CreateBankAccountRequest.ts b/src/serialization/resources/bankAccounts/client/requests/CreateBankAccountRequest.ts new file mode 100644 index 000000000..b1cb2af07 --- /dev/null +++ b/src/serialization/resources/bankAccounts/client/requests/CreateBankAccountRequest.ts @@ -0,0 +1,22 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Square from "../../../../../api/index"; +import * as core from "../../../../../core"; +import type * as serializers from "../../../../index"; + +export const CreateBankAccountRequest: core.serialization.Schema< + serializers.CreateBankAccountRequest.Raw, + Square.CreateBankAccountRequest +> = core.serialization.object({ + idempotencyKey: core.serialization.property("idempotency_key", core.serialization.string()), + sourceId: core.serialization.property("source_id", core.serialization.string()), + customerId: core.serialization.property("customer_id", core.serialization.string().optional()), +}); + +export declare namespace CreateBankAccountRequest { + export interface Raw { + idempotency_key: string; + source_id: string; + customer_id?: string | null; + } +} diff --git a/src/serialization/resources/bankAccounts/client/requests/index.ts b/src/serialization/resources/bankAccounts/client/requests/index.ts new file mode 100644 index 000000000..f3892cfa5 --- /dev/null +++ b/src/serialization/resources/bankAccounts/client/requests/index.ts @@ -0,0 +1 @@ +export { CreateBankAccountRequest } from "./CreateBankAccountRequest"; diff --git a/src/serialization/resources/mobile/index.ts b/src/serialization/resources/bankAccounts/index.ts similarity index 100% rename from src/serialization/resources/mobile/index.ts rename to src/serialization/resources/bankAccounts/index.ts diff --git a/src/serialization/resources/index.ts b/src/serialization/resources/index.ts index a8631a021..ecbcb65e8 100644 --- a/src/serialization/resources/index.ts +++ b/src/serialization/resources/index.ts @@ -1,5 +1,7 @@ export * as applePay from "./applePay"; export * from "./applePay/client/requests"; +export * as bankAccounts from "./bankAccounts"; +export * from "./bankAccounts/client/requests"; export * as bookings from "./bookings"; export * from "./bookings/client/requests"; export * as cards from "./cards"; @@ -28,8 +30,6 @@ export * from "./locations/client/requests"; export * as loyalty from "./loyalty"; export * from "./loyalty/client/requests"; export * as merchants from "./merchants"; -export * as mobile from "./mobile"; -export * from "./mobile/client/requests"; export * as oAuth from "./oAuth"; export * from "./oAuth/client/requests"; export * as orders from "./orders"; diff --git a/src/serialization/resources/mobile/client/requests/CreateMobileAuthorizationCodeRequest.ts b/src/serialization/resources/mobile/client/requests/CreateMobileAuthorizationCodeRequest.ts deleted file mode 100644 index 5e86ddca5..000000000 --- a/src/serialization/resources/mobile/client/requests/CreateMobileAuthorizationCodeRequest.ts +++ /dev/null @@ -1,18 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Square from "../../../../../api/index"; -import * as core from "../../../../../core"; -import type * as serializers from "../../../../index"; - -export const CreateMobileAuthorizationCodeRequest: core.serialization.Schema< - serializers.CreateMobileAuthorizationCodeRequest.Raw, - Square.CreateMobileAuthorizationCodeRequest -> = core.serialization.object({ - locationId: core.serialization.property("location_id", core.serialization.string().optional()), -}); - -export declare namespace CreateMobileAuthorizationCodeRequest { - export interface Raw { - location_id?: string | null; - } -} diff --git a/src/serialization/resources/mobile/client/requests/index.ts b/src/serialization/resources/mobile/client/requests/index.ts deleted file mode 100644 index bea839634..000000000 --- a/src/serialization/resources/mobile/client/requests/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { CreateMobileAuthorizationCodeRequest } from "./CreateMobileAuthorizationCodeRequest"; diff --git a/src/serialization/resources/oAuth/client/requests/ObtainTokenRequest.ts b/src/serialization/resources/oAuth/client/requests/ObtainTokenRequest.ts index 566efbfae..9329b9383 100644 --- a/src/serialization/resources/oAuth/client/requests/ObtainTokenRequest.ts +++ b/src/serialization/resources/oAuth/client/requests/ObtainTokenRequest.ts @@ -18,6 +18,7 @@ export const ObtainTokenRequest: core.serialization.Schema< scopes: core.serialization.list(core.serialization.string()).optionalNullable(), shortLived: core.serialization.property("short_lived", core.serialization.boolean().optionalNullable()), codeVerifier: core.serialization.property("code_verifier", core.serialization.string().optionalNullable()), + useJwt: core.serialization.property("use_jwt", core.serialization.boolean().optionalNullable()), }); export declare namespace ObtainTokenRequest { @@ -32,5 +33,6 @@ export declare namespace ObtainTokenRequest { scopes?: (string[] | null | undefined) | null; short_lived?: (boolean | null | undefined) | null; code_verifier?: (string | null | undefined) | null; + use_jwt?: (boolean | null | undefined) | null; } } diff --git a/src/serialization/types/BankAccount.ts b/src/serialization/types/BankAccount.ts index 9c7b2bf79..2fd3181f9 100644 --- a/src/serialization/types/BankAccount.ts +++ b/src/serialization/types/BankAccount.ts @@ -36,6 +36,7 @@ export const BankAccount: core.serialization.ObjectSchema = core.serialization.enum_(["NO", "YES", "NOT_SET"]); + +export declare namespace CatalogModifierToggleOverrideType { + export type Raw = "NO" | "YES" | "NOT_SET"; +} diff --git a/src/serialization/types/CreateBankAccountResponse.ts b/src/serialization/types/CreateBankAccountResponse.ts new file mode 100644 index 000000000..abfd478e3 --- /dev/null +++ b/src/serialization/types/CreateBankAccountResponse.ts @@ -0,0 +1,22 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Square from "../../api/index"; +import * as core from "../../core"; +import type * as serializers from "../index"; +import { BankAccount } from "./BankAccount"; +import { Error_ } from "./Error_"; + +export const CreateBankAccountResponse: core.serialization.ObjectSchema< + serializers.CreateBankAccountResponse.Raw, + Square.CreateBankAccountResponse +> = core.serialization.object({ + bankAccount: core.serialization.property("bank_account", BankAccount.optional()), + errors: core.serialization.list(Error_).optional(), +}); + +export declare namespace CreateBankAccountResponse { + export interface Raw { + bank_account?: BankAccount.Raw | null; + errors?: Error_.Raw[] | null; + } +} diff --git a/src/serialization/types/CreateMobileAuthorizationCodeResponse.ts b/src/serialization/types/CreateMobileAuthorizationCodeResponse.ts deleted file mode 100644 index e61b7baf9..000000000 --- a/src/serialization/types/CreateMobileAuthorizationCodeResponse.ts +++ /dev/null @@ -1,23 +0,0 @@ -// This file was auto-generated by Fern from our API Definition. - -import type * as Square from "../../api/index"; -import * as core from "../../core"; -import type * as serializers from "../index"; -import { Error_ } from "./Error_"; - -export const CreateMobileAuthorizationCodeResponse: core.serialization.ObjectSchema< - serializers.CreateMobileAuthorizationCodeResponse.Raw, - Square.CreateMobileAuthorizationCodeResponse -> = core.serialization.object({ - authorizationCode: core.serialization.property("authorization_code", core.serialization.string().optional()), - expiresAt: core.serialization.property("expires_at", core.serialization.string().optional()), - errors: core.serialization.list(Error_).optional(), -}); - -export declare namespace CreateMobileAuthorizationCodeResponse { - export interface Raw { - authorization_code?: string | null; - expires_at?: string | null; - errors?: Error_.Raw[] | null; - } -} diff --git a/src/serialization/types/DeviceCheckoutOptions.ts b/src/serialization/types/DeviceCheckoutOptions.ts index 0905829fd..1ff75e448 100644 --- a/src/serialization/types/DeviceCheckoutOptions.ts +++ b/src/serialization/types/DeviceCheckoutOptions.ts @@ -20,6 +20,10 @@ export const DeviceCheckoutOptions: core.serialization.ObjectSchema< "show_itemized_cart", core.serialization.boolean().optionalNullable(), ), + allowAutoCardSurcharge: core.serialization.property( + "allow_auto_card_surcharge", + core.serialization.boolean().optionalNullable(), + ), }); export declare namespace DeviceCheckoutOptions { @@ -29,5 +33,6 @@ export declare namespace DeviceCheckoutOptions { collect_signature?: (boolean | null | undefined) | null; tip_settings?: TipSettings.Raw | null; show_itemized_cart?: (boolean | null | undefined) | null; + allow_auto_card_surcharge?: (boolean | null | undefined) | null; } } diff --git a/src/serialization/types/DigitalWalletDetails.ts b/src/serialization/types/DigitalWalletDetails.ts index cb2f18027..9b58183dc 100644 --- a/src/serialization/types/DigitalWalletDetails.ts +++ b/src/serialization/types/DigitalWalletDetails.ts @@ -4,6 +4,7 @@ import type * as Square from "../../api/index"; import * as core from "../../core"; import type * as serializers from "../index"; import { CashAppDetails } from "./CashAppDetails"; +import { Error_ } from "./Error_"; export const DigitalWalletDetails: core.serialization.ObjectSchema< serializers.DigitalWalletDetails.Raw, @@ -12,6 +13,7 @@ export const DigitalWalletDetails: core.serialization.ObjectSchema< status: core.serialization.string().optionalNullable(), brand: core.serialization.string().optionalNullable(), cashAppDetails: core.serialization.property("cash_app_details", CashAppDetails.optional()), + errors: core.serialization.list(Error_).optional(), }); export declare namespace DigitalWalletDetails { @@ -19,5 +21,6 @@ export declare namespace DigitalWalletDetails { status?: (string | null | undefined) | null; brand?: (string | null | undefined) | null; cash_app_details?: CashAppDetails.Raw | null; + errors?: Error_.Raw[] | null; } } diff --git a/src/serialization/types/DisableBankAccountResponse.ts b/src/serialization/types/DisableBankAccountResponse.ts new file mode 100644 index 000000000..1004936d4 --- /dev/null +++ b/src/serialization/types/DisableBankAccountResponse.ts @@ -0,0 +1,22 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Square from "../../api/index"; +import * as core from "../../core"; +import type * as serializers from "../index"; +import { BankAccount } from "./BankAccount"; +import { Error_ } from "./Error_"; + +export const DisableBankAccountResponse: core.serialization.ObjectSchema< + serializers.DisableBankAccountResponse.Raw, + Square.DisableBankAccountResponse +> = core.serialization.object({ + bankAccount: core.serialization.property("bank_account", BankAccount.optional()), + errors: core.serialization.list(Error_).optional(), +}); + +export declare namespace DisableBankAccountResponse { + export interface Raw { + bank_account?: BankAccount.Raw | null; + errors?: Error_.Raw[] | null; + } +} diff --git a/src/serialization/types/ErrorCode.ts b/src/serialization/types/ErrorCode.ts index 7f3267bff..3ef14ffd9 100644 --- a/src/serialization/types/ErrorCode.ts +++ b/src/serialization/types/ErrorCode.ts @@ -118,6 +118,7 @@ export const ErrorCode: core.serialization.Schema = core.serialization.object({ - errors: core.serialization.list(Error_).optional(), bankAccount: core.serialization.property("bank_account", BankAccount.optional()), + errors: core.serialization.list(Error_).optional(), }); export declare namespace GetBankAccountResponse { export interface Raw { - errors?: Error_.Raw[] | null; bank_account?: BankAccount.Raw | null; + errors?: Error_.Raw[] | null; } } diff --git a/src/serialization/types/ListBankAccountsResponse.ts b/src/serialization/types/ListBankAccountsResponse.ts index 84243cb04..9902245f1 100644 --- a/src/serialization/types/ListBankAccountsResponse.ts +++ b/src/serialization/types/ListBankAccountsResponse.ts @@ -10,15 +10,15 @@ export const ListBankAccountsResponse: core.serialization.ObjectSchema< serializers.ListBankAccountsResponse.Raw, Square.ListBankAccountsResponse > = core.serialization.object({ - errors: core.serialization.list(Error_).optional(), bankAccounts: core.serialization.property("bank_accounts", core.serialization.list(BankAccount).optional()), + errors: core.serialization.list(Error_).optional(), cursor: core.serialization.string().optional(), }); export declare namespace ListBankAccountsResponse { export interface Raw { - errors?: Error_.Raw[] | null; bank_accounts?: BankAccount.Raw[] | null; + errors?: Error_.Raw[] | null; cursor?: string | null; } } diff --git a/src/serialization/types/OrderCardSurchargeTreatmentType.ts b/src/serialization/types/OrderCardSurchargeTreatmentType.ts new file mode 100644 index 000000000..15f364c54 --- /dev/null +++ b/src/serialization/types/OrderCardSurchargeTreatmentType.ts @@ -0,0 +1,14 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Square from "../../api/index"; +import * as core from "../../core"; +import type * as serializers from "../index"; + +export const OrderCardSurchargeTreatmentType: core.serialization.Schema< + serializers.OrderCardSurchargeTreatmentType.Raw, + Square.OrderCardSurchargeTreatmentType +> = core.serialization.enum_(["LINE_ITEM_TREATMENT", "APPORTIONED_TREATMENT"]); + +export declare namespace OrderCardSurchargeTreatmentType { + export type Raw = "LINE_ITEM_TREATMENT" | "APPORTIONED_TREATMENT"; +} diff --git a/src/serialization/types/OrderLineItemAppliedTax.ts b/src/serialization/types/OrderLineItemAppliedTax.ts index 8fbd659aa..1cac8e71c 100644 --- a/src/serialization/types/OrderLineItemAppliedTax.ts +++ b/src/serialization/types/OrderLineItemAppliedTax.ts @@ -12,6 +12,7 @@ export const OrderLineItemAppliedTax: core.serialization.ObjectSchema< uid: core.serialization.string().optionalNullable(), taxUid: core.serialization.property("tax_uid", core.serialization.string()), appliedMoney: core.serialization.property("applied_money", Money.optional()), + autoApplied: core.serialization.property("auto_applied", core.serialization.boolean().optional()), }); export declare namespace OrderLineItemAppliedTax { @@ -19,5 +20,6 @@ export declare namespace OrderLineItemAppliedTax { uid?: (string | null | undefined) | null; tax_uid: string; applied_money?: Money.Raw | null; + auto_applied?: boolean | null; } } diff --git a/src/serialization/types/OrderLineItemPricingBlocklists.ts b/src/serialization/types/OrderLineItemPricingBlocklists.ts index b63cffcad..18d60558d 100644 --- a/src/serialization/types/OrderLineItemPricingBlocklists.ts +++ b/src/serialization/types/OrderLineItemPricingBlocklists.ts @@ -4,6 +4,7 @@ import type * as Square from "../../api/index"; import * as core from "../../core"; import type * as serializers from "../index"; import { OrderLineItemPricingBlocklistsBlockedDiscount } from "./OrderLineItemPricingBlocklistsBlockedDiscount"; +import { OrderLineItemPricingBlocklistsBlockedServiceCharge } from "./OrderLineItemPricingBlocklistsBlockedServiceCharge"; import { OrderLineItemPricingBlocklistsBlockedTax } from "./OrderLineItemPricingBlocklistsBlockedTax"; export const OrderLineItemPricingBlocklists: core.serialization.ObjectSchema< @@ -18,11 +19,16 @@ export const OrderLineItemPricingBlocklists: core.serialization.ObjectSchema< "blocked_taxes", core.serialization.list(OrderLineItemPricingBlocklistsBlockedTax).optionalNullable(), ), + blockedServiceCharges: core.serialization.property( + "blocked_service_charges", + core.serialization.list(OrderLineItemPricingBlocklistsBlockedServiceCharge).optionalNullable(), + ), }); export declare namespace OrderLineItemPricingBlocklists { export interface Raw { blocked_discounts?: (OrderLineItemPricingBlocklistsBlockedDiscount.Raw[] | null | undefined) | null; blocked_taxes?: (OrderLineItemPricingBlocklistsBlockedTax.Raw[] | null | undefined) | null; + blocked_service_charges?: (OrderLineItemPricingBlocklistsBlockedServiceCharge.Raw[] | null | undefined) | null; } } diff --git a/src/serialization/types/OrderLineItemPricingBlocklistsBlockedServiceCharge.ts b/src/serialization/types/OrderLineItemPricingBlocklistsBlockedServiceCharge.ts new file mode 100644 index 000000000..ea816c747 --- /dev/null +++ b/src/serialization/types/OrderLineItemPricingBlocklistsBlockedServiceCharge.ts @@ -0,0 +1,25 @@ +// This file was auto-generated by Fern from our API Definition. + +import type * as Square from "../../api/index"; +import * as core from "../../core"; +import type * as serializers from "../index"; + +export const OrderLineItemPricingBlocklistsBlockedServiceCharge: core.serialization.ObjectSchema< + serializers.OrderLineItemPricingBlocklistsBlockedServiceCharge.Raw, + Square.OrderLineItemPricingBlocklistsBlockedServiceCharge +> = core.serialization.object({ + uid: core.serialization.string().optionalNullable(), + serviceChargeUid: core.serialization.property("service_charge_uid", core.serialization.string().optionalNullable()), + serviceChargeCatalogObjectId: core.serialization.property( + "service_charge_catalog_object_id", + core.serialization.string().optionalNullable(), + ), +}); + +export declare namespace OrderLineItemPricingBlocklistsBlockedServiceCharge { + export interface Raw { + uid?: (string | null | undefined) | null; + service_charge_uid?: (string | null | undefined) | null; + service_charge_catalog_object_id?: (string | null | undefined) | null; + } +} diff --git a/src/serialization/types/OrderReturn.ts b/src/serialization/types/OrderReturn.ts index 72e09722f..27975f3ee 100644 --- a/src/serialization/types/OrderReturn.ts +++ b/src/serialization/types/OrderReturn.ts @@ -23,10 +23,13 @@ export const OrderReturn: 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/serialization/types/index.ts b/src/serialization/types/index.ts index 7b318b1af..a5a645063 100644 --- a/src/serialization/types/index.ts +++ b/src/serialization/types/index.ts @@ -200,6 +200,7 @@ export * from "./CatalogModifierList"; export * from "./CatalogModifierListModifierType"; export * from "./CatalogModifierListSelectionType"; export * from "./CatalogModifierOverride"; +export * from "./CatalogModifierToggleOverrideType"; export * from "./CatalogObject"; export * from "./CatalogObjectAvailabilityPeriod"; export * from "./CatalogObjectBase"; @@ -283,6 +284,7 @@ export * from "./ConfirmationDecision"; export * from "./ConfirmationOptions"; export * from "./Coordinates"; export * from "./Country"; +export * from "./CreateBankAccountResponse"; export * from "./CreateBookingCustomAttributeDefinitionResponse"; export * from "./CreateBookingResponse"; export * from "./CreateBreakTypeResponse"; @@ -310,7 +312,6 @@ export * from "./CreateLoyaltyAccountResponse"; export * from "./CreateLoyaltyPromotionResponse"; export * from "./CreateLoyaltyRewardResponse"; export * from "./CreateMerchantCustomAttributeDefinitionResponse"; -export * from "./CreateMobileAuthorizationCodeResponse"; export * from "./CreateOrderCustomAttributeDefinitionResponse"; export * from "./CreateOrderRequest"; export * from "./CreateOrderResponse"; @@ -451,6 +452,7 @@ export * from "./DeviceMetadata"; export * from "./DeviceStatus"; export * from "./DeviceStatusCategory"; export * from "./DigitalWalletDetails"; +export * from "./DisableBankAccountResponse"; export * from "./DisableCardResponse"; export * from "./DisableEventsResponse"; export * from "./DismissTerminalActionResponse"; @@ -908,6 +910,7 @@ export * from "./OauthAuthorizationRevokedEventRevokerType"; export * from "./ObtainTokenResponse"; export * from "./OfflinePaymentDetails"; export * from "./Order"; +export * from "./OrderCardSurchargeTreatmentType"; export * from "./OrderCreated"; export * from "./OrderCreatedEvent"; export * from "./OrderCreatedEventData"; @@ -944,6 +947,7 @@ export * from "./OrderLineItemItemType"; export * from "./OrderLineItemModifier"; export * from "./OrderLineItemPricingBlocklists"; export * from "./OrderLineItemPricingBlocklistsBlockedDiscount"; +export * from "./OrderLineItemPricingBlocklistsBlockedServiceCharge"; export * from "./OrderLineItemPricingBlocklistsBlockedTax"; export * from "./OrderLineItemTax"; export * from "./OrderLineItemTaxScope"; diff --git a/src/version.ts b/src/version.ts index a6cd8df95..c0898d1cc 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const SDK_VERSION = "43.2.1"; +export const SDK_VERSION = "44.0.0"; 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/bankAccounts.test.ts b/tests/wire/bankAccounts.test.ts index 4797efa9c..ce4e74617 100644 --- a/tests/wire/bankAccounts.test.ts +++ b/tests/wire/bankAccounts.test.ts @@ -9,47 +9,49 @@ describe("BankAccountsClient", () => { const client = new SquareClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { - errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR", detail: "detail", field: "field" }], bank_accounts: [ { - id: "ao6iaQ9vhDiaQD7n3GB", - account_number_suffix: "971", + id: "bact:OxfBTiXgByaXds1K4GB", + account_number_suffix: "000", country: "US", currency: "USD", account_type: "CHECKING", - holder_name: "Jane Doe", - primary_bank_identification_number: "112200303", + holder_name: "Nicola Snow", + primary_bank_identification_number: "011401533", secondary_bank_identification_number: "secondary_bank_identification_number", debit_mandate_reference_id: "debit_mandate_reference_id", reference_id: "reference_id", - location_id: "S8GWD5example", - status: "VERIFICATION_IN_PROGRESS", - creditable: false, - debitable: false, - fingerprint: "fingerprint", - version: 5, - bank_name: "Bank Name", + location_id: "location_id", + status: "VERIFIED", + creditable: true, + debitable: true, + fingerprint: "sq-1-mO3XNctJpTLL8uYowOWpioS8nQyTc838gcBo90254XonoEJ_c7Uw6yqL6qihFNY8fA", + version: 2, + bank_name: "Citizens Bank", + customer_id: "HM3B2D5JKGZ69359BTEHXM2V8M", }, { - id: "4x7WXuaxrkQkVlka3GB", - account_number_suffix: "972", + id: "bact:Msdfa2kgUDR9lMgk4GB", + account_number_suffix: "118", country: "US", currency: "USD", account_type: "CHECKING", - holder_name: "Jane Doe", - primary_bank_identification_number: "112200303", + holder_name: "Nicola Snow", + primary_bank_identification_number: "100210004", secondary_bank_identification_number: "secondary_bank_identification_number", debit_mandate_reference_id: "debit_mandate_reference_id", reference_id: "reference_id", - location_id: "S8GWD5example", - status: "VERIFICATION_IN_PROGRESS", - creditable: false, - debitable: false, - fingerprint: "fingerprint", - version: 5, - bank_name: "Bank Name", + location_id: "location_id", + status: "DISABLED", + creditable: true, + debitable: true, + fingerprint: "sq-1-Poacr0bohmds1N--OseZUsG5kPwfCGxqYKlb-Q1Rxwsk0lxd1JLs4yaPDuMqIae7Qg", + version: 3, + bank_name: "Bank of America", + customer_id: "HM3B2D5JKGZ69359BTEHXM2V8M", }, ], + errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR", detail: "detail", field: "field" }], cursor: "cursor", }; server @@ -61,52 +63,54 @@ describe("BankAccountsClient", () => { .build(); const expected = { - errors: [ - { - category: "API_ERROR", - code: "INTERNAL_SERVER_ERROR", - detail: "detail", - field: "field", - }, - ], bankAccounts: [ { - id: "ao6iaQ9vhDiaQD7n3GB", - accountNumberSuffix: "971", + id: "bact:OxfBTiXgByaXds1K4GB", + accountNumberSuffix: "000", country: "US", currency: "USD", accountType: "CHECKING", - holderName: "Jane Doe", - primaryBankIdentificationNumber: "112200303", + holderName: "Nicola Snow", + primaryBankIdentificationNumber: "011401533", secondaryBankIdentificationNumber: "secondary_bank_identification_number", debitMandateReferenceId: "debit_mandate_reference_id", referenceId: "reference_id", - locationId: "S8GWD5example", - status: "VERIFICATION_IN_PROGRESS", - creditable: false, - debitable: false, - fingerprint: "fingerprint", - version: 5, - bankName: "Bank Name", + locationId: "location_id", + status: "VERIFIED", + creditable: true, + debitable: true, + fingerprint: "sq-1-mO3XNctJpTLL8uYowOWpioS8nQyTc838gcBo90254XonoEJ_c7Uw6yqL6qihFNY8fA", + version: 2, + bankName: "Citizens Bank", + customerId: "HM3B2D5JKGZ69359BTEHXM2V8M", }, { - id: "4x7WXuaxrkQkVlka3GB", - accountNumberSuffix: "972", + id: "bact:Msdfa2kgUDR9lMgk4GB", + accountNumberSuffix: "118", country: "US", currency: "USD", accountType: "CHECKING", - holderName: "Jane Doe", - primaryBankIdentificationNumber: "112200303", + holderName: "Nicola Snow", + primaryBankIdentificationNumber: "100210004", secondaryBankIdentificationNumber: "secondary_bank_identification_number", debitMandateReferenceId: "debit_mandate_reference_id", referenceId: "reference_id", - locationId: "S8GWD5example", - status: "VERIFICATION_IN_PROGRESS", - creditable: false, - debitable: false, - fingerprint: "fingerprint", - version: 5, - bankName: "Bank Name", + locationId: "location_id", + status: "DISABLED", + creditable: true, + debitable: true, + fingerprint: "sq-1-Poacr0bohmds1N--OseZUsG5kPwfCGxqYKlb-Q1Rxwsk0lxd1JLs4yaPDuMqIae7Qg", + version: 3, + bankName: "Bank of America", + customerId: "HM3B2D5JKGZ69359BTEHXM2V8M", + }, + ], + errors: [ + { + category: "API_ERROR", + code: "INTERNAL_SERVER_ERROR", + detail: "detail", + field: "field", }, ], cursor: "cursor", @@ -115,6 +119,7 @@ describe("BankAccountsClient", () => { cursor: "cursor", limit: 1, locationId: "location_id", + customerId: "customer_id", }); expect(expected.bankAccounts).toEqual(page.data); @@ -123,6 +128,83 @@ describe("BankAccountsClient", () => { expect(expected.bankAccounts).toEqual(nextPage.data); }); + test("CreateBankAccount", async () => { + const server = mockServerPool.createServer(); + const client = new SquareClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + const rawRequestBody = { + idempotency_key: "4e43559a-f0fd-47d3-9da2-7ea1f97d94be", + source_id: "bnon:CA4SEHsQwr0rx6DbWLD5BQaqMnoYAQ", + customer_id: "HM3B2D5JKGZ69359BTEHXM2V8M", + }; + const rawResponseBody = { + bank_account: { + id: "bact:OxfBTiXgByaXds1K4GB", + account_number_suffix: "000", + country: "US", + currency: "USD", + account_type: "CHECKING", + holder_name: "Nicola Snow", + primary_bank_identification_number: "011401533", + secondary_bank_identification_number: "secondary_bank_identification_number", + debit_mandate_reference_id: "debit_mandate_reference_id", + reference_id: "reference_id", + location_id: "location_id", + status: "VERIFIED", + creditable: true, + debitable: true, + fingerprint: "sq-1-mO3XNctJpTLL8uYowOWpioS8nQyTc838gcBo90254XonoEJ_c7Uw6yqL6qihFNY8fA", + version: 2, + bank_name: "Citizens Bank", + customer_id: "HM3B2D5JKGZ69359BTEHXM2V8M", + }, + errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR", detail: "detail", field: "field" }], + }; + server + .mockEndpoint() + .post("/v2/bank-accounts") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.bankAccounts.createBankAccount({ + idempotencyKey: "4e43559a-f0fd-47d3-9da2-7ea1f97d94be", + sourceId: "bnon:CA4SEHsQwr0rx6DbWLD5BQaqMnoYAQ", + customerId: "HM3B2D5JKGZ69359BTEHXM2V8M", + }); + expect(response).toEqual({ + bankAccount: { + id: "bact:OxfBTiXgByaXds1K4GB", + accountNumberSuffix: "000", + country: "US", + currency: "USD", + accountType: "CHECKING", + holderName: "Nicola Snow", + primaryBankIdentificationNumber: "011401533", + secondaryBankIdentificationNumber: "secondary_bank_identification_number", + debitMandateReferenceId: "debit_mandate_reference_id", + referenceId: "reference_id", + locationId: "location_id", + status: "VERIFIED", + creditable: true, + debitable: true, + fingerprint: "sq-1-mO3XNctJpTLL8uYowOWpioS8nQyTc838gcBo90254XonoEJ_c7Uw6yqL6qihFNY8fA", + version: 2, + bankName: "Citizens Bank", + customerId: "HM3B2D5JKGZ69359BTEHXM2V8M", + }, + errors: [ + { + category: "API_ERROR", + code: "INTERNAL_SERVER_ERROR", + detail: "detail", + field: "field", + }, + ], + }); + }); + test("GetByV1Id", async () => { const server = mockServerPool.createServer(); const client = new SquareClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); @@ -147,6 +229,7 @@ describe("BankAccountsClient", () => { fingerprint: "fingerprint", version: 5, bank_name: "Bank Name", + customer_id: "customer_id", }, }; server @@ -187,6 +270,7 @@ describe("BankAccountsClient", () => { fingerprint: "fingerprint", version: 5, bankName: "Bank Name", + customerId: "customer_id", }, }); }); @@ -196,26 +280,27 @@ describe("BankAccountsClient", () => { const client = new SquareClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { - errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR", detail: "detail", field: "field" }], bank_account: { - id: "w3yRgCGYQnwmdl0R3GB", - account_number_suffix: "971", + id: "bact:OxfBTiXgByaXds1K4GB", + account_number_suffix: "000", country: "US", currency: "USD", account_type: "CHECKING", - holder_name: "Jane Doe", - primary_bank_identification_number: "112200303", + holder_name: "Nicola Snow", + primary_bank_identification_number: "011401533", secondary_bank_identification_number: "secondary_bank_identification_number", debit_mandate_reference_id: "debit_mandate_reference_id", reference_id: "reference_id", - location_id: "S8GWD5example", - status: "VERIFICATION_IN_PROGRESS", - creditable: false, - debitable: false, - fingerprint: "fingerprint", - version: 5, - bank_name: "Bank Name", + location_id: "location_id", + status: "VERIFIED", + creditable: true, + debitable: true, + fingerprint: "sq-1-mO3XNctJpTLL8uYowOWpioS8nQyTc838gcBo90254XonoEJ_c7Uw6yqL6qihFNY8fA", + version: 2, + bank_name: "Citizens Bank", + customer_id: "HM3B2D5JKGZ69359BTEHXM2V8M", }, + errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR", detail: "detail", field: "field" }], }; server .mockEndpoint() @@ -229,6 +314,26 @@ describe("BankAccountsClient", () => { bankAccountId: "bank_account_id", }); expect(response).toEqual({ + bankAccount: { + id: "bact:OxfBTiXgByaXds1K4GB", + accountNumberSuffix: "000", + country: "US", + currency: "USD", + accountType: "CHECKING", + holderName: "Nicola Snow", + primaryBankIdentificationNumber: "011401533", + secondaryBankIdentificationNumber: "secondary_bank_identification_number", + debitMandateReferenceId: "debit_mandate_reference_id", + referenceId: "reference_id", + locationId: "location_id", + status: "VERIFIED", + creditable: true, + debitable: true, + fingerprint: "sq-1-mO3XNctJpTLL8uYowOWpioS8nQyTc838gcBo90254XonoEJ_c7Uw6yqL6qihFNY8fA", + version: 2, + bankName: "Citizens Bank", + customerId: "HM3B2D5JKGZ69359BTEHXM2V8M", + }, errors: [ { category: "API_ERROR", @@ -237,25 +342,76 @@ describe("BankAccountsClient", () => { field: "field", }, ], + }); + }); + + test("DisableBankAccount", async () => { + const server = mockServerPool.createServer(); + const client = new SquareClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { + bank_account: { + id: "bact:OxfBTiXgByaXds1K4GB", + account_number_suffix: "000", + country: "US", + currency: "USD", + account_type: "CHECKING", + holder_name: "Nicola Snow", + primary_bank_identification_number: "011401533", + secondary_bank_identification_number: "secondary_bank_identification_number", + debit_mandate_reference_id: "debit_mandate_reference_id", + reference_id: "reference_id", + location_id: "location_id", + status: "DISABLED", + creditable: true, + debitable: true, + fingerprint: "sq-1-mO3XNctJpTLL8uYowOWpioS8nQyTc838gcBo90254XonoEJ_c7Uw6yqL6qihFNY8fA", + version: 3, + bank_name: "Citizens Bank", + customer_id: "HM3B2D5JKGZ69359BTEHXM2V8M", + }, + errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR", detail: "detail", field: "field" }], + }; + server + .mockEndpoint() + .post("/v2/bank-accounts/bank_account_id/disable") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.bankAccounts.disableBankAccount({ + bankAccountId: "bank_account_id", + }); + expect(response).toEqual({ bankAccount: { - id: "w3yRgCGYQnwmdl0R3GB", - accountNumberSuffix: "971", + id: "bact:OxfBTiXgByaXds1K4GB", + accountNumberSuffix: "000", country: "US", currency: "USD", accountType: "CHECKING", - holderName: "Jane Doe", - primaryBankIdentificationNumber: "112200303", + holderName: "Nicola Snow", + primaryBankIdentificationNumber: "011401533", secondaryBankIdentificationNumber: "secondary_bank_identification_number", debitMandateReferenceId: "debit_mandate_reference_id", referenceId: "reference_id", - locationId: "S8GWD5example", - status: "VERIFICATION_IN_PROGRESS", - creditable: false, - debitable: false, - fingerprint: "fingerprint", - version: 5, - bankName: "Bank Name", + locationId: "location_id", + status: "DISABLED", + creditable: true, + debitable: true, + fingerprint: "sq-1-mO3XNctJpTLL8uYowOWpioS8nQyTc838gcBo90254XonoEJ_c7Uw6yqL6qihFNY8fA", + version: 3, + bankName: "Citizens Bank", + customerId: "HM3B2D5JKGZ69359BTEHXM2V8M", }, + errors: [ + { + category: "API_ERROR", + code: "INTERNAL_SERVER_ERROR", + detail: "detail", + field: "field", + }, + ], }); }); }); 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/cards.test.ts b/tests/wire/cards.test.ts index 2b5d1e6e4..b0718d4d1 100644 --- a/tests/wire/cards.test.ts +++ b/tests/wire/cards.test.ts @@ -34,6 +34,8 @@ describe("CardsClient", () => { card_type: "CREDIT", prepaid_type: "NOT_PREPAID", bin: "411111", + created_at: "created_at", + disabled_at: "disabled_at", version: BigInt(1), card_co_brand: "UNKNOWN", issuer_alert: "ISSUER_ALERT_CARD_CLOSED", @@ -84,6 +86,8 @@ describe("CardsClient", () => { cardType: "CREDIT", prepaidType: "NOT_PREPAID", bin: "411111", + createdAt: "created_at", + disabledAt: "disabled_at", version: BigInt("1"), cardCoBrand: "UNKNOWN", issuerAlert: "ISSUER_ALERT_CARD_CLOSED", @@ -160,6 +164,8 @@ describe("CardsClient", () => { card_type: "CREDIT", prepaid_type: "NOT_PREPAID", bin: "411111", + created_at: "created_at", + disabled_at: "disabled_at", version: BigInt(1), card_co_brand: "UNKNOWN", issuer_alert: "ISSUER_ALERT_CARD_CLOSED", @@ -233,6 +239,8 @@ describe("CardsClient", () => { cardType: "CREDIT", prepaidType: "NOT_PREPAID", bin: "411111", + createdAt: "created_at", + disabledAt: "disabled_at", version: BigInt("1"), cardCoBrand: "UNKNOWN", issuerAlert: "ISSUER_ALERT_CARD_CLOSED", @@ -279,6 +287,8 @@ describe("CardsClient", () => { card_type: "CREDIT", prepaid_type: "NOT_PREPAID", bin: "411111", + created_at: "created_at", + disabled_at: "disabled_at", version: BigInt(1), card_co_brand: "UNKNOWN", issuer_alert: "ISSUER_ALERT_CARD_CLOSED", @@ -331,6 +341,8 @@ describe("CardsClient", () => { cardType: "CREDIT", prepaidType: "NOT_PREPAID", bin: "411111", + createdAt: "created_at", + disabledAt: "disabled_at", version: BigInt("1"), cardCoBrand: "UNKNOWN", issuerAlert: "ISSUER_ALERT_CARD_CLOSED", @@ -377,6 +389,8 @@ describe("CardsClient", () => { card_type: "CREDIT", prepaid_type: "NOT_PREPAID", bin: "411111", + created_at: "created_at", + disabled_at: "disabled_at", version: BigInt(2), card_co_brand: "UNKNOWN", issuer_alert: "ISSUER_ALERT_CARD_CLOSED", @@ -435,6 +449,8 @@ describe("CardsClient", () => { cardType: "CREDIT", prepaidType: "NOT_PREPAID", bin: "411111", + createdAt: "created_at", + disabledAt: "disabled_at", version: BigInt("2"), cardCoBrand: "UNKNOWN", issuerAlert: "ISSUER_ALERT_CARD_CLOSED", diff --git a/tests/wire/catalog/object.test.ts b/tests/wire/catalog/object.test.ts index 1b65bdb2a..4225ec38f 100644 --- a/tests/wire/catalog/object.test.ts +++ b/tests/wire/catalog/object.test.ts @@ -32,6 +32,7 @@ describe("ObjectClient", () => { label_color: "label_color", is_taxable: true, category_id: "category_id", + buyer_facing_name: "buyer_facing_name", tax_ids: ["tax_ids"], modifier_list_info: [{ modifier_list_id: "modifier_list_id" }], product_type: "REGULAR", @@ -43,6 +44,7 @@ describe("ObjectClient", () => { sort_name: "sort_name", description_html: "description_html", description_plaintext: "description_plaintext", + kitchen_name: "kitchen_name", channels: ["channels"], is_archived: true, is_alcoholic: true, @@ -100,6 +102,7 @@ describe("ObjectClient", () => { labelColor: "label_color", isTaxable: true, categoryId: "category_id", + buyerFacingName: "buyer_facing_name", taxIds: ["tax_ids"], modifierListInfo: [ { @@ -115,6 +118,7 @@ describe("ObjectClient", () => { sortName: "sort_name", descriptionHtml: "description_html", descriptionPlaintext: "description_plaintext", + kitchenName: "kitchen_name", channels: ["channels"], isArchived: true, isAlcoholic: true, @@ -162,6 +166,7 @@ describe("ObjectClient", () => { label_color: "label_color", is_taxable: true, category_id: "category_id", + buyer_facing_name: "buyer_facing_name", tax_ids: ["tax_ids"], modifier_list_info: [{ modifier_list_id: "modifier_list_id" }], product_type: "REGULAR", @@ -173,6 +178,7 @@ describe("ObjectClient", () => { sort_name: "sort_name", description_html: "description_html", description_plaintext: "description_plaintext", + kitchen_name: "kitchen_name", channels: ["channels"], is_archived: true, is_alcoholic: true, @@ -252,6 +258,7 @@ describe("ObjectClient", () => { labelColor: "label_color", isTaxable: true, categoryId: "category_id", + buyerFacingName: "buyer_facing_name", taxIds: ["tax_ids"], modifierListInfo: [ { @@ -267,6 +274,7 @@ describe("ObjectClient", () => { sortName: "sort_name", descriptionHtml: "description_html", descriptionPlaintext: "description_plaintext", + kitchenName: "kitchen_name", channels: ["channels"], isArchived: true, isAlcoholic: true, diff --git a/tests/wire/customers/cards.test.ts b/tests/wire/customers/cards.test.ts index 6301be9b6..cda7710b6 100644 --- a/tests/wire/customers/cards.test.ts +++ b/tests/wire/customers/cards.test.ts @@ -52,6 +52,8 @@ describe("CardsClient", () => { card_type: "UNKNOWN_CARD_TYPE", prepaid_type: "UNKNOWN_PREPAID_TYPE", bin: "bin", + created_at: "created_at", + disabled_at: "disabled_at", version: BigInt(1000000), card_co_brand: "UNKNOWN", issuer_alert: "ISSUER_ALERT_CARD_CLOSED", @@ -121,6 +123,8 @@ describe("CardsClient", () => { cardType: "UNKNOWN_CARD_TYPE", prepaidType: "UNKNOWN_PREPAID_TYPE", bin: "bin", + createdAt: "created_at", + disabledAt: "disabled_at", version: BigInt("1000000"), cardCoBrand: "UNKNOWN", issuerAlert: "ISSUER_ALERT_CARD_CLOSED", 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/mobile.test.ts b/tests/wire/mobile.test.ts index 85711e1cf..e134d29cf 100644 --- a/tests/wire/mobile.test.ts +++ b/tests/wire/mobile.test.ts @@ -7,35 +7,10 @@ describe("MobileClient", () => { test("authorizationCode", async () => { const server = mockServerPool.createServer(); const client = new SquareClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); - const rawRequestBody = { location_id: "YOUR_LOCATION_ID" }; - const rawResponseBody = { - authorization_code: "YOUR_MOBILE_AUTHORIZATION_CODE", - expires_at: "2019-01-10T19:42:08Z", - errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR", detail: "detail", field: "field" }], - }; - server - .mockEndpoint() - .post("/mobile/authorization-code") - .jsonBody(rawRequestBody) - .respondWith() - .statusCode(200) - .jsonBody(rawResponseBody) - .build(); - const response = await client.mobile.authorizationCode({ - locationId: "YOUR_LOCATION_ID", - }); - expect(response).toEqual({ - authorizationCode: "YOUR_MOBILE_AUTHORIZATION_CODE", - expiresAt: "2019-01-10T19:42:08Z", - errors: [ - { - category: "API_ERROR", - code: "INTERNAL_SERVER_ERROR", - detail: "detail", - field: "field", - }, - ], - }); + server.mockEndpoint().post("/mobile/authorization-code").respondWith().statusCode(200).build(); + + const response = await client.mobile.authorizationCode(); + expect(response).toEqual(undefined); }); }); diff --git a/tests/wire/payments.test.ts b/tests/wire/payments.test.ts index 2b28dcc6c..0ef972646 100644 --- a/tests/wire/payments.test.ts +++ b/tests/wire/payments.test.ts @@ -276,8 +276,15 @@ describe("PaymentsClient", () => { errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR" }], }, external_details: { type: "type", source: "source", source_id: "source_id" }, - wallet_details: { status: "status", brand: "brand" }, - buy_now_pay_later_details: { brand: "brand" }, + wallet_details: { + status: "status", + brand: "brand", + errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR" }], + }, + buy_now_pay_later_details: { + brand: "brand", + errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR" }], + }, square_account_details: { payment_source_token: "payment_source_token", errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR" }], @@ -471,9 +478,21 @@ describe("PaymentsClient", () => { walletDetails: { status: "status", brand: "brand", + errors: [ + { + category: "API_ERROR", + code: "INTERNAL_SERVER_ERROR", + }, + ], }, buyNowPayLaterDetails: { brand: "brand", + errors: [ + { + category: "API_ERROR", + code: "INTERNAL_SERVER_ERROR", + }, + ], }, squareAccountDetails: { paymentSourceToken: "payment_source_token", @@ -651,8 +670,15 @@ describe("PaymentsClient", () => { errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR" }], }, external_details: { type: "type", source: "source", source_id: "source_id" }, - wallet_details: { status: "status", brand: "brand" }, - buy_now_pay_later_details: { brand: "brand" }, + wallet_details: { + status: "status", + brand: "brand", + errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR" }], + }, + buy_now_pay_later_details: { + brand: "brand", + errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR" }], + }, square_account_details: { payment_source_token: "payment_source_token", errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR" }], @@ -840,9 +866,21 @@ describe("PaymentsClient", () => { walletDetails: { status: "status", brand: "brand", + errors: [ + { + category: "API_ERROR", + code: "INTERNAL_SERVER_ERROR", + }, + ], }, buyNowPayLaterDetails: { brand: "brand", + errors: [ + { + category: "API_ERROR", + code: "INTERNAL_SERVER_ERROR", + }, + ], }, squareAccountDetails: { paymentSourceToken: "payment_source_token", @@ -987,8 +1025,15 @@ describe("PaymentsClient", () => { errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR" }], }, external_details: { type: "type", source: "source", source_id: "source_id" }, - wallet_details: { status: "status", brand: "brand" }, - buy_now_pay_later_details: { brand: "brand" }, + wallet_details: { + status: "status", + brand: "brand", + errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR" }], + }, + buy_now_pay_later_details: { + brand: "brand", + errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR" }], + }, square_account_details: { payment_source_token: "payment_source_token", errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR" }], @@ -1179,9 +1224,21 @@ describe("PaymentsClient", () => { walletDetails: { status: "status", brand: "brand", + errors: [ + { + category: "API_ERROR", + code: "INTERNAL_SERVER_ERROR", + }, + ], }, buyNowPayLaterDetails: { brand: "brand", + errors: [ + { + category: "API_ERROR", + code: "INTERNAL_SERVER_ERROR", + }, + ], }, squareAccountDetails: { paymentSourceToken: "payment_source_token", @@ -1322,8 +1379,15 @@ describe("PaymentsClient", () => { errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR" }], }, external_details: { type: "type", source: "source", source_id: "source_id" }, - wallet_details: { status: "status", brand: "brand" }, - buy_now_pay_later_details: { brand: "brand" }, + wallet_details: { + status: "status", + brand: "brand", + errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR" }], + }, + buy_now_pay_later_details: { + brand: "brand", + errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR" }], + }, square_account_details: { payment_source_token: "payment_source_token", errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR" }], @@ -1502,9 +1566,21 @@ describe("PaymentsClient", () => { walletDetails: { status: "status", brand: "brand", + errors: [ + { + category: "API_ERROR", + code: "INTERNAL_SERVER_ERROR", + }, + ], }, buyNowPayLaterDetails: { brand: "brand", + errors: [ + { + category: "API_ERROR", + code: "INTERNAL_SERVER_ERROR", + }, + ], }, squareAccountDetails: { paymentSourceToken: "payment_source_token", @@ -1651,8 +1727,15 @@ describe("PaymentsClient", () => { errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR" }], }, external_details: { type: "type", source: "source", source_id: "source_id" }, - wallet_details: { status: "status", brand: "brand" }, - buy_now_pay_later_details: { brand: "brand" }, + wallet_details: { + status: "status", + brand: "brand", + errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR" }], + }, + buy_now_pay_later_details: { + brand: "brand", + errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR" }], + }, square_account_details: { payment_source_token: "payment_source_token", errors: [{ category: "API_ERROR", code: "INTERNAL_SERVER_ERROR" }], @@ -1841,9 +1924,21 @@ describe("PaymentsClient", () => { walletDetails: { status: "status", brand: "brand", + errors: [ + { + category: "API_ERROR", + code: "INTERNAL_SERVER_ERROR", + }, + ], }, buyNowPayLaterDetails: { brand: "brand", + errors: [ + { + category: "API_ERROR", + code: "INTERNAL_SERVER_ERROR", + }, + ], }, squareAccountDetails: { paymentSourceToken: "payment_source_token", diff --git a/tests/wire/terminal.test.ts b/tests/wire/terminal.test.ts index d4351969d..43a025ccc 100644 --- a/tests/wire/terminal.test.ts +++ b/tests/wire/terminal.test.ts @@ -180,6 +180,7 @@ describe("TerminalClient", () => { collect_signature: true, tip_settings: { allow_tipping: true, separate_tip_screen: true, custom_tip_field: false }, show_itemized_cart: true, + allow_auto_card_surcharge: true, }, deadline_duration: "PT5M", status: "COMPLETED", @@ -242,6 +243,7 @@ describe("TerminalClient", () => { customTipField: false, }, showItemizedCart: true, + allowAutoCardSurcharge: true, }, deadlineDuration: "PT5M", status: "COMPLETED", diff --git a/tests/wire/terminal/checkouts.test.ts b/tests/wire/terminal/checkouts.test.ts index 818c7de3c..efadf6ed0 100644 --- a/tests/wire/terminal/checkouts.test.ts +++ b/tests/wire/terminal/checkouts.test.ts @@ -36,6 +36,7 @@ describe("CheckoutsClient", () => { collect_signature: true, tip_settings: { allow_tipping: false }, show_itemized_cart: true, + allow_auto_card_surcharge: true, }, deadline_duration: "PT5M", status: "PENDING", @@ -108,6 +109,7 @@ describe("CheckoutsClient", () => { allowTipping: false, }, showItemizedCart: true, + allowAutoCardSurcharge: true, }, deadlineDuration: "PT5M", status: "PENDING", @@ -305,6 +307,7 @@ describe("CheckoutsClient", () => { collect_signature: true, tip_settings: { allow_tipping: false }, show_itemized_cart: true, + allow_auto_card_surcharge: true, }, deadline_duration: "PT5M", status: "IN_PROGRESS", @@ -365,6 +368,7 @@ describe("CheckoutsClient", () => { allowTipping: false, }, showItemizedCart: true, + allowAutoCardSurcharge: true, }, deadlineDuration: "PT5M", status: "IN_PROGRESS", @@ -414,6 +418,7 @@ describe("CheckoutsClient", () => { collect_signature: true, tip_settings: { allow_tipping: true }, show_itemized_cart: true, + allow_auto_card_surcharge: true, }, deadline_duration: "PT5M", status: "CANCELED", @@ -474,6 +479,7 @@ describe("CheckoutsClient", () => { allowTipping: true, }, showItemizedCart: true, + allowAutoCardSurcharge: true, }, deadlineDuration: "PT5M", status: "CANCELED", diff --git a/tests/wire/transferOrders.test.ts b/tests/wire/transferOrders.test.ts index 5967ad587..3def5d6ba 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) @@ -678,16 +678,12 @@ describe("TransferOrdersClient", () => { receipt: { line_items: [ { - transfer_order_line_uid: "transfer_order_line_uid", + transfer_order_line_uid: "1", quantity_received: "3", quantity_damaged: "1", quantity_canceled: "1", }, - { - transfer_order_line_uid: "transfer_order_line_uid", - quantity_received: "2", - quantity_canceled: "1", - }, + { transfer_order_line_uid: "2", quantity_received: "2", quantity_canceled: "1" }, ], }, version: BigInt(1753118664873), @@ -744,13 +740,13 @@ describe("TransferOrdersClient", () => { receipt: { lineItems: [ { - transferOrderLineUid: "transfer_order_line_uid", + transferOrderLineUid: "1", quantityReceived: "3", quantityDamaged: "1", quantityCanceled: "1", }, { - transferOrderLineUid: "transfer_order_line_uid", + transferOrderLineUid: "2", quantityReceived: "2", quantityCanceled: "1", }, 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"