From 3dff830d4046f668edfbf090bb22866125c30774 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Tue, 31 Mar 2026 00:46:45 +0000 Subject: [PATCH] SDK regeneration --- .github/workflows/ci.yml | 31 +- package.json | 7 +- reference.md | 132 +++- src/Client.ts | 4 +- src/api/errors/BadRequestError.ts | 4 +- src/api/errors/ConflictError.ts | 4 +- src/api/errors/ForbiddenError.ts | 4 +- src/api/errors/InternalServerError.ts | 4 +- src/api/errors/NotFoundError.ts | 4 +- src/api/errors/UnauthorizedError.ts | 4 +- src/api/errors/UnprocessableEntityError.ts | 4 +- src/api/resources/bulkSync/client/Client.ts | 489 ++++++++---- .../resources/executions/client/Client.ts | 257 +++++-- .../requests/ExecutionsExportLogsRequest.ts | 4 +- .../resources/schedules/client/Client.ts | 248 +++++-- .../resources/schemas/client/Client.ts | 223 ++++-- .../resources/connections/client/Client.ts | 693 ++++++++++++++---- .../connections/client/requests/ApiRequest.ts | 4 +- src/api/resources/events/client/Client.ts | 76 +- .../client/requests/EventsListRequest.ts | 4 +- src/api/resources/identity/client/Client.ts | 42 +- src/api/resources/jobs/client/Client.ts | 51 +- src/api/resources/modelSync/client/Client.ts | 579 +++++++++++---- .../client/requests/ModelSyncListRequest.ts | 1 + .../resources/executions/client/Client.ts | 241 ++++-- .../resources/targets/client/Client.ts | 214 ++++-- .../requests/TargetsGetTargetRequest.ts | 5 +- src/api/resources/models/client/Client.ts | 425 ++++++++--- .../client/requests/ModelsCreateRequest.ts | 1 + .../client/requests/ModelsGetRequest.ts | 4 +- .../client/requests/ModelsPreviewRequest.ts | 1 + .../client/requests/ModelsRemoveRequest.ts | 4 +- .../client/requests/ModelsSampleRequest.ts | 4 +- .../resources/notifications/client/Client.ts | 85 ++- .../resources/organization/client/Client.ts | 221 ++++-- .../resources/permissions/client/Client.ts | 15 +- .../resources/policies/client/Client.ts | 224 ++++-- .../resources/roles/client/Client.ts | 214 ++++-- .../resources/queryRunner/client/Client.ts | 105 ++- .../requests/QueryRunnerGetQueryRequest.ts | 4 +- src/api/resources/schemas/client/Client.ts | 389 +++++++--- src/api/resources/users/client/Client.ts | 279 +++++-- src/api/resources/webhooks/client/Client.ts | 271 +++++-- src/api/types/BulkSchema.ts | 2 + src/api/types/BulkSchemaExecutionStatus.ts | 4 +- src/api/types/BulkSyncIngestionStatus.ts | 16 + src/api/types/BulkSyncResponse.ts | 4 +- src/api/types/BulkSyncStatusResponse.ts | 1 + src/api/types/ConnectionResponseSchema.ts | 4 +- src/api/types/IngestionStatusLevel.ts | 13 + src/api/types/ModelField.ts | 2 +- src/api/types/ModelResponse.ts | 4 +- src/api/types/ModelSyncMode.ts | 3 +- src/api/types/ModelSyncResponse.ts | 4 +- .../{CommonOutputActor.ts => OutputActor.ts} | 2 +- src/api/types/V4RunQueryResult.ts | 2 +- src/api/types/index.ts | 14 +- src/core/fetcher/APIResponse.ts | 11 + src/core/fetcher/Fetcher.ts | 7 + src/core/fetcher/Headers.ts | 93 +++ src/core/fetcher/HttpResponsePromise.ts | 116 +++ src/core/fetcher/RawResponse.ts | 61 ++ src/core/fetcher/index.ts | 3 + src/core/index.ts | 2 +- src/errors/PolytomicError.ts | 30 +- src/version.ts | 2 +- .../unit/fetcher/HttpResponsePromise.test.ts | 143 ++++ tests/unit/fetcher/RawResponse.test.ts | 34 + .../fetcher/stream-wrappers/webpack.test.ts | 2 +- yarn.lock | 48 +- 70 files changed, 4729 insertions(+), 1477 deletions(-) create mode 100644 src/api/types/BulkSyncIngestionStatus.ts create mode 100644 src/api/types/IngestionStatusLevel.ts rename src/api/types/{CommonOutputActor.ts => OutputActor.ts} (77%) create mode 100644 src/core/fetcher/Headers.ts create mode 100644 src/core/fetcher/HttpResponsePromise.ts create mode 100644 src/core/fetcher/RawResponse.ts create mode 100644 tests/unit/fetcher/HttpResponsePromise.test.ts create mode 100644 tests/unit/fetcher/RawResponse.test.ts diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1a55fdb..7f884ee 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,7 @@ jobs: steps: - name: Checkout repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up node uses: actions/setup-node@v3 @@ -21,37 +21,10 @@ jobs: steps: - name: Checkout repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up node uses: actions/setup-node@v3 - name: Compile run: yarn && yarn test - - publish: - needs: [ compile, test ] - if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') - runs-on: ubuntu-latest - steps: - - name: Checkout repo - uses: actions/checkout@v3 - - name: Set up node - uses: actions/setup-node@v3 - - name: Install dependencies - run: yarn install - - name: Build - run: yarn build - - - name: Publish to npm - run: | - npm config set //registry.npmjs.org/:_authToken ${NPM_TOKEN} - if [[ ${GITHUB_REF} == *alpha* ]]; then - npm publish --access public --tag alpha - elif [[ ${GITHUB_REF} == *beta* ]]; then - npm publish --access public --tag beta - else - npm publish --access public - fi - env: - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} \ No newline at end of file diff --git a/package.json b/package.json index 89e8d4f..b1dc282 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "polytomic", - "version": "1.16.1", + "name": "", + "version": "1.16.2", "private": false, "repository": "https://github.com/polytomic/polytomic-typescript", "license": "MIT", @@ -40,5 +40,6 @@ "fs": false, "os": false, "path": false - } + }, + "packageManager": "yarn@1.22.22" } diff --git a/reference.md b/reference.md index 31fd089..745e093 100644 --- a/reference.md +++ b/reference.md @@ -1275,10 +1275,27 @@ await client.connections.getParameterValues("248df4b7-aa70-47b8-a036-33ac447e668 -
client.connections.apiV2CreateSharedConnection(id, { ...params }) -> Polytomic.V2CreateSharedConnectionResponseEnvelope +
client.connections.createSharedConnection(parentConnectionId, { ...params }) -> Polytomic.V2CreateSharedConnectionResponseEnvelope
+#### 📝 Description + +
+
+ +
+
+ +> 🚧 Requires partner key +> +> Shared connections can only be created by using [partner keys](https://apidocs.polytomic.com/guides/obtaining-api-keys#partner-keys). + +
+
+
+
+ #### 🔌 Usage
@@ -1288,8 +1305,8 @@ await client.connections.getParameterValues("248df4b7-aa70-47b8-a036-33ac447e668
```typescript -await client.connections.apiV2CreateSharedConnection("248df4b7-aa70-47b8-a036-33ac447e668d", { - organization_id: "248df4b7-aa70-47b8-a036-33ac447e668d", +await client.connections.createSharedConnection("248df4b7-aa70-47b8-a036-33ac447e668d", { + child_organization_id: "248df4b7-aa70-47b8-a036-33ac447e668d", }); ``` @@ -1306,7 +1323,7 @@ await client.connections.apiV2CreateSharedConnection("248df4b7-aa70-47b8-a036-33
-**id:** `string` +**parentConnectionId:** `string`
@@ -1333,12 +1350,75 @@ await client.connections.apiV2CreateSharedConnection("248df4b7-aa70-47b8-a036-33
+
client.connections.listSharedConnections(parentConnectionId) -> Polytomic.ConnectionListResponseEnvelope +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```typescript +await client.connections.listSharedConnections("248df4b7-aa70-47b8-a036-33ac447e668d"); +``` + +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**parentConnectionId:** `string` + +
+
+ +
+
+ +**requestOptions:** `Connections.RequestOptions` + +
+
+
+
+ +
+
+
+ ## QueryRunner
client.queryRunner.runQuery(connectionId, { ...params }) -> Polytomic.V4RunQueryEnvelope
+#### 📝 Description + +
+
+ +
+
+ +Submit a query for asynchronous execution against the connection. The initial response may only contain the query task id and status. Poll GET /api/queries/{id} with the returned id to retrieve completion status, fields, and results. + +
+
+
+
+ #### 🔌 Usage
@@ -1397,6 +1477,21 @@ await client.queryRunner.runQuery("248df4b7-aa70-47b8-a036-33ac447e668d", {
+#### 📝 Description + +
+
+ +
+
+ +Fetch the latest status for a submitted query and, once complete, return fields and paginated results. Use the query id returned by POST /api/connections/{connection_id}/query. + +
+
+
+
+ #### 🔌 Usage
@@ -1406,7 +1501,9 @@ await client.queryRunner.runQuery("248df4b7-aa70-47b8-a036-33ac447e668d", {
```typescript -await client.queryRunner.getQuery("248df4b7-aa70-47b8-a036-33ac447e668d"); +await client.queryRunner.getQuery("248df4b7-aa70-47b8-a036-33ac447e668d", { + page: "page", +}); ```
@@ -2080,6 +2177,7 @@ await client.models.post("248df4b7-aa70-47b8-a036-33ac447e668d"); ```typescript await client.models.preview({ + async: true, body: { configuration: { table: "public.users", @@ -2176,6 +2274,7 @@ await client.models.list(); ```typescript await client.models.create({ + async: true, body: { configuration: { table: "public.users", @@ -2231,7 +2330,9 @@ await client.models.create({
```typescript -await client.models.get("248df4b7-aa70-47b8-a036-33ac447e668d"); +await client.models.get("248df4b7-aa70-47b8-a036-33ac447e668d", { + async: true, +}); ```
@@ -2350,7 +2451,9 @@ await client.models.update("248df4b7-aa70-47b8-a036-33ac447e668d", {
```typescript -await client.models.remove("248df4b7-aa70-47b8-a036-33ac447e668d"); +await client.models.remove("248df4b7-aa70-47b8-a036-33ac447e668d", { + async: true, +}); ```
@@ -2421,7 +2524,9 @@ Returns sample records from the model. The first ten records that the source pro
```typescript -await client.models.sample("248df4b7-aa70-47b8-a036-33ac447e668d"); +await client.models.sample("248df4b7-aa70-47b8-a036-33ac447e668d", { + async: true, +}); ```
@@ -2593,6 +2698,7 @@ await client.modelSync.getSourceFields("248df4b7-aa70-47b8-a036-33ac447e668d"); ```typescript await client.modelSync.list({ active: true, + mode: "create", target_connection_id: "0b155265-c537-44c9-9359-a3ceb468a4da", }); ``` @@ -3207,8 +3313,10 @@ await client.modelSync.getStatus("248df4b7-aa70-47b8-a036-33ac447e668d"); ```typescript await client.events.list({ organization_id: "248df4b7-aa70-47b8-a036-33ac447e668d", + type: "type", starting_after: "2020-01-01T00:00:00Z", ending_before: "2020-01-01T00:00:00Z", + limit: 1, }); ``` @@ -4910,6 +5018,9 @@ await client.bulkSync.executions.getLogs( await client.bulkSync.executions.exportLogs( "248df4b7-aa70-47b8-a036-33ac447e668d", "248df4b7-aa70-47b8-a036-33ac447e668d", + { + notify: true, + }, ); ``` @@ -5556,7 +5667,10 @@ await client.bulkSync.schedules.delete("248df4b7-aa70-47b8-a036-33ac447e668d", "
```typescript -await client.modelSync.targets.getTarget("248df4b7-aa70-47b8-a036-33ac447e668d"); +await client.modelSync.targets.getTarget("248df4b7-aa70-47b8-a036-33ac447e668d", { + type: "type", + search: "search", +}); ```
diff --git a/src/Client.ts b/src/Client.ts index 27a5473..ce08a6e 100644 --- a/src/Client.ts +++ b/src/Client.ts @@ -26,7 +26,7 @@ export declare namespace PolytomicClient { baseUrl?: core.Supplier; token: core.Supplier; /** Override the X-Polytomic-Version header */ - version?: core.Supplier; + version?: core.Supplier; } export interface RequestOptions { @@ -37,7 +37,7 @@ export declare namespace PolytomicClient { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the X-Polytomic-Version header */ - version?: string | undefined; + version?: unknown; /** Additional headers to include in the request. */ headers?: Record; } diff --git a/src/api/errors/BadRequestError.ts b/src/api/errors/BadRequestError.ts index 7324511..7e578ac 100644 --- a/src/api/errors/BadRequestError.ts +++ b/src/api/errors/BadRequestError.ts @@ -4,13 +4,15 @@ import * as errors from "../../errors/index"; import * as Polytomic from "../index"; +import * as core from "../../core"; export class BadRequestError extends errors.PolytomicError { - constructor(body: Polytomic.ApiError) { + constructor(body: Polytomic.ApiError, rawResponse?: core.RawResponse) { super({ message: "BadRequestError", statusCode: 400, body: body, + rawResponse: rawResponse, }); Object.setPrototypeOf(this, BadRequestError.prototype); } diff --git a/src/api/errors/ConflictError.ts b/src/api/errors/ConflictError.ts index ba56040..903ae6f 100644 --- a/src/api/errors/ConflictError.ts +++ b/src/api/errors/ConflictError.ts @@ -4,13 +4,15 @@ import * as errors from "../../errors/index"; import * as Polytomic from "../index"; +import * as core from "../../core"; export class ConflictError extends errors.PolytomicError { - constructor(body: Polytomic.ApiError) { + constructor(body: Polytomic.ApiError, rawResponse?: core.RawResponse) { super({ message: "ConflictError", statusCode: 409, body: body, + rawResponse: rawResponse, }); Object.setPrototypeOf(this, ConflictError.prototype); } diff --git a/src/api/errors/ForbiddenError.ts b/src/api/errors/ForbiddenError.ts index 6497e33..f500a66 100644 --- a/src/api/errors/ForbiddenError.ts +++ b/src/api/errors/ForbiddenError.ts @@ -4,13 +4,15 @@ import * as errors from "../../errors/index"; import * as Polytomic from "../index"; +import * as core from "../../core"; export class ForbiddenError extends errors.PolytomicError { - constructor(body: Polytomic.ApiError) { + constructor(body: Polytomic.ApiError, rawResponse?: core.RawResponse) { super({ message: "ForbiddenError", statusCode: 403, body: body, + rawResponse: rawResponse, }); Object.setPrototypeOf(this, ForbiddenError.prototype); } diff --git a/src/api/errors/InternalServerError.ts b/src/api/errors/InternalServerError.ts index 18b9278..3c3d123 100644 --- a/src/api/errors/InternalServerError.ts +++ b/src/api/errors/InternalServerError.ts @@ -4,13 +4,15 @@ import * as errors from "../../errors/index"; import * as Polytomic from "../index"; +import * as core from "../../core"; export class InternalServerError extends errors.PolytomicError { - constructor(body: Polytomic.ApiError) { + constructor(body: Polytomic.ApiError, rawResponse?: core.RawResponse) { super({ message: "InternalServerError", statusCode: 500, body: body, + rawResponse: rawResponse, }); Object.setPrototypeOf(this, InternalServerError.prototype); } diff --git a/src/api/errors/NotFoundError.ts b/src/api/errors/NotFoundError.ts index 9eb76bf..b152969 100644 --- a/src/api/errors/NotFoundError.ts +++ b/src/api/errors/NotFoundError.ts @@ -4,13 +4,15 @@ import * as errors from "../../errors/index"; import * as Polytomic from "../index"; +import * as core from "../../core"; export class NotFoundError extends errors.PolytomicError { - constructor(body: Polytomic.ApiError) { + constructor(body: Polytomic.ApiError, rawResponse?: core.RawResponse) { super({ message: "NotFoundError", statusCode: 404, body: body, + rawResponse: rawResponse, }); Object.setPrototypeOf(this, NotFoundError.prototype); } diff --git a/src/api/errors/UnauthorizedError.ts b/src/api/errors/UnauthorizedError.ts index 809d349..5fd852c 100644 --- a/src/api/errors/UnauthorizedError.ts +++ b/src/api/errors/UnauthorizedError.ts @@ -4,13 +4,15 @@ import * as errors from "../../errors/index"; import * as Polytomic from "../index"; +import * as core from "../../core"; export class UnauthorizedError extends errors.PolytomicError { - constructor(body: Polytomic.RestErrResponse) { + constructor(body: Polytomic.RestErrResponse, rawResponse?: core.RawResponse) { super({ message: "UnauthorizedError", statusCode: 401, body: body, + rawResponse: rawResponse, }); Object.setPrototypeOf(this, UnauthorizedError.prototype); } diff --git a/src/api/errors/UnprocessableEntityError.ts b/src/api/errors/UnprocessableEntityError.ts index 694b74d..141656b 100644 --- a/src/api/errors/UnprocessableEntityError.ts +++ b/src/api/errors/UnprocessableEntityError.ts @@ -4,13 +4,15 @@ import * as errors from "../../errors/index"; import * as Polytomic from "../index"; +import * as core from "../../core"; export class UnprocessableEntityError extends errors.PolytomicError { - constructor(body: Polytomic.ApiError) { + constructor(body: Polytomic.ApiError, rawResponse?: core.RawResponse) { super({ message: "UnprocessableEntityError", statusCode: 422, body: body, + rawResponse: rawResponse, }); Object.setPrototypeOf(this, UnprocessableEntityError.prototype); } diff --git a/src/api/resources/bulkSync/client/Client.ts b/src/api/resources/bulkSync/client/Client.ts index ce9291a..07726c6 100644 --- a/src/api/resources/bulkSync/client/Client.ts +++ b/src/api/resources/bulkSync/client/Client.ts @@ -5,6 +5,7 @@ import * as environments from "../../../../environments"; import * as core from "../../../../core"; import * as Polytomic from "../../../index"; +import { toJson } from "../../../../core/json"; import urlJoin from "url-join"; import * as errors from "../../../../errors/index"; import { Executions } from "../resources/executions/client/Client"; @@ -18,7 +19,7 @@ export declare namespace BulkSync { baseUrl?: core.Supplier; token: core.Supplier; /** Override the X-Polytomic-Version header */ - version?: core.Supplier; + version?: core.Supplier; } export interface RequestOptions { @@ -29,7 +30,7 @@ export declare namespace BulkSync { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the X-Polytomic-Version header */ - version?: string | undefined; + version?: unknown; /** Additional headers to include in the request. */ headers?: Record; } @@ -66,10 +67,17 @@ export class BulkSync { * active: true * }) */ - public async list( + public list( request: Polytomic.BulkSyncListRequest = {}, requestOptions?: BulkSync.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Polytomic.BulkSyncListRequest = {}, + requestOptions?: BulkSync.RequestOptions, + ): Promise> { const { active } = request; const _queryParams: Record = {}; if (active != null) { @@ -87,13 +95,12 @@ export class BulkSync { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -106,19 +113,26 @@ export class BulkSync { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.BulkSyncListEnvelope; + return { data: _response.body as Polytomic.BulkSyncListEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -128,12 +142,14 @@ export class BulkSync { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling GET /api/bulk/syncs."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -188,10 +204,17 @@ export class BulkSync { * source_connection_id: "248df4b7-aa70-47b8-a036-33ac447e668d" * }) */ - public async create( + public create( request: Polytomic.CreateBulkSyncRequest, requestOptions?: BulkSync.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); + } + + private async __create( + request: Polytomic.CreateBulkSyncRequest, + requestOptions?: BulkSync.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -203,13 +226,12 @@ export class BulkSync { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -222,25 +244,41 @@ export class BulkSync { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.BulkSyncResponseEnvelope; + return { data: _response.body as Polytomic.BulkSyncResponseEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 422: - throw new Polytomic.UnprocessableEntityError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.UnprocessableEntityError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -250,12 +288,14 @@ export class BulkSync { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling POST /api/bulk/syncs."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -273,11 +313,19 @@ export class BulkSync { * refresh_schemas: true * }) */ - public async get( + public get( + id: string, + request: Polytomic.BulkSyncGetRequest = {}, + requestOptions?: BulkSync.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(id, request, requestOptions)); + } + + private async __get( id: string, request: Polytomic.BulkSyncGetRequest = {}, requestOptions?: BulkSync.RequestOptions, - ): Promise { + ): Promise> { const { refresh_schemas: refreshSchemas } = request; const _queryParams: Record = {}; if (refreshSchemas != null) { @@ -295,13 +343,12 @@ export class BulkSync { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -314,19 +361,26 @@ export class BulkSync { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.BulkSyncResponseEnvelope; + return { data: _response.body as Polytomic.BulkSyncResponseEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -336,12 +390,14 @@ export class BulkSync { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling GET /api/bulk/syncs/{id}."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -374,11 +430,19 @@ export class BulkSync { * source_connection_id: "248df4b7-aa70-47b8-a036-33ac447e668d" * }) */ - public async update( + public update( id: string, request: Polytomic.UpdateBulkSyncRequest, requestOptions?: BulkSync.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); + } + + private async __update( + id: string, + request: Polytomic.UpdateBulkSyncRequest, + requestOptions?: BulkSync.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -390,13 +454,12 @@ export class BulkSync { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -409,25 +472,41 @@ export class BulkSync { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.BulkSyncResponseEnvelope; + return { data: _response.body as Polytomic.BulkSyncResponseEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -437,12 +516,14 @@ export class BulkSync { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling PUT /api/bulk/syncs/{id}."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -462,11 +543,19 @@ export class BulkSync { * refresh_schemas: true * }) */ - public async remove( + public remove( + id: string, + request: Polytomic.BulkSyncRemoveRequest = {}, + requestOptions?: BulkSync.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__remove(id, request, requestOptions)); + } + + private async __remove( id: string, request: Polytomic.BulkSyncRemoveRequest = {}, requestOptions?: BulkSync.RequestOptions, - ): Promise { + ): Promise> { const { refresh_schemas: refreshSchemas } = request; const _queryParams: Record = {}; if (refreshSchemas != null) { @@ -484,13 +573,12 @@ export class BulkSync { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -503,23 +591,36 @@ export class BulkSync { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return; + return { data: undefined, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -529,12 +630,14 @@ export class BulkSync { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling DELETE /api/bulk/syncs/{id}."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -554,11 +657,19 @@ export class BulkSync { * active: true * }) */ - public async activate( + public activate( + id: string, + request: Polytomic.ActivateSyncInput, + requestOptions?: BulkSync.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__activate(id, request, requestOptions)); + } + + private async __activate( id: string, request: Polytomic.ActivateSyncInput, requestOptions?: BulkSync.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -570,13 +681,12 @@ export class BulkSync { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -589,23 +699,36 @@ export class BulkSync { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ActivateSyncEnvelope; + return { data: _response.body as Polytomic.ActivateSyncEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -615,6 +738,7 @@ export class BulkSync { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -623,6 +747,7 @@ export class BulkSync { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -639,10 +764,17 @@ export class BulkSync { * @example * await client.bulkSync.cancel("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async cancel( + public cancel( + id: string, + requestOptions?: BulkSync.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__cancel(id, requestOptions)); + } + + private async __cancel( id: string, requestOptions?: BulkSync.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -654,13 +786,12 @@ export class BulkSync { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -672,23 +803,39 @@ export class BulkSync { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.CancelBulkSyncResponseEnvelope; + return { + data: _response.body as Polytomic.CancelBulkSyncResponseEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -698,6 +845,7 @@ export class BulkSync { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -706,6 +854,7 @@ export class BulkSync { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -722,11 +871,19 @@ export class BulkSync { * @example * await client.bulkSync.start("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async start( + public start( id: string, request: Polytomic.StartBulkSyncRequest = {}, requestOptions?: BulkSync.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__start(id, request, requestOptions)); + } + + private async __start( + id: string, + request: Polytomic.StartBulkSyncRequest = {}, + requestOptions?: BulkSync.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -738,13 +895,12 @@ export class BulkSync { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -757,21 +913,31 @@ export class BulkSync { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.BulkSyncExecutionEnvelope; + return { data: _response.body as Polytomic.BulkSyncExecutionEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 409: - throw new Polytomic.ConflictError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ConflictError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -781,6 +947,7 @@ export class BulkSync { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -789,6 +956,7 @@ export class BulkSync { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -804,10 +972,17 @@ export class BulkSync { * @example * await client.bulkSync.getStatus("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async getStatus( + public getStatus( id: string, requestOptions?: BulkSync.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getStatus(id, requestOptions)); + } + + private async __getStatus( + id: string, + requestOptions?: BulkSync.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -819,13 +994,12 @@ export class BulkSync { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -837,21 +1011,31 @@ export class BulkSync { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.BulkSyncStatusEnvelope; + return { data: _response.body as Polytomic.BulkSyncStatusEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -861,6 +1045,7 @@ export class BulkSync { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -869,6 +1054,7 @@ export class BulkSync { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -888,11 +1074,19 @@ export class BulkSync { * include_fields: true * }) */ - public async getSource( + public getSource( + id: string, + request: Polytomic.BulkSyncGetSourceRequest = {}, + requestOptions?: BulkSync.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getSource(id, request, requestOptions)); + } + + private async __getSource( id: string, request: Polytomic.BulkSyncGetSourceRequest = {}, requestOptions?: BulkSync.RequestOptions, - ): Promise { + ): Promise> { const { include_fields: includeFields } = request; const _queryParams: Record = {}; if (includeFields != null) { @@ -910,13 +1104,12 @@ export class BulkSync { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -929,23 +1122,36 @@ export class BulkSync { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.BulkSyncSourceEnvelope; + return { data: _response.body as Polytomic.BulkSyncSourceEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -955,6 +1161,7 @@ export class BulkSync { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -963,6 +1170,7 @@ export class BulkSync { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -979,10 +1187,17 @@ export class BulkSync { * @example * await client.bulkSync.getDestination("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async getDestination( + public getDestination( + id: string, + requestOptions?: BulkSync.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getDestination(id, requestOptions)); + } + + private async __getDestination( id: string, requestOptions?: BulkSync.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -994,13 +1209,12 @@ export class BulkSync { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -1012,23 +1226,36 @@ export class BulkSync { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.BulkSyncDestEnvelope; + return { data: _response.body as Polytomic.BulkSyncDestEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -1038,6 +1265,7 @@ export class BulkSync { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -1046,6 +1274,7 @@ export class BulkSync { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } diff --git a/src/api/resources/bulkSync/resources/executions/client/Client.ts b/src/api/resources/bulkSync/resources/executions/client/Client.ts index fd2b979..59a74fb 100644 --- a/src/api/resources/bulkSync/resources/executions/client/Client.ts +++ b/src/api/resources/bulkSync/resources/executions/client/Client.ts @@ -5,6 +5,7 @@ import * as environments from "../../../../../../environments"; import * as core from "../../../../../../core"; import * as Polytomic from "../../../../../index"; +import { toJson } from "../../../../../../core/json"; import urlJoin from "url-join"; import * as errors from "../../../../../../errors/index"; @@ -15,7 +16,7 @@ export declare namespace Executions { baseUrl?: core.Supplier; token: core.Supplier; /** Override the X-Polytomic-Version header */ - version?: core.Supplier; + version?: core.Supplier; } export interface RequestOptions { @@ -26,7 +27,7 @@ export declare namespace Executions { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the X-Polytomic-Version header */ - version?: string | undefined; + version?: unknown; /** Additional headers to include in the request. */ headers?: Record; } @@ -48,10 +49,17 @@ export class Executions { * active: true * }) */ - public async listStatus( + public listStatus( request: Polytomic.bulkSync.ExecutionsListStatusRequest = {}, requestOptions?: Executions.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__listStatus(request, requestOptions)); + } + + private async __listStatus( + request: Polytomic.bulkSync.ExecutionsListStatusRequest = {}, + requestOptions?: Executions.RequestOptions, + ): Promise> { const { all, active, sync_id: syncId } = request; const _queryParams: Record = {}; if (all != null) { @@ -81,13 +89,12 @@ export class Executions { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -100,19 +107,29 @@ export class Executions { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ListBulkSyncExecutionStatusEnvelope; + return { + data: _response.body as Polytomic.ListBulkSyncExecutionStatusEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -122,12 +139,14 @@ export class Executions { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling GET /api/bulk/syncs/status."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -148,11 +167,19 @@ export class Executions { * limit: 100 * }) */ - public async list( + public list( + id: string, + request: Polytomic.bulkSync.ExecutionsListRequest = {}, + requestOptions?: Executions.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(id, request, requestOptions)); + } + + private async __list( id: string, request: Polytomic.bulkSync.ExecutionsListRequest = {}, requestOptions?: Executions.RequestOptions, - ): Promise { + ): Promise> { const { page_token: pageToken, only_terminal: onlyTerminal, ascending, limit } = request; const _queryParams: Record = {}; if (pageToken != null) { @@ -182,13 +209,12 @@ export class Executions { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -201,19 +227,29 @@ export class Executions { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ListBulkSyncExecutionsEnvelope; + return { + data: _response.body as Polytomic.ListBulkSyncExecutionsEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -223,6 +259,7 @@ export class Executions { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -231,6 +268,7 @@ export class Executions { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -246,11 +284,19 @@ export class Executions { * @example * await client.bulkSync.executions.get("248df4b7-aa70-47b8-a036-33ac447e668d", "248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async get( + public get( + id: string, + execId: string, + requestOptions?: Executions.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(id, execId, requestOptions)); + } + + private async __get( id: string, execId: string, requestOptions?: Executions.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -262,13 +308,12 @@ export class Executions { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -280,19 +325,26 @@ export class Executions { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.BulkSyncExecutionEnvelope; + return { data: _response.body as Polytomic.BulkSyncExecutionEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -302,6 +354,7 @@ export class Executions { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -310,6 +363,7 @@ export class Executions { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -327,11 +381,19 @@ export class Executions { * @example * await client.bulkSync.executions.cancel("248df4b7-aa70-47b8-a036-33ac447e668d", "248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async cancel( + public cancel( id: string, execId: string, requestOptions?: Executions.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__cancel(id, execId, requestOptions)); + } + + private async __cancel( + id: string, + execId: string, + requestOptions?: Executions.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -343,13 +405,12 @@ export class Executions { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -361,23 +422,39 @@ export class Executions { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.CancelBulkSyncResponseEnvelope; + return { + data: _response.body as Polytomic.CancelBulkSyncResponseEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -387,6 +464,7 @@ export class Executions { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -395,6 +473,7 @@ export class Executions { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -410,11 +489,19 @@ export class Executions { * @example * await client.bulkSync.executions.getLogs("248df4b7-aa70-47b8-a036-33ac447e668d", "248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async getLogs( + public getLogs( + syncId: string, + executionId: string, + requestOptions?: Executions.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getLogs(syncId, executionId, requestOptions)); + } + + private async __getLogs( syncId: string, executionId: string, requestOptions?: Executions.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -426,13 +513,12 @@ export class Executions { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -444,19 +530,29 @@ export class Executions { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.V4BulkSyncExecutionLogsEnvelope; + return { + data: _response.body as Polytomic.V4BulkSyncExecutionLogsEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -466,6 +562,7 @@ export class Executions { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -474,6 +571,7 @@ export class Executions { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -490,14 +588,25 @@ export class Executions { * @throws {@link Polytomic.InternalServerError} * * @example - * await client.bulkSync.executions.exportLogs("248df4b7-aa70-47b8-a036-33ac447e668d", "248df4b7-aa70-47b8-a036-33ac447e668d") + * await client.bulkSync.executions.exportLogs("248df4b7-aa70-47b8-a036-33ac447e668d", "248df4b7-aa70-47b8-a036-33ac447e668d", { + * notify: true + * }) */ - public async exportLogs( + public exportLogs( + syncId: string, + executionId: string, + request: Polytomic.bulkSync.ExecutionsExportLogsRequest = {}, + requestOptions?: Executions.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__exportLogs(syncId, executionId, request, requestOptions)); + } + + private async __exportLogs( syncId: string, executionId: string, request: Polytomic.bulkSync.ExecutionsExportLogsRequest = {}, requestOptions?: Executions.RequestOptions, - ): Promise { + ): Promise> { const { notify } = request; const _queryParams: Record = {}; if (notify != null) { @@ -515,13 +624,12 @@ export class Executions { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -534,23 +642,36 @@ export class Executions { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.V4ExportSyncLogsEnvelope; + return { data: _response.body as Polytomic.V4ExportSyncLogsEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -560,6 +681,7 @@ export class Executions { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -568,6 +690,7 @@ export class Executions { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } diff --git a/src/api/resources/bulkSync/resources/executions/client/requests/ExecutionsExportLogsRequest.ts b/src/api/resources/bulkSync/resources/executions/client/requests/ExecutionsExportLogsRequest.ts index c9f2bab..6ed3e4e 100644 --- a/src/api/resources/bulkSync/resources/executions/client/requests/ExecutionsExportLogsRequest.ts +++ b/src/api/resources/bulkSync/resources/executions/client/requests/ExecutionsExportLogsRequest.ts @@ -4,7 +4,9 @@ /** * @example - * {} + * { + * notify: true + * } */ export interface ExecutionsExportLogsRequest { /** diff --git a/src/api/resources/bulkSync/resources/schedules/client/Client.ts b/src/api/resources/bulkSync/resources/schedules/client/Client.ts index 0fda8a2..9690fd1 100644 --- a/src/api/resources/bulkSync/resources/schedules/client/Client.ts +++ b/src/api/resources/bulkSync/resources/schedules/client/Client.ts @@ -5,6 +5,7 @@ import * as environments from "../../../../../../environments"; import * as core from "../../../../../../core"; import * as Polytomic from "../../../../../index"; +import { toJson } from "../../../../../../core/json"; import urlJoin from "url-join"; import * as errors from "../../../../../../errors/index"; @@ -15,7 +16,7 @@ export declare namespace Schedules { baseUrl?: core.Supplier; token: core.Supplier; /** Override the X-Polytomic-Version header */ - version?: core.Supplier; + version?: core.Supplier; } export interface RequestOptions { @@ -26,7 +27,7 @@ export declare namespace Schedules { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the X-Polytomic-Version header */ - version?: string | undefined; + version?: unknown; /** Additional headers to include in the request. */ headers?: Record; } @@ -47,7 +48,17 @@ export class Schedules { * @example * await client.bulkSync.schedules.list("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async list(syncId: string, requestOptions?: Schedules.RequestOptions): Promise { + public list( + syncId: string, + requestOptions?: Schedules.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(syncId, requestOptions)); + } + + private async __list( + syncId: string, + requestOptions?: Schedules.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -59,13 +70,12 @@ export class Schedules { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -77,23 +87,36 @@ export class Schedules { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.SchedulesEnvelope; + return { data: _response.body as Polytomic.SchedulesEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -103,6 +126,7 @@ export class Schedules { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -111,6 +135,7 @@ export class Schedules { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -133,11 +158,19 @@ export class Schedules { * } * }) */ - public async create( + public create( syncId: string, request: Polytomic.bulkSync.CreateScheduleRequest, requestOptions?: Schedules.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(syncId, request, requestOptions)); + } + + private async __create( + syncId: string, + request: Polytomic.bulkSync.CreateScheduleRequest, + requestOptions?: Schedules.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -149,13 +182,12 @@ export class Schedules { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -168,25 +200,41 @@ export class Schedules { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ScheduleEnvelope; + return { data: _response.body as Polytomic.ScheduleEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -196,6 +244,7 @@ export class Schedules { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -204,6 +253,7 @@ export class Schedules { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -221,11 +271,19 @@ export class Schedules { * @example * await client.bulkSync.schedules.get("248df4b7-aa70-47b8-a036-33ac447e668d", "248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async get( + public get( + syncId: string, + scheduleId: string, + requestOptions?: Schedules.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(syncId, scheduleId, requestOptions)); + } + + private async __get( syncId: string, scheduleId: string, requestOptions?: Schedules.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -237,13 +295,12 @@ export class Schedules { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -255,23 +312,36 @@ export class Schedules { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ScheduleEnvelope; + return { data: _response.body as Polytomic.ScheduleEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -281,6 +351,7 @@ export class Schedules { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -289,6 +360,7 @@ export class Schedules { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -312,12 +384,21 @@ export class Schedules { * } * }) */ - public async update( + public update( + syncId: string, + scheduleId: string, + request: Polytomic.bulkSync.UpdateScheduleRequest, + requestOptions?: Schedules.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(syncId, scheduleId, request, requestOptions)); + } + + private async __update( syncId: string, scheduleId: string, request: Polytomic.bulkSync.UpdateScheduleRequest, requestOptions?: Schedules.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -329,13 +410,12 @@ export class Schedules { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -348,25 +428,41 @@ export class Schedules { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ScheduleEnvelope; + return { data: _response.body as Polytomic.ScheduleEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -376,6 +472,7 @@ export class Schedules { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -384,6 +481,7 @@ export class Schedules { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -401,7 +499,19 @@ export class Schedules { * @example * await client.bulkSync.schedules.delete("248df4b7-aa70-47b8-a036-33ac447e668d", "248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async delete(syncId: string, scheduleId: string, requestOptions?: Schedules.RequestOptions): Promise { + public delete( + syncId: string, + scheduleId: string, + requestOptions?: Schedules.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__delete(syncId, scheduleId, requestOptions)); + } + + private async __delete( + syncId: string, + scheduleId: string, + requestOptions?: Schedules.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -413,13 +523,12 @@ export class Schedules { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -431,23 +540,36 @@ export class Schedules { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return; + return { data: undefined, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -457,6 +579,7 @@ export class Schedules { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -465,6 +588,7 @@ export class Schedules { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } diff --git a/src/api/resources/bulkSync/resources/schemas/client/Client.ts b/src/api/resources/bulkSync/resources/schemas/client/Client.ts index 347f2e9..4f3c825 100644 --- a/src/api/resources/bulkSync/resources/schemas/client/Client.ts +++ b/src/api/resources/bulkSync/resources/schemas/client/Client.ts @@ -16,7 +16,7 @@ export declare namespace Schemas { baseUrl?: core.Supplier; token: core.Supplier; /** Override the X-Polytomic-Version header */ - version?: core.Supplier; + version?: core.Supplier; } export interface RequestOptions { @@ -27,7 +27,7 @@ export declare namespace Schemas { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the X-Polytomic-Version header */ - version?: string | undefined; + version?: unknown; /** Additional headers to include in the request. */ headers?: Record; } @@ -47,11 +47,19 @@ export class Schemas { * @example * await client.bulkSync.schemas.list("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async list( + public list( id: string, request: Polytomic.bulkSync.SchemasListRequest = {}, requestOptions?: Schemas.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(id, request, requestOptions)); + } + + private async __list( + id: string, + request: Polytomic.bulkSync.SchemasListRequest = {}, + requestOptions?: Schemas.RequestOptions, + ): Promise> { const { filters } = request; const _queryParams: Record = {}; if (filters != null) { @@ -69,13 +77,12 @@ export class Schemas { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -88,19 +95,26 @@ export class Schemas { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ListBulkSchema; + return { data: _response.body as Polytomic.ListBulkSchema, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -110,6 +124,7 @@ export class Schemas { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -118,6 +133,7 @@ export class Schemas { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -136,11 +152,19 @@ export class Schemas { * @example * await client.bulkSync.schemas.patch("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async patch( + public patch( id: string, request: Polytomic.bulkSync.BulkSyncSchemasRequest = {}, requestOptions?: Schemas.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__patch(id, request, requestOptions)); + } + + private async __patch( + id: string, + request: Polytomic.bulkSync.BulkSyncSchemasRequest = {}, + requestOptions?: Schemas.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -152,13 +176,12 @@ export class Schemas { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -171,25 +194,41 @@ export class Schemas { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ListBulkSchema; + return { data: _response.body as Polytomic.ListBulkSchema, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -199,6 +238,7 @@ export class Schemas { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -207,6 +247,7 @@ export class Schemas { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -222,11 +263,19 @@ export class Schemas { * @example * await client.bulkSync.schemas.get("248df4b7-aa70-47b8-a036-33ac447e668d", "Contact") */ - public async get( + public get( + id: string, + schemaId: string, + requestOptions?: Schemas.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(id, schemaId, requestOptions)); + } + + private async __get( id: string, schemaId: string, requestOptions?: Schemas.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -238,13 +287,12 @@ export class Schemas { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -256,19 +304,26 @@ export class Schemas { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.BulkSchemaEnvelope; + return { data: _response.body as Polytomic.BulkSchemaEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -278,6 +333,7 @@ export class Schemas { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -286,6 +342,7 @@ export class Schemas { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -304,12 +361,21 @@ export class Schemas { * @example * await client.bulkSync.schemas.update("248df4b7-aa70-47b8-a036-33ac447e668d", "contact") */ - public async update( + public update( id: string, schemaId: string, request: Polytomic.bulkSync.UpdateBulkSchema = {}, requestOptions?: Schemas.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(id, schemaId, request, requestOptions)); + } + + private async __update( + id: string, + schemaId: string, + request: Polytomic.bulkSync.UpdateBulkSchema = {}, + requestOptions?: Schemas.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -321,13 +387,12 @@ export class Schemas { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -340,23 +405,36 @@ export class Schemas { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.BulkSchemaEnvelope; + return { data: _response.body as Polytomic.BulkSchemaEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -366,6 +444,7 @@ export class Schemas { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -374,6 +453,7 @@ export class Schemas { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -391,11 +471,19 @@ export class Schemas { * @example * await client.bulkSync.schemas.cancel("248df4b7-aa70-47b8-a036-33ac447e668d", "schema_id") */ - public async cancel( + public cancel( + id: string, + schemaId: string, + requestOptions?: Schemas.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__cancel(id, schemaId, requestOptions)); + } + + private async __cancel( id: string, schemaId: string, requestOptions?: Schemas.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -407,13 +495,12 @@ export class Schemas { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -425,23 +512,39 @@ export class Schemas { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.CancelBulkSyncResponseEnvelope; + return { + data: _response.body as Polytomic.CancelBulkSyncResponseEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -451,6 +554,7 @@ export class Schemas { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -459,6 +563,7 @@ export class Schemas { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } diff --git a/src/api/resources/connections/client/Client.ts b/src/api/resources/connections/client/Client.ts index 0618632..81f4ad2 100644 --- a/src/api/resources/connections/client/Client.ts +++ b/src/api/resources/connections/client/Client.ts @@ -5,6 +5,7 @@ import * as environments from "../../../../environments"; import * as core from "../../../../core"; import * as Polytomic from "../../../index"; +import { toJson } from "../../../../core/json"; import urlJoin from "url-join"; import * as errors from "../../../../errors/index"; @@ -15,7 +16,7 @@ export declare namespace Connections { baseUrl?: core.Supplier; token: core.Supplier; /** Override the X-Polytomic-Version header */ - version?: core.Supplier; + version?: core.Supplier; } export interface RequestOptions { @@ -26,7 +27,7 @@ export declare namespace Connections { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the X-Polytomic-Version header */ - version?: string | undefined; + version?: unknown; /** Additional headers to include in the request. */ headers?: Record; } @@ -44,9 +45,15 @@ export class Connections { * @example * await client.connections.getTypes() */ - public async getTypes( + public getTypes( requestOptions?: Connections.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getTypes(requestOptions)); + } + + private async __getTypes( + requestOptions?: Connections.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -58,13 +65,12 @@ export class Connections { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -76,19 +82,29 @@ export class Connections { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ConnectionTypeResponseEnvelope; + return { + data: _response.body as Polytomic.ConnectionTypeResponseEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -98,12 +114,14 @@ export class Connections { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling GET /api/connection_types."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -119,10 +137,17 @@ export class Connections { * @example * await client.connections.getConnectionTypeSchema("postgresql") */ - public async getConnectionTypeSchema( + public getConnectionTypeSchema( + id: string, + requestOptions?: Connections.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getConnectionTypeSchema(id, requestOptions)); + } + + private async __getConnectionTypeSchema( id: string, requestOptions?: Connections.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -134,13 +159,12 @@ export class Connections { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -152,21 +176,31 @@ export class Connections { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.JsonschemaSchema; + return { data: _response.body as Polytomic.JsonschemaSchema, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -176,12 +210,14 @@ export class Connections { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling GET /api/connection_types/{id}."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -201,11 +237,19 @@ export class Connections { * field: "field" * }) */ - public async getTypeParameterValues( + public getTypeParameterValues( + type_: string, + request: Polytomic.GetConnectionTypeParameterValuesRequestSchema, + requestOptions?: Connections.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getTypeParameterValues(type_, request, requestOptions)); + } + + private async __getTypeParameterValues( type_: string, request: Polytomic.GetConnectionTypeParameterValuesRequestSchema, requestOptions?: Connections.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -217,13 +261,12 @@ export class Connections { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -236,23 +279,39 @@ export class Connections { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ConnectionParameterValuesResponseEnvelope; + return { + data: _response.body as Polytomic.ConnectionParameterValuesResponseEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -262,6 +321,7 @@ export class Connections { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -270,6 +330,7 @@ export class Connections { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -283,7 +344,15 @@ export class Connections { * @example * await client.connections.list() */ - public async list(requestOptions?: Connections.RequestOptions): Promise { + public list( + requestOptions?: Connections.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(requestOptions)); + } + + private async __list( + requestOptions?: Connections.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -295,13 +364,12 @@ export class Connections { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -313,19 +381,29 @@ export class Connections { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ConnectionListResponseEnvelope; + return { + data: _response.body as Polytomic.ConnectionListResponseEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -335,12 +413,14 @@ export class Connections { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling GET /api/connections."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -368,10 +448,17 @@ export class Connections { * type: "postgresql" * }) */ - public async create( + public create( request: Polytomic.CreateConnectionRequestSchema, requestOptions?: Connections.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); + } + + private async __create( + request: Polytomic.CreateConnectionRequestSchema, + requestOptions?: Connections.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -383,13 +470,12 @@ export class Connections { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -402,25 +488,44 @@ export class Connections { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.CreateConnectionResponseEnvelope; + return { + data: _response.body as Polytomic.CreateConnectionResponseEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 422: - throw new Polytomic.UnprocessableEntityError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.UnprocessableEntityError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -430,12 +535,14 @@ export class Connections { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling POST /api/connections."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -465,10 +572,17 @@ export class Connections { * redirect_url: "redirect_url" * }) */ - public async connect( + public connect( + request: Polytomic.ConnectCardRequest, + requestOptions?: Connections.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__connect(request, requestOptions)); + } + + private async __connect( request: Polytomic.ConnectCardRequest, requestOptions?: Connections.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -480,13 +594,12 @@ export class Connections { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -499,23 +612,39 @@ export class Connections { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ConnectCardResponseEnvelope; + return { + data: _response.body as Polytomic.ConnectCardResponseEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 422: - throw new Polytomic.UnprocessableEntityError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.UnprocessableEntityError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -525,12 +654,14 @@ export class Connections { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling POST /api/connections/connect/."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -558,10 +689,17 @@ export class Connections { * type: "postgresql" * }) */ - public async testConnection( + public testConnection( request: Polytomic.TestConnectionRequest, requestOptions?: Connections.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__testConnection(request, requestOptions)); + } + + private async __testConnection( + request: Polytomic.TestConnectionRequest, + requestOptions?: Connections.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -573,13 +711,12 @@ export class Connections { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -592,23 +729,36 @@ export class Connections { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return; + return { data: undefined, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -618,12 +768,14 @@ export class Connections { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling POST /api/connections/test."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -639,10 +791,17 @@ export class Connections { * @example * await client.connections.get("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async get( + public get( + id: string, + requestOptions?: Connections.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); + } + + private async __get( id: string, requestOptions?: Connections.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -654,13 +813,12 @@ export class Connections { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -672,21 +830,31 @@ export class Connections { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ConnectionResponseEnvelope; + return { data: _response.body as Polytomic.ConnectionResponseEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -696,12 +864,14 @@ export class Connections { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling GET /api/connections/{id}."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -730,11 +900,19 @@ export class Connections { * name: "My Postgres Connection" * }) */ - public async update( + public update( id: string, request: Polytomic.UpdateConnectionRequestSchema, requestOptions?: Connections.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); + } + + private async __update( + id: string, + request: Polytomic.UpdateConnectionRequestSchema, + requestOptions?: Connections.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -746,13 +924,12 @@ export class Connections { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -765,27 +942,49 @@ export class Connections { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.CreateConnectionResponseEnvelope; + return { + data: _response.body as Polytomic.CreateConnectionResponseEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 422: - throw new Polytomic.UnprocessableEntityError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.UnprocessableEntityError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -795,12 +994,14 @@ export class Connections { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling PUT /api/connections/{id}."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -821,11 +1022,19 @@ export class Connections { * force: true * }) */ - public async remove( + public remove( + id: string, + request: Polytomic.ConnectionsRemoveRequest = {}, + requestOptions?: Connections.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__remove(id, request, requestOptions)); + } + + private async __remove( id: string, request: Polytomic.ConnectionsRemoveRequest = {}, requestOptions?: Connections.RequestOptions, - ): Promise { + ): Promise> { const { force } = request; const _queryParams: Record = {}; if (force != null) { @@ -843,13 +1052,12 @@ export class Connections { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -862,25 +1070,41 @@ export class Connections { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return; + return { data: undefined, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 422: - throw new Polytomic.UnprocessableEntityError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.UnprocessableEntityError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -890,12 +1114,14 @@ export class Connections { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling DELETE /api/connections/{id}."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -911,10 +1137,17 @@ export class Connections { * @example * await client.connections.getParameterValues("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async getParameterValues( + public getParameterValues( + id: string, + requestOptions?: Connections.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getParameterValues(id, requestOptions)); + } + + private async __getParameterValues( id: string, requestOptions?: Connections.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -926,13 +1159,12 @@ export class Connections { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -944,21 +1176,34 @@ export class Connections { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ConnectionParameterValuesResponseEnvelope; + return { + data: _response.body as Polytomic.ConnectionParameterValuesResponseEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -968,6 +1213,7 @@ export class Connections { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -976,48 +1222,63 @@ export class Connections { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } /** - * @param {string} id + * > 🚧 Requires partner key + * > + * > Shared connections can only be created by using [partner keys](https://apidocs.polytomic.com/guides/obtaining-api-keys#partner-keys). + * + * @param {string} parentConnectionId * @param {Polytomic.ApiRequest} request * @param {Connections.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} * @throws {@link Polytomic.ForbiddenError} * @throws {@link Polytomic.NotFoundError} + * @throws {@link Polytomic.UnprocessableEntityError} * @throws {@link Polytomic.InternalServerError} * * @example - * await client.connections.apiV2CreateSharedConnection("248df4b7-aa70-47b8-a036-33ac447e668d", { - * organization_id: "248df4b7-aa70-47b8-a036-33ac447e668d" + * await client.connections.createSharedConnection("248df4b7-aa70-47b8-a036-33ac447e668d", { + * child_organization_id: "248df4b7-aa70-47b8-a036-33ac447e668d" * }) */ - public async apiV2CreateSharedConnection( - id: string, + public createSharedConnection( + parentConnectionId: string, + request: Polytomic.ApiRequest, + requestOptions?: Connections.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise( + this.__createSharedConnection(parentConnectionId, request, requestOptions), + ); + } + + private async __createSharedConnection( + parentConnectionId: string, request: Polytomic.ApiRequest, requestOptions?: Connections.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.PolytomicEnvironment.Default, - `api/connections/${encodeURIComponent(id)}/share`, + `api/connections/${encodeURIComponent(parentConnectionId)}/share`, ), method: "POST", headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -1030,23 +1291,157 @@ export class Connections { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.V2CreateSharedConnectionResponseEnvelope; + return { + data: _response.body as Polytomic.V2CreateSharedConnectionResponseEnvelope, + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 401: + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); + case 403: + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); + case 404: + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); + case 422: + throw new Polytomic.UnprocessableEntityError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); + case 500: + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); + default: + throw new errors.PolytomicError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + } + + switch (_response.error.reason) { + case "non-json": + throw new errors.PolytomicError({ + statusCode: _response.error.statusCode, + body: _response.error.rawBody, + rawResponse: _response.rawResponse, + }); + case "timeout": + throw new errors.PolytomicTimeoutError( + "Timeout exceeded when calling POST /api/connections/{parent_connection_id}/share.", + ); + case "unknown": + throw new errors.PolytomicError({ + message: _response.error.errorMessage, + rawResponse: _response.rawResponse, + }); + } + } + + /** + * @param {string} parentConnectionId + * @param {Connections.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Polytomic.UnauthorizedError} + * @throws {@link Polytomic.ForbiddenError} + * @throws {@link Polytomic.NotFoundError} + * @throws {@link Polytomic.UnprocessableEntityError} + * @throws {@link Polytomic.InternalServerError} + * + * @example + * await client.connections.listSharedConnections("248df4b7-aa70-47b8-a036-33ac447e668d") + */ + public listSharedConnections( + parentConnectionId: string, + requestOptions?: Connections.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__listSharedConnections(parentConnectionId, requestOptions)); + } + + private async __listSharedConnections( + parentConnectionId: string, + requestOptions?: Connections.RequestOptions, + ): Promise> { + const _response = await core.fetcher({ + url: urlJoin( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.PolytomicEnvironment.Default, + `api/connections/${encodeURIComponent(parentConnectionId)}/shared`, + ), + method: "GET", + headers: { + Authorization: await this._getAuthorizationHeader(), + "X-Polytomic-Version": + typeof (await core.Supplier.get(this._options.version)) === "string" + ? await core.Supplier.get(this._options.version) + : toJson(await core.Supplier.get(this._options.version)), + "X-Fern-Language": "JavaScript", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", + "X-Fern-Runtime": core.RUNTIME.type, + "X-Fern-Runtime-Version": core.RUNTIME.version, + ...requestOptions?.headers, + }, + contentType: "application/json", + requestType: "json", + timeoutMs: requestOptions?.timeoutInSeconds != null ? requestOptions.timeoutInSeconds * 1000 : 60000, + maxRetries: requestOptions?.maxRetries, + abortSignal: requestOptions?.abortSignal, + }); + if (_response.ok) { + return { + data: _response.body as Polytomic.ConnectionListResponseEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); + case 422: + throw new Polytomic.UnprocessableEntityError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -1056,14 +1451,16 @@ export class Connections { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( - "Timeout exceeded when calling POST /api/connections/{id}/share.", + "Timeout exceeded when calling GET /api/connections/{parent_connection_id}/shared.", ); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } diff --git a/src/api/resources/connections/client/requests/ApiRequest.ts b/src/api/resources/connections/client/requests/ApiRequest.ts index 0d6f20c..1c66b57 100644 --- a/src/api/resources/connections/client/requests/ApiRequest.ts +++ b/src/api/resources/connections/client/requests/ApiRequest.ts @@ -5,10 +5,10 @@ /** * @example * { - * organization_id: "248df4b7-aa70-47b8-a036-33ac447e668d" + * child_organization_id: "248df4b7-aa70-47b8-a036-33ac447e668d" * } */ export interface ApiRequest { + child_organization_id: string; name?: string; - organization_id: string; } diff --git a/src/api/resources/events/client/Client.ts b/src/api/resources/events/client/Client.ts index 00e1632..3fde3ea 100644 --- a/src/api/resources/events/client/Client.ts +++ b/src/api/resources/events/client/Client.ts @@ -5,6 +5,7 @@ import * as environments from "../../../../environments"; import * as core from "../../../../core"; import * as Polytomic from "../../../index"; +import { toJson } from "../../../../core/json"; import urlJoin from "url-join"; import * as errors from "../../../../errors/index"; @@ -15,7 +16,7 @@ export declare namespace Events { baseUrl?: core.Supplier; token: core.Supplier; /** Override the X-Polytomic-Version header */ - version?: core.Supplier; + version?: core.Supplier; } export interface RequestOptions { @@ -26,7 +27,7 @@ export declare namespace Events { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the X-Polytomic-Version header */ - version?: string | undefined; + version?: unknown; /** Additional headers to include in the request. */ headers?: Record; } @@ -46,14 +47,23 @@ export class Events { * @example * await client.events.list({ * organization_id: "248df4b7-aa70-47b8-a036-33ac447e668d", + * type: "type", * starting_after: "2020-01-01T00:00:00Z", - * ending_before: "2020-01-01T00:00:00Z" + * ending_before: "2020-01-01T00:00:00Z", + * limit: 1 * }) */ - public async list( + public list( request: Polytomic.EventsListRequest = {}, requestOptions?: Events.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( + request: Polytomic.EventsListRequest = {}, + requestOptions?: Events.RequestOptions, + ): Promise> { const { organization_id: organizationId, type: type_, @@ -93,13 +103,12 @@ export class Events { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -112,21 +121,31 @@ export class Events { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.EventsEnvelope; + return { data: _response.body as Polytomic.EventsEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 422: - throw new Polytomic.UnprocessableEntityError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.UnprocessableEntityError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -136,12 +155,14 @@ export class Events { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling GET /api/events."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -154,7 +175,13 @@ export class Events { * @example * await client.events.getTypes() */ - public async getTypes(requestOptions?: Events.RequestOptions): Promise { + public getTypes(requestOptions?: Events.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getTypes(requestOptions)); + } + + private async __getTypes( + requestOptions?: Events.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -166,13 +193,12 @@ export class Events { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -184,17 +210,21 @@ export class Events { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.EventTypesEnvelope; + return { data: _response.body as Polytomic.EventTypesEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -204,12 +234,14 @@ export class Events { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling GET /api/events_types."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } diff --git a/src/api/resources/events/client/requests/EventsListRequest.ts b/src/api/resources/events/client/requests/EventsListRequest.ts index 280a414..a1c742c 100644 --- a/src/api/resources/events/client/requests/EventsListRequest.ts +++ b/src/api/resources/events/client/requests/EventsListRequest.ts @@ -6,8 +6,10 @@ * @example * { * organization_id: "248df4b7-aa70-47b8-a036-33ac447e668d", + * type: "type", * starting_after: "2020-01-01T00:00:00Z", - * ending_before: "2020-01-01T00:00:00Z" + * ending_before: "2020-01-01T00:00:00Z", + * limit: 1 * } */ export interface EventsListRequest { diff --git a/src/api/resources/identity/client/Client.ts b/src/api/resources/identity/client/Client.ts index 89d6c7a..f0d7f60 100644 --- a/src/api/resources/identity/client/Client.ts +++ b/src/api/resources/identity/client/Client.ts @@ -5,6 +5,7 @@ import * as environments from "../../../../environments"; import * as core from "../../../../core"; import * as Polytomic from "../../../index"; +import { toJson } from "../../../../core/json"; import urlJoin from "url-join"; import * as errors from "../../../../errors/index"; @@ -15,7 +16,7 @@ export declare namespace Identity { baseUrl?: core.Supplier; token: core.Supplier; /** Override the X-Polytomic-Version header */ - version?: core.Supplier; + version?: core.Supplier; } export interface RequestOptions { @@ -26,7 +27,7 @@ export declare namespace Identity { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the X-Polytomic-Version header */ - version?: string | undefined; + version?: unknown; /** Additional headers to include in the request. */ headers?: Record; } @@ -46,7 +47,15 @@ export class Identity { * @example * await client.identity.get() */ - public async get(requestOptions?: Identity.RequestOptions): Promise { + public get( + requestOptions?: Identity.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(requestOptions)); + } + + private async __get( + requestOptions?: Identity.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -58,13 +67,12 @@ export class Identity { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -76,19 +84,29 @@ export class Identity { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.GetIdentityResponseEnvelope; + return { + data: _response.body as Polytomic.GetIdentityResponseEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -98,12 +116,14 @@ export class Identity { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling GET /api/me."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } diff --git a/src/api/resources/jobs/client/Client.ts b/src/api/resources/jobs/client/Client.ts index 1716caf..92f9507 100644 --- a/src/api/resources/jobs/client/Client.ts +++ b/src/api/resources/jobs/client/Client.ts @@ -5,6 +5,7 @@ import * as environments from "../../../../environments"; import * as core from "../../../../core"; import * as Polytomic from "../../../index"; +import { toJson } from "../../../../core/json"; import urlJoin from "url-join"; import * as errors from "../../../../errors/index"; @@ -15,7 +16,7 @@ export declare namespace Jobs { baseUrl?: core.Supplier; token: core.Supplier; /** Override the X-Polytomic-Version header */ - version?: core.Supplier; + version?: core.Supplier; } export interface RequestOptions { @@ -26,7 +27,7 @@ export declare namespace Jobs { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the X-Polytomic-Version header */ - version?: string | undefined; + version?: unknown; /** Additional headers to include in the request. */ headers?: Record; } @@ -48,11 +49,19 @@ export class Jobs { * @example * await client.jobs.get("248df4b7-aa70-47b8-a036-33ac447e668d", "createmodel") */ - public async get( + public get( id: string, type_: string, requestOptions?: Jobs.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(id, type_, requestOptions)); + } + + private async __get( + id: string, + type_: string, + requestOptions?: Jobs.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -64,13 +73,12 @@ export class Jobs { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -82,23 +90,36 @@ export class Jobs { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.JobResponseEnvelope; + return { data: _response.body as Polytomic.JobResponseEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -108,12 +129,14 @@ export class Jobs { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling GET /api/jobs/{type}/{id}."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } diff --git a/src/api/resources/modelSync/client/Client.ts b/src/api/resources/modelSync/client/Client.ts index 43cece8..87a787f 100644 --- a/src/api/resources/modelSync/client/Client.ts +++ b/src/api/resources/modelSync/client/Client.ts @@ -18,7 +18,7 @@ export declare namespace ModelSync { baseUrl?: core.Supplier; token: core.Supplier; /** Override the X-Polytomic-Version header */ - version?: core.Supplier; + version?: core.Supplier; } export interface RequestOptions { @@ -29,7 +29,7 @@ export declare namespace ModelSync { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the X-Polytomic-Version header */ - version?: string | undefined; + version?: unknown; /** Additional headers to include in the request. */ headers?: Record; } @@ -63,11 +63,19 @@ export class ModelSync { * @example * await client.modelSync.getSource("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async getSource( + public getSource( id: string, request: Polytomic.ModelSyncGetSourceRequest = {}, requestOptions?: ModelSync.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getSource(id, request, requestOptions)); + } + + private async __getSource( + id: string, + request: Polytomic.ModelSyncGetSourceRequest = {}, + requestOptions?: ModelSync.RequestOptions, + ): Promise> { const { params } = request; const _queryParams: Record = {}; if (params != null) { @@ -85,13 +93,12 @@ export class ModelSync { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -104,25 +111,44 @@ export class ModelSync { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.GetModelSyncSourceMetaEnvelope; + return { + data: _response.body as Polytomic.GetModelSyncSourceMetaEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -132,6 +158,7 @@ export class ModelSync { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -140,6 +167,7 @@ export class ModelSync { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -158,11 +186,19 @@ export class ModelSync { * @example * await client.modelSync.getSourceFields("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async getSourceFields( + public getSourceFields( id: string, request: Polytomic.ModelSyncGetSourceFieldsRequest = {}, requestOptions?: ModelSync.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getSourceFields(id, request, requestOptions)); + } + + private async __getSourceFields( + id: string, + request: Polytomic.ModelSyncGetSourceFieldsRequest = {}, + requestOptions?: ModelSync.RequestOptions, + ): Promise> { const { params } = request; const _queryParams: Record = {}; if (params != null) { @@ -180,13 +216,12 @@ export class ModelSync { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -199,25 +234,41 @@ export class ModelSync { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ModelFieldResponse; + return { data: _response.body as Polytomic.ModelFieldResponse, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -227,6 +278,7 @@ export class ModelSync { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -235,6 +287,7 @@ export class ModelSync { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -251,13 +304,21 @@ export class ModelSync { * @example * await client.modelSync.list({ * active: true, + * mode: "create", * target_connection_id: "0b155265-c537-44c9-9359-a3ceb468a4da" * }) */ - public async list( + public list( + request: Polytomic.ModelSyncListRequest = {}, + requestOptions?: ModelSync.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); + } + + private async __list( request: Polytomic.ModelSyncListRequest = {}, requestOptions?: ModelSync.RequestOptions, - ): Promise { + ): Promise> { const { active, mode, target_connection_id: targetConnectionId } = request; const _queryParams: Record = {}; if (active != null) { @@ -283,13 +344,12 @@ export class ModelSync { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -302,23 +362,39 @@ export class ModelSync { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ListModelSyncResponseEnvelope; + return { + data: _response.body as Polytomic.ListModelSyncResponseEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -328,12 +404,14 @@ export class ModelSync { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling GET /api/syncs."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -418,10 +496,17 @@ export class ModelSync { * } * }) */ - public async create( + public create( request: Polytomic.CreateModelSyncRequest, requestOptions?: ModelSync.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); + } + + private async __create( + request: Polytomic.CreateModelSyncRequest, + requestOptions?: ModelSync.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -433,13 +518,12 @@ export class ModelSync { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -452,25 +536,41 @@ export class ModelSync { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ModelSyncResponseEnvelope; + return { data: _response.body as Polytomic.ModelSyncResponseEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 422: - throw new Polytomic.UnprocessableEntityError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.UnprocessableEntityError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -480,12 +580,14 @@ export class ModelSync { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling POST /api/syncs."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -499,9 +601,15 @@ export class ModelSync { * @example * await client.modelSync.getScheduleOptions() */ - public async getScheduleOptions( + public getScheduleOptions( requestOptions?: ModelSync.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getScheduleOptions(requestOptions)); + } + + private async __getScheduleOptions( + requestOptions?: ModelSync.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -513,13 +621,12 @@ export class ModelSync { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -531,19 +638,29 @@ export class ModelSync { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ScheduleOptionResponseEnvelope; + return { + data: _response.body as Polytomic.ScheduleOptionResponseEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -553,12 +670,14 @@ export class ModelSync { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling GET /api/syncs/schedules."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -574,10 +693,17 @@ export class ModelSync { * @example * await client.modelSync.get("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async get( + public get( + id: string, + requestOptions?: ModelSync.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); + } + + private async __get( id: string, requestOptions?: ModelSync.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -589,13 +715,12 @@ export class ModelSync { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -607,21 +732,31 @@ export class ModelSync { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ModelSyncResponseEnvelope; + return { data: _response.body as Polytomic.ModelSyncResponseEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -631,12 +766,14 @@ export class ModelSync { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling GET /api/syncs/{id}."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -666,11 +803,19 @@ export class ModelSync { * } * }) */ - public async update( + public update( id: string, request: Polytomic.UpdateModelSyncRequest, requestOptions?: ModelSync.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); + } + + private async __update( + id: string, + request: Polytomic.UpdateModelSyncRequest, + requestOptions?: ModelSync.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -682,13 +827,12 @@ export class ModelSync { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -701,27 +845,46 @@ export class ModelSync { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ModelSyncResponseEnvelope; + return { data: _response.body as Polytomic.ModelSyncResponseEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 422: - throw new Polytomic.UnprocessableEntityError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.UnprocessableEntityError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -731,12 +894,14 @@ export class ModelSync { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling PUT /api/syncs/{id}."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -754,7 +919,11 @@ export class ModelSync { * @example * await client.modelSync.remove("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async remove(id: string, requestOptions?: ModelSync.RequestOptions): Promise { + public remove(id: string, requestOptions?: ModelSync.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__remove(id, requestOptions)); + } + + private async __remove(id: string, requestOptions?: ModelSync.RequestOptions): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -766,13 +935,12 @@ export class ModelSync { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -784,25 +952,41 @@ export class ModelSync { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return; + return { data: undefined, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 409: - throw new Polytomic.ConflictError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ConflictError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -812,12 +996,14 @@ export class ModelSync { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling DELETE /api/syncs/{id}."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -837,11 +1023,19 @@ export class ModelSync { * active: true * }) */ - public async activate( + public activate( id: string, request: Polytomic.ActivateSyncInput, requestOptions?: ModelSync.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__activate(id, request, requestOptions)); + } + + private async __activate( + id: string, + request: Polytomic.ActivateSyncInput, + requestOptions?: ModelSync.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -853,13 +1047,12 @@ export class ModelSync { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -872,23 +1065,36 @@ export class ModelSync { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ActivateSyncEnvelope; + return { data: _response.body as Polytomic.ActivateSyncEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -898,12 +1104,14 @@ export class ModelSync { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling POST /api/syncs/{id}/activate."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -920,10 +1128,17 @@ export class ModelSync { * @example * await client.modelSync.cancel("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async cancel( + public cancel( id: string, requestOptions?: ModelSync.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__cancel(id, requestOptions)); + } + + private async __cancel( + id: string, + requestOptions?: ModelSync.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -935,13 +1150,12 @@ export class ModelSync { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -953,23 +1167,39 @@ export class ModelSync { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.CancelModelSyncResponseEnvelope; + return { + data: _response.body as Polytomic.CancelModelSyncResponseEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -979,12 +1209,14 @@ export class ModelSync { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling POST /api/syncs/{id}/cancel."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -1008,11 +1240,19 @@ export class ModelSync { * @example * await client.modelSync.start("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async start( + public start( + id: string, + request: Polytomic.StartModelSyncRequest = {}, + requestOptions?: ModelSync.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__start(id, request, requestOptions)); + } + + private async __start( id: string, request: Polytomic.StartModelSyncRequest = {}, requestOptions?: ModelSync.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -1024,13 +1264,12 @@ export class ModelSync { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -1043,27 +1282,49 @@ export class ModelSync { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.StartModelSyncResponseEnvelope; + return { + data: _response.body as Polytomic.StartModelSyncResponseEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 409: - throw new Polytomic.ConflictError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ConflictError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -1073,6 +1334,7 @@ export class ModelSync { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -1081,6 +1343,7 @@ export class ModelSync { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -1096,10 +1359,17 @@ export class ModelSync { * @example * await client.modelSync.getStatus("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async getStatus( + public getStatus( + id: string, + requestOptions?: ModelSync.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getStatus(id, requestOptions)); + } + + private async __getStatus( id: string, requestOptions?: ModelSync.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -1111,13 +1381,12 @@ export class ModelSync { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -1129,21 +1398,31 @@ export class ModelSync { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.SyncStatusEnvelope; + return { data: _response.body as Polytomic.SyncStatusEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -1153,12 +1432,14 @@ export class ModelSync { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling GET /api/syncs/{id}/status."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } diff --git a/src/api/resources/modelSync/client/requests/ModelSyncListRequest.ts b/src/api/resources/modelSync/client/requests/ModelSyncListRequest.ts index 4a51358..679f7dd 100644 --- a/src/api/resources/modelSync/client/requests/ModelSyncListRequest.ts +++ b/src/api/resources/modelSync/client/requests/ModelSyncListRequest.ts @@ -8,6 +8,7 @@ import * as Polytomic from "../../../../index"; * @example * { * active: true, + * mode: "create", * target_connection_id: "0b155265-c537-44c9-9359-a3ceb468a4da" * } */ diff --git a/src/api/resources/modelSync/resources/executions/client/Client.ts b/src/api/resources/modelSync/resources/executions/client/Client.ts index c438d01..c7e926f 100644 --- a/src/api/resources/modelSync/resources/executions/client/Client.ts +++ b/src/api/resources/modelSync/resources/executions/client/Client.ts @@ -5,6 +5,7 @@ import * as environments from "../../../../../../environments"; import * as core from "../../../../../../core"; import * as Polytomic from "../../../../../index"; +import { toJson } from "../../../../../../core/json"; import urlJoin from "url-join"; import * as errors from "../../../../../../errors/index"; @@ -15,7 +16,7 @@ export declare namespace Executions { baseUrl?: core.Supplier; token: core.Supplier; /** Override the X-Polytomic-Version header */ - version?: core.Supplier; + version?: core.Supplier; } export interface RequestOptions { @@ -26,7 +27,7 @@ export declare namespace Executions { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the X-Polytomic-Version header */ - version?: string | undefined; + version?: unknown; /** Additional headers to include in the request. */ headers?: Record; } @@ -50,11 +51,19 @@ export class Executions { * ascending: true * }) */ - public async list( + public list( syncId: string, request: Polytomic.modelSync.ExecutionsListRequest = {}, requestOptions?: Executions.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(syncId, request, requestOptions)); + } + + private async __list( + syncId: string, + request: Polytomic.modelSync.ExecutionsListRequest = {}, + requestOptions?: Executions.RequestOptions, + ): Promise> { const { page_token: pageToken, only_completed: onlyCompleted, ascending } = request; const _queryParams: Record = {}; if (pageToken != null) { @@ -80,13 +89,12 @@ export class Executions { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -99,19 +107,29 @@ export class Executions { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ListExecutionResponseEnvelope; + return { + data: _response.body as Polytomic.ListExecutionResponseEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -121,6 +139,7 @@ export class Executions { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -129,6 +148,7 @@ export class Executions { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -145,11 +165,19 @@ export class Executions { * @example * await client.modelSync.executions.get("248df4b7-aa70-47b8-a036-33ac447e668d", "248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async get( + public get( syncId: string, id: string, requestOptions?: Executions.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(syncId, id, requestOptions)); + } + + private async __get( + syncId: string, + id: string, + requestOptions?: Executions.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -161,13 +189,12 @@ export class Executions { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -179,21 +206,34 @@ export class Executions { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.GetExecutionResponseEnvelope; + return { + data: _response.body as Polytomic.GetExecutionResponseEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -203,6 +243,7 @@ export class Executions { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -211,6 +252,7 @@ export class Executions { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -232,12 +274,21 @@ export class Executions { * status: "created" * }) */ - public async update( + public update( syncId: string, id: string, request: Polytomic.modelSync.UpdateExecutionRequest, requestOptions?: Executions.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(syncId, id, request, requestOptions)); + } + + private async __update( + syncId: string, + id: string, + request: Polytomic.modelSync.UpdateExecutionRequest, + requestOptions?: Executions.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -249,13 +300,12 @@ export class Executions { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -268,25 +318,44 @@ export class Executions { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.GetExecutionResponseEnvelope; + return { + data: _response.body as Polytomic.GetExecutionResponseEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -296,6 +365,7 @@ export class Executions { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -304,6 +374,7 @@ export class Executions { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -322,12 +393,21 @@ export class Executions { * @example * await client.modelSync.executions.getLogUrls("248df4b7-aa70-47b8-a036-33ac447e668d", "248df4b7-aa70-47b8-a036-33ac447e668d", "records") */ - public async getLogUrls( + public getLogUrls( + syncId: string, + id: string, + type_: Polytomic.V2ExecutionLogType, + requestOptions?: Executions.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getLogUrls(syncId, id, type_, requestOptions)); + } + + private async __getLogUrls( syncId: string, id: string, type_: Polytomic.V2ExecutionLogType, requestOptions?: Executions.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -339,13 +419,12 @@ export class Executions { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -357,23 +436,39 @@ export class Executions { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ExecutionLogsResponseEnvelope; + return { + data: _response.body as Polytomic.ExecutionLogsResponseEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -383,6 +478,7 @@ export class Executions { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -391,6 +487,7 @@ export class Executions { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -410,13 +507,23 @@ export class Executions { * @example * await client.modelSync.executions.getLogs("248df4b7-aa70-47b8-a036-33ac447e668d", "0ecd09c1-b901-4d27-9053-f0367c427254", "records", "path/to/file.json") */ - public async getLogs( + public getLogs( + syncId: string, + id: string, + type_: Polytomic.V2ExecutionLogType, + filename: string, + requestOptions?: Executions.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getLogs(syncId, id, type_, filename, requestOptions)); + } + + private async __getLogs( syncId: string, id: string, type_: Polytomic.V2ExecutionLogType, filename: string, requestOptions?: Executions.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -428,13 +535,12 @@ export class Executions { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -446,23 +552,36 @@ export class Executions { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return; + return { data: undefined, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -472,6 +591,7 @@ export class Executions { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -480,6 +600,7 @@ export class Executions { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } diff --git a/src/api/resources/modelSync/resources/targets/client/Client.ts b/src/api/resources/modelSync/resources/targets/client/Client.ts index d059721..01fa87a 100644 --- a/src/api/resources/modelSync/resources/targets/client/Client.ts +++ b/src/api/resources/modelSync/resources/targets/client/Client.ts @@ -5,6 +5,7 @@ import * as environments from "../../../../../../environments"; import * as core from "../../../../../../core"; import * as Polytomic from "../../../../../index"; +import { toJson } from "../../../../../../core/json"; import urlJoin from "url-join"; import * as errors from "../../../../../../errors/index"; @@ -15,7 +16,7 @@ export declare namespace Targets { baseUrl?: core.Supplier; token: core.Supplier; /** Override the X-Polytomic-Version header */ - version?: core.Supplier; + version?: core.Supplier; } export interface RequestOptions { @@ -26,7 +27,7 @@ export declare namespace Targets { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the X-Polytomic-Version header */ - version?: string | undefined; + version?: unknown; /** Additional headers to include in the request. */ headers?: Record; } @@ -47,13 +48,24 @@ export class Targets { * @throws {@link Polytomic.InternalServerError} * * @example - * await client.modelSync.targets.getTarget("248df4b7-aa70-47b8-a036-33ac447e668d") + * await client.modelSync.targets.getTarget("248df4b7-aa70-47b8-a036-33ac447e668d", { + * type: "type", + * search: "search" + * }) */ - public async getTarget( + public getTarget( + id: string, + request: Polytomic.modelSync.TargetsGetTargetRequest = {}, + requestOptions?: Targets.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getTarget(id, request, requestOptions)); + } + + private async __getTarget( id: string, request: Polytomic.modelSync.TargetsGetTargetRequest = {}, requestOptions?: Targets.RequestOptions, - ): Promise { + ): Promise> { const { type: type_, search } = request; const _queryParams: Record = {}; if (type_ != null) { @@ -75,13 +87,12 @@ export class Targets { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -94,25 +105,41 @@ export class Targets { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.GetConnectionMetaEnvelope; + return { data: _response.body as Polytomic.GetConnectionMetaEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -122,6 +149,7 @@ export class Targets { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -130,6 +158,7 @@ export class Targets { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -150,11 +179,19 @@ export class Targets { * refresh: false * }) */ - public async getTargetFields( + public getTargetFields( + id: string, + request: Polytomic.modelSync.TargetsGetTargetFieldsRequest, + requestOptions?: Targets.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getTargetFields(id, request, requestOptions)); + } + + private async __getTargetFields( id: string, request: Polytomic.modelSync.TargetsGetTargetFieldsRequest, requestOptions?: Targets.RequestOptions, - ): Promise { + ): Promise> { const { target, refresh } = request; const _queryParams: Record = {}; _queryParams["target"] = target; @@ -173,13 +210,12 @@ export class Targets { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -192,23 +228,36 @@ export class Targets { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.TargetResponseEnvelope; + return { data: _response.body as Polytomic.TargetResponseEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -218,6 +267,7 @@ export class Targets { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -226,6 +276,7 @@ export class Targets { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -261,10 +312,17 @@ export class Targets { * @example * await client.modelSync.targets.list("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async list( + public list( + id: string, + requestOptions?: Targets.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(id, requestOptions)); + } + + private async __list( id: string, requestOptions?: Targets.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -276,13 +334,12 @@ export class Targets { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -294,25 +351,44 @@ export class Targets { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.V4TargetObjectsResponseEnvelope; + return { + data: _response.body as Polytomic.V4TargetObjectsResponseEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -322,6 +398,7 @@ export class Targets { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -330,6 +407,7 @@ export class Targets { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -379,11 +457,19 @@ export class Targets { * @example * await client.modelSync.targets.getCreateProperty("248df4b7-aa70-47b8-a036-33ac447e668d", "property") */ - public async getCreateProperty( + public getCreateProperty( + id: string, + property: string, + requestOptions?: Targets.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getCreateProperty(id, property, requestOptions)); + } + + private async __getCreateProperty( id: string, property: string, requestOptions?: Targets.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -395,13 +481,12 @@ export class Targets { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -413,25 +498,44 @@ export class Targets { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.V4TargetPropertyValuesEnvelope; + return { + data: _response.body as Polytomic.V4TargetPropertyValuesEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -441,6 +545,7 @@ export class Targets { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -449,6 +554,7 @@ export class Targets { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } diff --git a/src/api/resources/modelSync/resources/targets/client/requests/TargetsGetTargetRequest.ts b/src/api/resources/modelSync/resources/targets/client/requests/TargetsGetTargetRequest.ts index 46332a3..f1943c1 100644 --- a/src/api/resources/modelSync/resources/targets/client/requests/TargetsGetTargetRequest.ts +++ b/src/api/resources/modelSync/resources/targets/client/requests/TargetsGetTargetRequest.ts @@ -4,7 +4,10 @@ /** * @example - * {} + * { + * type: "type", + * search: "search" + * } */ export interface TargetsGetTargetRequest { type?: string; diff --git a/src/api/resources/models/client/Client.ts b/src/api/resources/models/client/Client.ts index f9308ad..2ef7d23 100644 --- a/src/api/resources/models/client/Client.ts +++ b/src/api/resources/models/client/Client.ts @@ -16,7 +16,7 @@ export declare namespace Models { baseUrl?: core.Supplier; token: core.Supplier; /** Override the X-Polytomic-Version header */ - version?: core.Supplier; + version?: core.Supplier; } export interface RequestOptions { @@ -27,7 +27,7 @@ export declare namespace Models { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the X-Polytomic-Version header */ - version?: string | undefined; + version?: unknown; /** Additional headers to include in the request. */ headers?: Record; } @@ -50,11 +50,19 @@ export class Models { * @example * await client.models.getEnrichmentSource("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async getEnrichmentSource( + public getEnrichmentSource( id: string, request: Polytomic.ModelsGetEnrichmentSourceRequest = {}, requestOptions?: Models.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getEnrichmentSource(id, request, requestOptions)); + } + + private async __getEnrichmentSource( + id: string, + request: Polytomic.ModelsGetEnrichmentSourceRequest = {}, + requestOptions?: Models.RequestOptions, + ): Promise> { const { params } = request; const _queryParams: Record = {}; if (params != null) { @@ -72,13 +80,12 @@ export class Models { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -91,25 +98,44 @@ export class Models { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.GetModelSyncSourceMetaEnvelope; + return { + data: _response.body as Polytomic.GetModelSyncSourceMetaEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -119,6 +145,7 @@ export class Models { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -127,6 +154,7 @@ export class Models { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -146,11 +174,19 @@ export class Models { * @example * await client.models.post("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async post( + public post( connectionId: string, request: Polytomic.GetEnrichmentInputFieldsRequest = {}, requestOptions?: Models.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__post(connectionId, request, requestOptions)); + } + + private async __post( + connectionId: string, + request: Polytomic.GetEnrichmentInputFieldsRequest = {}, + requestOptions?: Models.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -162,13 +198,12 @@ export class Models { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -181,23 +216,39 @@ export class Models { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.V2GetEnrichmentInputFieldsResponseEnvelope; + return { + data: _response.body as Polytomic.V2GetEnrichmentInputFieldsResponseEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -207,6 +258,7 @@ export class Models { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -215,6 +267,7 @@ export class Models { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -230,6 +283,7 @@ export class Models { * * @example * await client.models.preview({ + * async: true, * body: { * configuration: { * "table": "public.users" @@ -239,10 +293,17 @@ export class Models { * } * }) */ - public async preview( + public preview( + request: Polytomic.ModelsPreviewRequest, + requestOptions?: Models.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__preview(request, requestOptions)); + } + + private async __preview( request: Polytomic.ModelsPreviewRequest, requestOptions?: Models.RequestOptions, - ): Promise { + ): Promise> { const { async, body: _body } = request; const _queryParams: Record = {}; if (async != null) { @@ -260,13 +321,12 @@ export class Models { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -280,23 +340,36 @@ export class Models { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ModelResponseEnvelope; + return { data: _response.body as Polytomic.ModelResponseEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -306,12 +379,14 @@ export class Models { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling POST /api/model-preview."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -325,7 +400,13 @@ export class Models { * @example * await client.models.list() */ - public async list(requestOptions?: Models.RequestOptions): Promise { + public list(requestOptions?: Models.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(requestOptions)); + } + + private async __list( + requestOptions?: Models.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -337,13 +418,12 @@ export class Models { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -355,19 +435,26 @@ export class Models { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ModelListResponseEnvelope; + return { data: _response.body as Polytomic.ModelListResponseEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -377,12 +464,14 @@ export class Models { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling GET /api/models."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -398,6 +487,7 @@ export class Models { * * @example * await client.models.create({ + * async: true, * body: { * configuration: { * "table": "public.users" @@ -407,10 +497,17 @@ export class Models { * } * }) */ - public async create( + public create( request: Polytomic.ModelsCreateRequest, requestOptions?: Models.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); + } + + private async __create( + request: Polytomic.ModelsCreateRequest, + requestOptions?: Models.RequestOptions, + ): Promise> { const { async, body: _body } = request; const _queryParams: Record = {}; if (async != null) { @@ -428,13 +525,12 @@ export class Models { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -448,23 +544,36 @@ export class Models { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ModelResponseEnvelope; + return { data: _response.body as Polytomic.ModelResponseEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -474,12 +583,14 @@ export class Models { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling POST /api/models."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -494,13 +605,23 @@ export class Models { * @throws {@link Polytomic.InternalServerError} * * @example - * await client.models.get("248df4b7-aa70-47b8-a036-33ac447e668d") + * await client.models.get("248df4b7-aa70-47b8-a036-33ac447e668d", { + * async: true + * }) */ - public async get( + public get( id: string, request: Polytomic.ModelsGetRequest = {}, requestOptions?: Models.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(id, request, requestOptions)); + } + + private async __get( + id: string, + request: Polytomic.ModelsGetRequest = {}, + requestOptions?: Models.RequestOptions, + ): Promise> { const { async } = request; const _queryParams: Record = {}; if (async != null) { @@ -518,13 +639,12 @@ export class Models { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -537,21 +657,31 @@ export class Models { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ModelResponseEnvelope; + return { data: _response.body as Polytomic.ModelResponseEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -561,12 +691,14 @@ export class Models { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling GET /api/models/{id}."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -591,11 +723,19 @@ export class Models { * name: "Users" * }) */ - public async update( + public update( id: string, request: Polytomic.UpdateModelRequest, requestOptions?: Models.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); + } + + private async __update( + id: string, + request: Polytomic.UpdateModelRequest, + requestOptions?: Models.RequestOptions, + ): Promise> { const { async, ..._body } = request; const _queryParams: Record = {}; if (async != null) { @@ -613,13 +753,12 @@ export class Models { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -633,23 +772,36 @@ export class Models { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ModelResponseEnvelope; + return { data: _response.body as Polytomic.ModelResponseEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -659,12 +811,14 @@ export class Models { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling PUT /api/models/{id}."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -680,13 +834,23 @@ export class Models { * @throws {@link Polytomic.InternalServerError} * * @example - * await client.models.remove("248df4b7-aa70-47b8-a036-33ac447e668d") + * await client.models.remove("248df4b7-aa70-47b8-a036-33ac447e668d", { + * async: true + * }) */ - public async remove( + public remove( id: string, request: Polytomic.ModelsRemoveRequest = {}, requestOptions?: Models.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__remove(id, request, requestOptions)); + } + + private async __remove( + id: string, + request: Polytomic.ModelsRemoveRequest = {}, + requestOptions?: Models.RequestOptions, + ): Promise> { const { async } = request; const _queryParams: Record = {}; if (async != null) { @@ -704,13 +868,12 @@ export class Models { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -723,23 +886,36 @@ export class Models { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return; + return { data: undefined, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -749,12 +925,14 @@ export class Models { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling DELETE /api/models/{id}."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -772,13 +950,23 @@ export class Models { * @throws {@link Polytomic.InternalServerError} * * @example - * await client.models.sample("248df4b7-aa70-47b8-a036-33ac447e668d") + * await client.models.sample("248df4b7-aa70-47b8-a036-33ac447e668d", { + * async: true + * }) */ - public async sample( + public sample( + id: string, + request: Polytomic.ModelsSampleRequest = {}, + requestOptions?: Models.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__sample(id, request, requestOptions)); + } + + private async __sample( id: string, request: Polytomic.ModelsSampleRequest = {}, requestOptions?: Models.RequestOptions, - ): Promise { + ): Promise> { const { async } = request; const _queryParams: Record = {}; if (async != null) { @@ -796,13 +984,12 @@ export class Models { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -815,23 +1002,39 @@ export class Models { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ModelSampleResponseEnvelope; + return { + data: _response.body as Polytomic.ModelSampleResponseEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -841,12 +1044,14 @@ export class Models { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling GET /api/models/{id}/sample."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } diff --git a/src/api/resources/models/client/requests/ModelsCreateRequest.ts b/src/api/resources/models/client/requests/ModelsCreateRequest.ts index 75b33d1..7065986 100644 --- a/src/api/resources/models/client/requests/ModelsCreateRequest.ts +++ b/src/api/resources/models/client/requests/ModelsCreateRequest.ts @@ -7,6 +7,7 @@ import * as Polytomic from "../../../../index"; /** * @example * { + * async: true, * body: { * configuration: { * "table": "public.users" diff --git a/src/api/resources/models/client/requests/ModelsGetRequest.ts b/src/api/resources/models/client/requests/ModelsGetRequest.ts index 014ba47..d36efa0 100644 --- a/src/api/resources/models/client/requests/ModelsGetRequest.ts +++ b/src/api/resources/models/client/requests/ModelsGetRequest.ts @@ -4,7 +4,9 @@ /** * @example - * {} + * { + * async: true + * } */ export interface ModelsGetRequest { async?: boolean; diff --git a/src/api/resources/models/client/requests/ModelsPreviewRequest.ts b/src/api/resources/models/client/requests/ModelsPreviewRequest.ts index 1685eef..7afa415 100644 --- a/src/api/resources/models/client/requests/ModelsPreviewRequest.ts +++ b/src/api/resources/models/client/requests/ModelsPreviewRequest.ts @@ -7,6 +7,7 @@ import * as Polytomic from "../../../../index"; /** * @example * { + * async: true, * body: { * configuration: { * "table": "public.users" diff --git a/src/api/resources/models/client/requests/ModelsRemoveRequest.ts b/src/api/resources/models/client/requests/ModelsRemoveRequest.ts index 4162586..9824e2c 100644 --- a/src/api/resources/models/client/requests/ModelsRemoveRequest.ts +++ b/src/api/resources/models/client/requests/ModelsRemoveRequest.ts @@ -4,7 +4,9 @@ /** * @example - * {} + * { + * async: true + * } */ export interface ModelsRemoveRequest { async?: boolean; diff --git a/src/api/resources/models/client/requests/ModelsSampleRequest.ts b/src/api/resources/models/client/requests/ModelsSampleRequest.ts index 1b32008..1e3d0ab 100644 --- a/src/api/resources/models/client/requests/ModelsSampleRequest.ts +++ b/src/api/resources/models/client/requests/ModelsSampleRequest.ts @@ -4,7 +4,9 @@ /** * @example - * {} + * { + * async: true + * } */ export interface ModelsSampleRequest { async?: boolean; diff --git a/src/api/resources/notifications/client/Client.ts b/src/api/resources/notifications/client/Client.ts index 7732bd5..86ba796 100644 --- a/src/api/resources/notifications/client/Client.ts +++ b/src/api/resources/notifications/client/Client.ts @@ -5,6 +5,7 @@ import * as environments from "../../../../environments"; import * as core from "../../../../core"; import * as Polytomic from "../../../index"; +import { toJson } from "../../../../core/json"; import urlJoin from "url-join"; import * as errors from "../../../../errors/index"; @@ -15,7 +16,7 @@ export declare namespace Notifications { baseUrl?: core.Supplier; token: core.Supplier; /** Override the X-Polytomic-Version header */ - version?: core.Supplier; + version?: core.Supplier; } export interface RequestOptions { @@ -26,7 +27,7 @@ export declare namespace Notifications { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the X-Polytomic-Version header */ - version?: string | undefined; + version?: unknown; /** Additional headers to include in the request. */ headers?: Record; } @@ -44,9 +45,15 @@ export class Notifications { * @example * await client.notifications.getGlobalErrorSubscribers() */ - public async getGlobalErrorSubscribers( + public getGlobalErrorSubscribers( requestOptions?: Notifications.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getGlobalErrorSubscribers(requestOptions)); + } + + private async __getGlobalErrorSubscribers( + requestOptions?: Notifications.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -58,13 +65,12 @@ export class Notifications { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -76,19 +82,29 @@ export class Notifications { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.V4GlobalErrorSubscribersResponse; + return { + data: _response.body as Polytomic.V4GlobalErrorSubscribersResponse, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -98,6 +114,7 @@ export class Notifications { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -106,6 +123,7 @@ export class Notifications { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -121,10 +139,17 @@ export class Notifications { * @example * await client.notifications.setGlobalErrorSubscribers() */ - public async setGlobalErrorSubscribers( + public setGlobalErrorSubscribers( + request: Polytomic.V4GlobalErrorSubscribersRequest = {}, + requestOptions?: Notifications.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__setGlobalErrorSubscribers(request, requestOptions)); + } + + private async __setGlobalErrorSubscribers( request: Polytomic.V4GlobalErrorSubscribersRequest = {}, requestOptions?: Notifications.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -136,13 +161,12 @@ export class Notifications { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -155,21 +179,34 @@ export class Notifications { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.V4GlobalErrorSubscribersResponse; + return { + data: _response.body as Polytomic.V4GlobalErrorSubscribersResponse, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -179,6 +216,7 @@ export class Notifications { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -187,6 +225,7 @@ export class Notifications { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } diff --git a/src/api/resources/organization/client/Client.ts b/src/api/resources/organization/client/Client.ts index 0404637..6c6235d 100644 --- a/src/api/resources/organization/client/Client.ts +++ b/src/api/resources/organization/client/Client.ts @@ -5,6 +5,7 @@ import * as environments from "../../../../environments"; import * as core from "../../../../core"; import * as Polytomic from "../../../index"; +import { toJson } from "../../../../core/json"; import urlJoin from "url-join"; import * as errors from "../../../../errors/index"; @@ -15,7 +16,7 @@ export declare namespace Organization { baseUrl?: core.Supplier; token: core.Supplier; /** Override the X-Polytomic-Version header */ - version?: core.Supplier; + version?: core.Supplier; } export interface RequestOptions { @@ -26,7 +27,7 @@ export declare namespace Organization { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the X-Polytomic-Version header */ - version?: string | undefined; + version?: unknown; /** Additional headers to include in the request. */ headers?: Record; } @@ -48,7 +49,15 @@ export class Organization { * @example * await client.organization.list() */ - public async list(requestOptions?: Organization.RequestOptions): Promise { + public list( + requestOptions?: Organization.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(requestOptions)); + } + + private async __list( + requestOptions?: Organization.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -60,13 +69,12 @@ export class Organization { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -78,19 +86,26 @@ export class Organization { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.OrganizationsEnvelope; + return { data: _response.body as Polytomic.OrganizationsEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -100,12 +115,14 @@ export class Organization { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling GET /api/organizations."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -128,10 +145,17 @@ export class Organization { * name: "My Organization" * }) */ - public async create( + public create( request: Polytomic.CreateOrganizationRequestSchema, requestOptions?: Organization.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); + } + + private async __create( + request: Polytomic.CreateOrganizationRequestSchema, + requestOptions?: Organization.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -143,13 +167,12 @@ export class Organization { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -162,23 +185,36 @@ export class Organization { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.OrganizationEnvelope; + return { data: _response.body as Polytomic.OrganizationEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 409: - throw new Polytomic.ConflictError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ConflictError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 422: - throw new Polytomic.UnprocessableEntityError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.UnprocessableEntityError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -188,12 +224,14 @@ export class Organization { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling POST /api/organizations."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -207,15 +245,23 @@ export class Organization { * @param {Organization.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} + * @throws {@link Polytomic.ForbiddenError} * @throws {@link Polytomic.NotFoundError} * * @example * await client.organization.get("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async get( + public get( id: string, requestOptions?: Organization.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); + } + + private async __get( + id: string, + requestOptions?: Organization.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -227,13 +273,12 @@ export class Organization { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -245,19 +290,31 @@ export class Organization { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.OrganizationEnvelope; + return { data: _response.body as Polytomic.OrganizationEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); + case 403: + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -267,12 +324,14 @@ export class Organization { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling GET /api/organizations/{id}."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -287,6 +346,7 @@ export class Organization { * @param {Organization.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} + * @throws {@link Polytomic.ForbiddenError} * @throws {@link Polytomic.ConflictError} * @throws {@link Polytomic.UnprocessableEntityError} * @throws {@link Polytomic.InternalServerError} @@ -296,11 +356,19 @@ export class Organization { * name: "My Organization" * }) */ - public async update( + public update( + id: string, + request: Polytomic.UpdateOrganizationRequestSchema, + requestOptions?: Organization.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); + } + + private async __update( id: string, request: Polytomic.UpdateOrganizationRequestSchema, requestOptions?: Organization.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -312,13 +380,12 @@ export class Organization { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -331,23 +398,41 @@ export class Organization { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.OrganizationEnvelope; + return { data: _response.body as Polytomic.OrganizationEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); + case 403: + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 409: - throw new Polytomic.ConflictError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ConflictError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 422: - throw new Polytomic.UnprocessableEntityError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.UnprocessableEntityError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -357,12 +442,14 @@ export class Organization { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling PUT /api/organizations/{id}."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -376,13 +463,21 @@ export class Organization { * @param {Organization.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} + * @throws {@link Polytomic.ForbiddenError} * @throws {@link Polytomic.NotFoundError} * @throws {@link Polytomic.InternalServerError} * * @example * await client.organization.remove("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async remove(id: string, requestOptions?: Organization.RequestOptions): Promise { + public remove(id: string, requestOptions?: Organization.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__remove(id, requestOptions)); + } + + private async __remove( + id: string, + requestOptions?: Organization.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -394,13 +489,12 @@ export class Organization { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -412,21 +506,36 @@ export class Organization { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return; + return { data: undefined, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); + case 403: + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -436,12 +545,14 @@ export class Organization { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling DELETE /api/organizations/{id}."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } diff --git a/src/api/resources/permissions/client/Client.ts b/src/api/resources/permissions/client/Client.ts index 074f241..a69382e 100644 --- a/src/api/resources/permissions/client/Client.ts +++ b/src/api/resources/permissions/client/Client.ts @@ -14,20 +14,7 @@ export declare namespace Permissions { baseUrl?: core.Supplier; token: core.Supplier; /** Override the X-Polytomic-Version header */ - version?: core.Supplier; - } - - export interface RequestOptions { - /** The maximum time to wait for a response in seconds. */ - timeoutInSeconds?: number; - /** The number of times to retry the request. Defaults to 2. */ - maxRetries?: number; - /** A hook to abort the request. */ - abortSignal?: AbortSignal; - /** Override the X-Polytomic-Version header */ - version?: string | undefined; - /** Additional headers to include in the request. */ - headers?: Record; + version?: core.Supplier; } } diff --git a/src/api/resources/permissions/resources/policies/client/Client.ts b/src/api/resources/permissions/resources/policies/client/Client.ts index b1a39c4..c661d12 100644 --- a/src/api/resources/permissions/resources/policies/client/Client.ts +++ b/src/api/resources/permissions/resources/policies/client/Client.ts @@ -5,6 +5,7 @@ import * as environments from "../../../../../../environments"; import * as core from "../../../../../../core"; import * as Polytomic from "../../../../../index"; +import { toJson } from "../../../../../../core/json"; import urlJoin from "url-join"; import * as errors from "../../../../../../errors/index"; @@ -15,7 +16,7 @@ export declare namespace Policies { baseUrl?: core.Supplier; token: core.Supplier; /** Override the X-Polytomic-Version header */ - version?: core.Supplier; + version?: core.Supplier; } export interface RequestOptions { @@ -26,7 +27,7 @@ export declare namespace Policies { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the X-Polytomic-Version header */ - version?: string | undefined; + version?: unknown; /** Additional headers to include in the request. */ headers?: Record; } @@ -44,7 +45,15 @@ export class Policies { * @example * await client.permissions.policies.list() */ - public async list(requestOptions?: Policies.RequestOptions): Promise { + public list( + requestOptions?: Policies.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(requestOptions)); + } + + private async __list( + requestOptions?: Policies.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -56,13 +65,12 @@ export class Policies { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -74,19 +82,29 @@ export class Policies { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ListPoliciesResponseEnvelope; + return { + data: _response.body as Polytomic.ListPoliciesResponseEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -96,12 +114,14 @@ export class Policies { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling GET /api/permissions/policies."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -121,10 +141,17 @@ export class Policies { * name: "Custom" * }) */ - public async create( + public create( request: Polytomic.permissions.CreatePolicyRequest, requestOptions?: Policies.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); + } + + private async __create( + request: Polytomic.permissions.CreatePolicyRequest, + requestOptions?: Policies.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -136,13 +163,12 @@ export class Policies { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -155,25 +181,41 @@ export class Policies { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.PolicyResponseEnvelope; + return { data: _response.body as Polytomic.PolicyResponseEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -183,12 +225,14 @@ export class Policies { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling POST /api/permissions/policies."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -204,7 +248,17 @@ export class Policies { * @example * await client.permissions.policies.get("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async get(id: string, requestOptions?: Policies.RequestOptions): Promise { + public get( + id: string, + requestOptions?: Policies.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); + } + + private async __get( + id: string, + requestOptions?: Policies.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -216,13 +270,12 @@ export class Policies { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -234,21 +287,31 @@ export class Policies { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.PolicyResponseEnvelope; + return { data: _response.body as Polytomic.PolicyResponseEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -258,6 +321,7 @@ export class Policies { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -266,6 +330,7 @@ export class Policies { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -286,11 +351,19 @@ export class Policies { * name: "Custom" * }) */ - public async update( + public update( + id: string, + request: Polytomic.permissions.UpdatePolicyRequest, + requestOptions?: Policies.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); + } + + private async __update( id: string, request: Polytomic.permissions.UpdatePolicyRequest, requestOptions?: Policies.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -302,13 +375,12 @@ export class Policies { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -321,25 +393,41 @@ export class Policies { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.PolicyResponseEnvelope; + return { data: _response.body as Polytomic.PolicyResponseEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -349,6 +437,7 @@ export class Policies { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -357,6 +446,7 @@ export class Policies { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -373,7 +463,11 @@ export class Policies { * @example * await client.permissions.policies.remove("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async remove(id: string, requestOptions?: Policies.RequestOptions): Promise { + public remove(id: string, requestOptions?: Policies.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__remove(id, requestOptions)); + } + + private async __remove(id: string, requestOptions?: Policies.RequestOptions): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -385,13 +479,12 @@ export class Policies { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -403,23 +496,36 @@ export class Policies { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return; + return { data: undefined, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -429,6 +535,7 @@ export class Policies { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -437,6 +544,7 @@ export class Policies { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } diff --git a/src/api/resources/permissions/resources/roles/client/Client.ts b/src/api/resources/permissions/resources/roles/client/Client.ts index d8e541e..5da7bf9 100644 --- a/src/api/resources/permissions/resources/roles/client/Client.ts +++ b/src/api/resources/permissions/resources/roles/client/Client.ts @@ -5,6 +5,7 @@ import * as environments from "../../../../../../environments"; import * as core from "../../../../../../core"; import * as Polytomic from "../../../../../index"; +import { toJson } from "../../../../../../core/json"; import urlJoin from "url-join"; import * as errors from "../../../../../../errors/index"; @@ -15,7 +16,7 @@ export declare namespace Roles { baseUrl?: core.Supplier; token: core.Supplier; /** Override the X-Polytomic-Version header */ - version?: core.Supplier; + version?: core.Supplier; } export interface RequestOptions { @@ -26,7 +27,7 @@ export declare namespace Roles { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the X-Polytomic-Version header */ - version?: string | undefined; + version?: unknown; /** Additional headers to include in the request. */ headers?: Record; } @@ -44,7 +45,13 @@ export class Roles { * @example * await client.permissions.roles.list() */ - public async list(requestOptions?: Roles.RequestOptions): Promise { + public list(requestOptions?: Roles.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(requestOptions)); + } + + private async __list( + requestOptions?: Roles.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -56,13 +63,12 @@ export class Roles { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -74,19 +80,26 @@ export class Roles { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.RoleListResponseEnvelope; + return { data: _response.body as Polytomic.RoleListResponseEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -96,12 +109,14 @@ export class Roles { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling GET /api/permissions/roles."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -121,10 +136,17 @@ export class Roles { * name: "Custom" * }) */ - public async create( + public create( + request: Polytomic.permissions.CreateRoleRequest, + requestOptions?: Roles.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); + } + + private async __create( request: Polytomic.permissions.CreateRoleRequest, requestOptions?: Roles.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -136,13 +158,12 @@ export class Roles { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -155,25 +176,41 @@ export class Roles { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.RoleResponseEnvelope; + return { data: _response.body as Polytomic.RoleResponseEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -183,12 +220,14 @@ export class Roles { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling POST /api/permissions/roles."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -203,7 +242,17 @@ export class Roles { * @example * await client.permissions.roles.get("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async get(id: string, requestOptions?: Roles.RequestOptions): Promise { + public get( + id: string, + requestOptions?: Roles.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); + } + + private async __get( + id: string, + requestOptions?: Roles.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -215,13 +264,12 @@ export class Roles { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -233,19 +281,26 @@ export class Roles { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.RoleResponseEnvelope; + return { data: _response.body as Polytomic.RoleResponseEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -255,6 +310,7 @@ export class Roles { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -263,6 +319,7 @@ export class Roles { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -283,11 +340,19 @@ export class Roles { * name: "Custom" * }) */ - public async update( + public update( + id: string, + request: Polytomic.permissions.UpdateRoleRequest, + requestOptions?: Roles.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); + } + + private async __update( id: string, request: Polytomic.permissions.UpdateRoleRequest, requestOptions?: Roles.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -299,13 +364,12 @@ export class Roles { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -318,25 +382,41 @@ export class Roles { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.RoleResponseEnvelope; + return { data: _response.body as Polytomic.RoleResponseEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -346,6 +426,7 @@ export class Roles { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -354,6 +435,7 @@ export class Roles { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -370,7 +452,11 @@ export class Roles { * @example * await client.permissions.roles.remove("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async remove(id: string, requestOptions?: Roles.RequestOptions): Promise { + public remove(id: string, requestOptions?: Roles.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__remove(id, requestOptions)); + } + + private async __remove(id: string, requestOptions?: Roles.RequestOptions): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -382,13 +468,12 @@ export class Roles { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -400,23 +485,36 @@ export class Roles { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return; + return { data: undefined, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -426,6 +524,7 @@ export class Roles { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -434,6 +533,7 @@ export class Roles { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } diff --git a/src/api/resources/queryRunner/client/Client.ts b/src/api/resources/queryRunner/client/Client.ts index 40b6505..28e8ea3 100644 --- a/src/api/resources/queryRunner/client/Client.ts +++ b/src/api/resources/queryRunner/client/Client.ts @@ -5,6 +5,7 @@ import * as environments from "../../../../environments"; import * as core from "../../../../core"; import * as Polytomic from "../../../index"; +import { toJson } from "../../../../core/json"; import urlJoin from "url-join"; import * as errors from "../../../../errors/index"; @@ -15,7 +16,7 @@ export declare namespace QueryRunner { baseUrl?: core.Supplier; token: core.Supplier; /** Override the X-Polytomic-Version header */ - version?: core.Supplier; + version?: core.Supplier; } export interface RequestOptions { @@ -26,7 +27,7 @@ export declare namespace QueryRunner { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the X-Polytomic-Version header */ - version?: string | undefined; + version?: unknown; /** Additional headers to include in the request. */ headers?: Record; } @@ -36,6 +37,8 @@ export class QueryRunner { constructor(protected readonly _options: QueryRunner.Options) {} /** + * Submit a query for asynchronous execution against the connection. The initial response may only contain the query task id and status. Poll GET /api/queries/{id} with the returned id to retrieve completion status, fields, and results. + * * @param {string} connectionId * @param {Polytomic.V4RunQueryRequest} request * @param {QueryRunner.RequestOptions} requestOptions - Request-specific configuration. @@ -50,11 +53,19 @@ export class QueryRunner { * query: "SELECT * FROM table" * }) */ - public async runQuery( + public runQuery( connectionId: string, request: Polytomic.V4RunQueryRequest = {}, requestOptions?: QueryRunner.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__runQuery(connectionId, request, requestOptions)); + } + + private async __runQuery( + connectionId: string, + request: Polytomic.V4RunQueryRequest = {}, + requestOptions?: QueryRunner.RequestOptions, + ): Promise> { const { query, ..._body } = request; const _queryParams: Record = {}; if (query != null) { @@ -72,13 +83,12 @@ export class QueryRunner { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -92,23 +102,36 @@ export class QueryRunner { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.V4RunQueryEnvelope; + return { data: _response.body as Polytomic.V4RunQueryEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -118,6 +141,7 @@ export class QueryRunner { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -126,11 +150,14 @@ export class QueryRunner { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } /** + * Fetch the latest status for a submitted query and, once complete, return fields and paginated results. Use the query id returned by POST /api/connections/{connection_id}/query. + * * @param {string} id * @param {Polytomic.QueryRunnerGetQueryRequest} request * @param {QueryRunner.RequestOptions} requestOptions - Request-specific configuration. @@ -141,13 +168,23 @@ export class QueryRunner { * @throws {@link Polytomic.InternalServerError} * * @example - * await client.queryRunner.getQuery("248df4b7-aa70-47b8-a036-33ac447e668d") + * await client.queryRunner.getQuery("248df4b7-aa70-47b8-a036-33ac447e668d", { + * page: "page" + * }) */ - public async getQuery( + public getQuery( + id: string, + request: Polytomic.QueryRunnerGetQueryRequest = {}, + requestOptions?: QueryRunner.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getQuery(id, request, requestOptions)); + } + + private async __getQuery( id: string, request: Polytomic.QueryRunnerGetQueryRequest = {}, requestOptions?: QueryRunner.RequestOptions, - ): Promise { + ): Promise> { const { page } = request; const _queryParams: Record = {}; if (page != null) { @@ -165,13 +202,12 @@ export class QueryRunner { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -184,23 +220,36 @@ export class QueryRunner { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.V4QueryResultsEnvelope; + return { data: _response.body as Polytomic.V4QueryResultsEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -210,12 +259,14 @@ export class QueryRunner { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling GET /api/queries/{id}."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } diff --git a/src/api/resources/queryRunner/client/requests/QueryRunnerGetQueryRequest.ts b/src/api/resources/queryRunner/client/requests/QueryRunnerGetQueryRequest.ts index 0a86b20..c1d678d 100644 --- a/src/api/resources/queryRunner/client/requests/QueryRunnerGetQueryRequest.ts +++ b/src/api/resources/queryRunner/client/requests/QueryRunnerGetQueryRequest.ts @@ -4,7 +4,9 @@ /** * @example - * {} + * { + * page: "page" + * } */ export interface QueryRunnerGetQueryRequest { page?: string; diff --git a/src/api/resources/schemas/client/Client.ts b/src/api/resources/schemas/client/Client.ts index 69d9c80..4418492 100644 --- a/src/api/resources/schemas/client/Client.ts +++ b/src/api/resources/schemas/client/Client.ts @@ -5,6 +5,7 @@ import * as environments from "../../../../environments"; import * as core from "../../../../core"; import * as Polytomic from "../../../index"; +import { toJson } from "../../../../core/json"; import urlJoin from "url-join"; import * as errors from "../../../../errors/index"; @@ -15,7 +16,7 @@ export declare namespace Schemas { baseUrl?: core.Supplier; token: core.Supplier; /** Override the X-Polytomic-Version header */ - version?: core.Supplier; + version?: core.Supplier; } export interface RequestOptions { @@ -26,7 +27,7 @@ export declare namespace Schemas { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the X-Polytomic-Version header */ - version?: string | undefined; + version?: unknown; /** Additional headers to include in the request. */ headers?: Record; } @@ -49,12 +50,23 @@ export class Schemas { * @example * await client.schemas.upsertField("248df4b7-aa70-47b8-a036-33ac447e668d", "public.users") */ - public async upsertField( + public upsertField( connectionId: string, schemaId: string, request: Polytomic.UpsertSchemaFieldRequest = {}, requestOptions?: Schemas.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise( + this.__upsertField(connectionId, schemaId, request, requestOptions), + ); + } + + private async __upsertField( + connectionId: string, + schemaId: string, + request: Polytomic.UpsertSchemaFieldRequest = {}, + requestOptions?: Schemas.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -66,13 +78,12 @@ export class Schemas { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -85,23 +96,36 @@ export class Schemas { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return; + return { data: undefined, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -111,6 +135,7 @@ export class Schemas { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -119,6 +144,7 @@ export class Schemas { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -137,12 +163,23 @@ export class Schemas { * @example * await client.schemas.deleteField("248df4b7-aa70-47b8-a036-33ac447e668d", "public.users", "first_name") */ - public async deleteField( + public deleteField( + connectionId: string, + schemaId: string, + fieldId: string, + requestOptions?: Schemas.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise( + this.__deleteField(connectionId, schemaId, fieldId, requestOptions), + ); + } + + private async __deleteField( connectionId: string, schemaId: string, fieldId: string, requestOptions?: Schemas.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -154,13 +191,12 @@ export class Schemas { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -172,23 +208,36 @@ export class Schemas { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return; + return { data: undefined, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -198,6 +247,7 @@ export class Schemas { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -206,6 +256,7 @@ export class Schemas { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -224,12 +275,23 @@ export class Schemas { * @example * await client.schemas.setPrimaryKeys("248df4b7-aa70-47b8-a036-33ac447e668d", "public.users") */ - public async setPrimaryKeys( + public setPrimaryKeys( + connectionId: string, + schemaId: string, + request: Polytomic.SetPrimaryKeysRequest = {}, + requestOptions?: Schemas.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise( + this.__setPrimaryKeys(connectionId, schemaId, request, requestOptions), + ); + } + + private async __setPrimaryKeys( connectionId: string, schemaId: string, request: Polytomic.SetPrimaryKeysRequest = {}, requestOptions?: Schemas.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -241,13 +303,12 @@ export class Schemas { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -260,23 +321,36 @@ export class Schemas { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return; + return { data: undefined, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -286,6 +360,7 @@ export class Schemas { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -294,6 +369,7 @@ export class Schemas { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -313,11 +389,19 @@ export class Schemas { * @example * await client.schemas.resetPrimaryKeys("248df4b7-aa70-47b8-a036-33ac447e668d", "public.users") */ - public async resetPrimaryKeys( + public resetPrimaryKeys( connectionId: string, schemaId: string, requestOptions?: Schemas.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__resetPrimaryKeys(connectionId, schemaId, requestOptions)); + } + + private async __resetPrimaryKeys( + connectionId: string, + schemaId: string, + requestOptions?: Schemas.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -329,13 +413,12 @@ export class Schemas { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -347,23 +430,36 @@ export class Schemas { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return; + return { data: undefined, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -373,6 +469,7 @@ export class Schemas { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -381,6 +478,7 @@ export class Schemas { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -397,7 +495,11 @@ export class Schemas { * @example * await client.schemas.refresh("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async refresh(id: string, requestOptions?: Schemas.RequestOptions): Promise { + public refresh(id: string, requestOptions?: Schemas.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__refresh(id, requestOptions)); + } + + private async __refresh(id: string, requestOptions?: Schemas.RequestOptions): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -409,13 +511,12 @@ export class Schemas { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -427,23 +528,36 @@ export class Schemas { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return; + return { data: undefined, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -453,6 +567,7 @@ export class Schemas { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -461,6 +576,7 @@ export class Schemas { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -479,10 +595,17 @@ export class Schemas { * @example * await client.schemas.getStatus("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async getStatus( + public getStatus( id: string, requestOptions?: Schemas.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getStatus(id, requestOptions)); + } + + private async __getStatus( + id: string, + requestOptions?: Schemas.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -494,13 +617,12 @@ export class Schemas { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -512,23 +634,39 @@ export class Schemas { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.BulkSyncSourceStatusEnvelope; + return { + data: _response.body as Polytomic.BulkSyncSourceStatusEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -538,6 +676,7 @@ export class Schemas { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -546,6 +685,7 @@ export class Schemas { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -563,11 +703,19 @@ export class Schemas { * @example * await client.schemas.get("248df4b7-aa70-47b8-a036-33ac447e668d", "public.users") */ - public async get( + public get( id: string, schemaId: string, requestOptions?: Schemas.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(id, schemaId, requestOptions)); + } + + private async __get( + id: string, + schemaId: string, + requestOptions?: Schemas.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -579,13 +727,12 @@ export class Schemas { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -597,23 +744,39 @@ export class Schemas { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.BulkSyncSourceSchemaEnvelope; + return { + data: _response.body as Polytomic.BulkSyncSourceSchemaEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -623,6 +786,7 @@ export class Schemas { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -631,6 +795,7 @@ export class Schemas { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -649,11 +814,19 @@ export class Schemas { * @example * await client.schemas.getRecords("248df4b7-aa70-47b8-a036-33ac447e668d", "public.users") */ - public async getRecords( + public getRecords( + id: string, + schemaId: string, + requestOptions?: Schemas.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getRecords(id, schemaId, requestOptions)); + } + + private async __getRecords( id: string, schemaId: string, requestOptions?: Schemas.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -665,13 +838,12 @@ export class Schemas { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -683,25 +855,44 @@ export class Schemas { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.SchemaRecordsResponseEnvelope; + return { + data: _response.body as Polytomic.SchemaRecordsResponseEnvelope, + rawResponse: _response.rawResponse, + }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 400: - throw new Polytomic.BadRequestError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.BadRequestError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -711,6 +902,7 @@ export class Schemas { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -719,6 +911,7 @@ export class Schemas { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } diff --git a/src/api/resources/users/client/Client.ts b/src/api/resources/users/client/Client.ts index d9e2bf7..03933c6 100644 --- a/src/api/resources/users/client/Client.ts +++ b/src/api/resources/users/client/Client.ts @@ -5,6 +5,7 @@ import * as environments from "../../../../environments"; import * as core from "../../../../core"; import * as Polytomic from "../../../index"; +import { toJson } from "../../../../core/json"; import urlJoin from "url-join"; import * as errors from "../../../../errors/index"; @@ -15,7 +16,7 @@ export declare namespace Users { baseUrl?: core.Supplier; token: core.Supplier; /** Override the X-Polytomic-Version header */ - version?: core.Supplier; + version?: core.Supplier; } export interface RequestOptions { @@ -26,7 +27,7 @@ export declare namespace Users { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the X-Polytomic-Version header */ - version?: string | undefined; + version?: unknown; /** Additional headers to include in the request. */ headers?: Record; } @@ -46,7 +47,17 @@ export class Users { * @example * await client.users.list("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async list(orgId: string, requestOptions?: Users.RequestOptions): Promise { + public list( + orgId: string, + requestOptions?: Users.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(orgId, requestOptions)); + } + + private async __list( + orgId: string, + requestOptions?: Users.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -58,13 +69,12 @@ export class Users { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -76,21 +86,31 @@ export class Users { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ListUsersEnvelope; + return { data: _response.body as Polytomic.ListUsersEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -100,6 +120,7 @@ export class Users { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -108,6 +129,7 @@ export class Users { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -127,11 +149,19 @@ export class Users { * email: "mail@example.com" * }) */ - public async create( + public create( + orgId: string, + request: Polytomic.CreateUserRequestSchema, + requestOptions?: Users.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(orgId, request, requestOptions)); + } + + private async __create( orgId: string, request: Polytomic.CreateUserRequestSchema, requestOptions?: Users.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -143,13 +173,12 @@ export class Users { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -162,23 +191,36 @@ export class Users { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.UserEnvelope; + return { data: _response.body as Polytomic.UserEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 422: - throw new Polytomic.UnprocessableEntityError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.UnprocessableEntityError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -188,6 +230,7 @@ export class Users { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -196,6 +239,7 @@ export class Users { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -213,11 +257,19 @@ export class Users { * @example * await client.users.get("248df4b7-aa70-47b8-a036-33ac447e668d", "248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async get( + public get( id: string, orgId: string, requestOptions?: Users.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(id, orgId, requestOptions)); + } + + private async __get( + id: string, + orgId: string, + requestOptions?: Users.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -229,13 +281,12 @@ export class Users { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -247,23 +298,36 @@ export class Users { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.UserEnvelope; + return { data: _response.body as Polytomic.UserEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -273,6 +337,7 @@ export class Users { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -281,6 +346,7 @@ export class Users { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -301,12 +367,21 @@ export class Users { * email: "mail@example.com" * }) */ - public async update( + public update( id: string, orgId: string, request: Polytomic.UpdateUserRequestSchema, requestOptions?: Users.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(id, orgId, request, requestOptions)); + } + + private async __update( + id: string, + orgId: string, + request: Polytomic.UpdateUserRequestSchema, + requestOptions?: Users.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -318,13 +393,12 @@ export class Users { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -337,23 +411,36 @@ export class Users { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.UserEnvelope; + return { data: _response.body as Polytomic.UserEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 422: - throw new Polytomic.UnprocessableEntityError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.UnprocessableEntityError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -363,6 +450,7 @@ export class Users { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -371,6 +459,7 @@ export class Users { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -388,11 +477,19 @@ export class Users { * @example * await client.users.remove("248df4b7-aa70-47b8-a036-33ac447e668d", "248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async remove( + public remove( + id: string, + orgId: string, + requestOptions?: Users.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__remove(id, orgId, requestOptions)); + } + + private async __remove( id: string, orgId: string, requestOptions?: Users.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -404,13 +501,12 @@ export class Users { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -422,23 +518,36 @@ export class Users { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.UserEnvelope; + return { data: _response.body as Polytomic.UserEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 403: - throw new Polytomic.ForbiddenError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -448,6 +557,7 @@ export class Users { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -456,6 +566,7 @@ export class Users { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -471,6 +582,7 @@ export class Users { * @param {Users.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} + * @throws {@link Polytomic.ForbiddenError} * @throws {@link Polytomic.NotFoundError} * @throws {@link Polytomic.InternalServerError} * @@ -479,12 +591,21 @@ export class Users { * force: true * }) */ - public async createApiKey( + public createApiKey( + orgId: string, + id: string, + request: Polytomic.UsersCreateApiKeyRequest = {}, + requestOptions?: Users.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__createApiKey(orgId, id, request, requestOptions)); + } + + private async __createApiKey( orgId: string, id: string, request: Polytomic.UsersCreateApiKeyRequest = {}, requestOptions?: Users.RequestOptions, - ): Promise { + ): Promise> { const { force } = request; const _queryParams: Record = {}; if (force != null) { @@ -502,13 +623,12 @@ export class Users { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -521,21 +641,36 @@ export class Users { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.ApiKeyResponseEnvelope; + return { data: _response.body as Polytomic.ApiKeyResponseEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); + case 403: + throw new Polytomic.ForbiddenError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -545,6 +680,7 @@ export class Users { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -553,6 +689,7 @@ export class Users { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } diff --git a/src/api/resources/webhooks/client/Client.ts b/src/api/resources/webhooks/client/Client.ts index 49e8a81..6b57b80 100644 --- a/src/api/resources/webhooks/client/Client.ts +++ b/src/api/resources/webhooks/client/Client.ts @@ -5,6 +5,7 @@ import * as environments from "../../../../environments"; import * as core from "../../../../core"; import * as Polytomic from "../../../index"; +import { toJson } from "../../../../core/json"; import urlJoin from "url-join"; import * as errors from "../../../../errors/index"; @@ -15,7 +16,7 @@ export declare namespace Webhooks { baseUrl?: core.Supplier; token: core.Supplier; /** Override the X-Polytomic-Version header */ - version?: core.Supplier; + version?: core.Supplier; } export interface RequestOptions { @@ -26,7 +27,7 @@ export declare namespace Webhooks { /** A hook to abort the request. */ abortSignal?: AbortSignal; /** Override the X-Polytomic-Version header */ - version?: string | undefined; + version?: unknown; /** Additional headers to include in the request. */ headers?: Record; } @@ -50,7 +51,13 @@ export class Webhooks { * @example * await client.webhooks.list() */ - public async list(requestOptions?: Webhooks.RequestOptions): Promise { + public list(requestOptions?: Webhooks.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(requestOptions)); + } + + private async __list( + requestOptions?: Webhooks.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -62,13 +69,12 @@ export class Webhooks { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -80,19 +86,26 @@ export class Webhooks { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.WebhookListEnvelope; + return { data: _response.body as Polytomic.WebhookListEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -102,12 +115,14 @@ export class Webhooks { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling GET /api/webhooks."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -132,10 +147,17 @@ export class Webhooks { * secret: "secret" * }) */ - public async create( + public create( + request: Polytomic.CreateWebhooksSchema, + requestOptions?: Webhooks.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); + } + + private async __create( request: Polytomic.CreateWebhooksSchema, requestOptions?: Webhooks.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -147,13 +169,12 @@ export class Webhooks { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -166,21 +187,31 @@ export class Webhooks { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.WebhookEnvelope; + return { data: _response.body as Polytomic.WebhookEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 422: - throw new Polytomic.UnprocessableEntityError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.UnprocessableEntityError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -190,12 +221,14 @@ export class Webhooks { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling POST /api/webhooks."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -216,7 +249,17 @@ export class Webhooks { * @example * await client.webhooks.get("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async get(id: string, requestOptions?: Webhooks.RequestOptions): Promise { + public get( + id: string, + requestOptions?: Webhooks.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); + } + + private async __get( + id: string, + requestOptions?: Webhooks.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -228,13 +271,12 @@ export class Webhooks { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -246,19 +288,26 @@ export class Webhooks { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.WebhookEnvelope; + return { data: _response.body as Polytomic.WebhookEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -268,12 +317,14 @@ export class Webhooks { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling GET /api/webhooks/{id}."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -299,11 +350,19 @@ export class Webhooks { * secret: "secret" * }) */ - public async update( + public update( + id: string, + request: Polytomic.UpdateWebhooksSchema, + requestOptions?: Webhooks.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); + } + + private async __update( id: string, request: Polytomic.UpdateWebhooksSchema, requestOptions?: Webhooks.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -315,13 +374,12 @@ export class Webhooks { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -334,21 +392,31 @@ export class Webhooks { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.WebhookEnvelope; + return { data: _response.body as Polytomic.WebhookEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 422: - throw new Polytomic.UnprocessableEntityError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.UnprocessableEntityError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -358,12 +426,14 @@ export class Webhooks { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling PUT /api/webhooks/{id}."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -379,7 +449,11 @@ export class Webhooks { * @example * await client.webhooks.remove("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async remove(id: string, requestOptions?: Webhooks.RequestOptions): Promise { + public remove(id: string, requestOptions?: Webhooks.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__remove(id, requestOptions)); + } + + private async __remove(id: string, requestOptions?: Webhooks.RequestOptions): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -391,13 +465,12 @@ export class Webhooks { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -409,21 +482,31 @@ export class Webhooks { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return; + return { data: undefined, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -433,12 +516,14 @@ export class Webhooks { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling DELETE /api/webhooks/{id}."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -454,7 +539,17 @@ export class Webhooks { * @example * await client.webhooks.disable("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async disable(id: string, requestOptions?: Webhooks.RequestOptions): Promise { + public disable( + id: string, + requestOptions?: Webhooks.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__disable(id, requestOptions)); + } + + private async __disable( + id: string, + requestOptions?: Webhooks.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -466,13 +561,12 @@ export class Webhooks { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -484,21 +578,31 @@ export class Webhooks { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.WebhookEnvelope; + return { data: _response.body as Polytomic.WebhookEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -508,6 +612,7 @@ export class Webhooks { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError( @@ -516,6 +621,7 @@ export class Webhooks { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -531,7 +637,17 @@ export class Webhooks { * @example * await client.webhooks.enable("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async enable(id: string, requestOptions?: Webhooks.RequestOptions): Promise { + public enable( + id: string, + requestOptions?: Webhooks.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__enable(id, requestOptions)); + } + + private async __enable( + id: string, + requestOptions?: Webhooks.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -543,13 +659,12 @@ export class Webhooks { headers: { Authorization: await this._getAuthorizationHeader(), "X-Polytomic-Version": - (await core.Supplier.get(this._options.version)) != null + typeof (await core.Supplier.get(this._options.version)) === "string" ? await core.Supplier.get(this._options.version) - : undefined, + : toJson(await core.Supplier.get(this._options.version)), "X-Fern-Language": "JavaScript", - "X-Fern-SDK-Name": "polytomic", - "X-Fern-SDK-Version": "1.16.1", - "User-Agent": "polytomic/1.16.1", + "X-Fern-SDK-Name": "", + "X-Fern-SDK-Version": "1.16.2", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version, ...requestOptions?.headers, @@ -561,21 +676,31 @@ export class Webhooks { abortSignal: requestOptions?.abortSignal, }); if (_response.ok) { - return _response.body as Polytomic.WebhookEnvelope; + return { data: _response.body as Polytomic.WebhookEnvelope, rawResponse: _response.rawResponse }; } if (_response.error.reason === "status-code") { switch (_response.error.statusCode) { case 401: - throw new Polytomic.UnauthorizedError(_response.error.body as Polytomic.RestErrResponse); + throw new Polytomic.UnauthorizedError( + _response.error.body as Polytomic.RestErrResponse, + _response.rawResponse, + ); case 404: - throw new Polytomic.NotFoundError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.NotFoundError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); case 500: - throw new Polytomic.InternalServerError(_response.error.body as Polytomic.ApiError); + throw new Polytomic.InternalServerError( + _response.error.body as Polytomic.ApiError, + _response.rawResponse, + ); default: throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.body, + rawResponse: _response.rawResponse, }); } } @@ -585,12 +710,14 @@ export class Webhooks { throw new errors.PolytomicError({ statusCode: _response.error.statusCode, body: _response.error.rawBody, + rawResponse: _response.rawResponse, }); case "timeout": throw new errors.PolytomicTimeoutError("Timeout exceeded when calling POST /api/webhooks/{id}/enable."); case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } diff --git a/src/api/types/BulkSchema.ts b/src/api/types/BulkSchema.ts index a2ef276..48b45c5 100644 --- a/src/api/types/BulkSchema.ts +++ b/src/api/types/BulkSchema.ts @@ -8,7 +8,9 @@ export interface BulkSchema { data_cutoff_timestamp?: string; disable_data_cutoff?: boolean; enabled?: boolean; + /** fields is not populated on the list endpoint and will be removed in a future version; retrieve individual schemas for fields. */ fields?: Polytomic.BulkField[]; + /** filters is not populated on the list endpoint and will be removed in a future version; retrieve individual schemas for filters. */ filters?: Polytomic.BulkFilter[]; id?: string; output_name?: string; diff --git a/src/api/types/BulkSchemaExecutionStatus.ts b/src/api/types/BulkSchemaExecutionStatus.ts index 8b75481..c16f480 100644 --- a/src/api/types/BulkSchemaExecutionStatus.ts +++ b/src/api/types/BulkSchemaExecutionStatus.ts @@ -10,7 +10,8 @@ export type BulkSchemaExecutionStatus = | "canceled" | "completed" | "failed" - | "interrupted"; + | "interrupted" + | "processing"; export const BulkSchemaExecutionStatus = { Created: "created", Scheduled: "scheduled", @@ -20,4 +21,5 @@ export const BulkSchemaExecutionStatus = { Completed: "completed", Failed: "failed", Interrupted: "interrupted", + Processing: "processing", } as const; diff --git a/src/api/types/BulkSyncIngestionStatus.ts b/src/api/types/BulkSyncIngestionStatus.ts new file mode 100644 index 0000000..a5a5cc4 --- /dev/null +++ b/src/api/types/BulkSyncIngestionStatus.ts @@ -0,0 +1,16 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Polytomic from "../index"; + +export interface BulkSyncIngestionStatus { + enabled?: boolean; + highwater_mark?: string; + is_running?: boolean; + position?: string; + position_time?: string; + status?: Polytomic.IngestionStatusLevel; + status_message?: string; + updated_at?: string; +} diff --git a/src/api/types/BulkSyncResponse.ts b/src/api/types/BulkSyncResponse.ts index 13fc220..e5d9bc5 100644 --- a/src/api/types/BulkSyncResponse.ts +++ b/src/api/types/BulkSyncResponse.ts @@ -11,7 +11,7 @@ export interface BulkSyncResponse { /** Per-sync concurrency limit override. */ concurrency_limit?: number; created_at?: string; - created_by?: Polytomic.CommonOutputActor; + created_by?: Polytomic.OutputActor; data_cutoff_timestamp?: string; /** Destination-specific bulk sync configuration. e.g. output schema name, s3 file format, etc. */ destination_configuration?: Record; @@ -34,5 +34,5 @@ export interface BulkSyncResponse { source_configuration?: Record; source_connection_id?: string; updated_at?: string; - updated_by?: Polytomic.CommonOutputActor; + updated_by?: Polytomic.OutputActor; } diff --git a/src/api/types/BulkSyncStatusResponse.ts b/src/api/types/BulkSyncStatusResponse.ts index ef264a4..f92d239 100644 --- a/src/api/types/BulkSyncStatusResponse.ts +++ b/src/api/types/BulkSyncStatusResponse.ts @@ -6,6 +6,7 @@ import * as Polytomic from "../index"; export interface BulkSyncStatusResponse { current_execution?: Polytomic.BulkSyncExecution; + ingestion_status?: Polytomic.BulkSyncIngestionStatus; last_execution?: Polytomic.BulkSyncExecution; next_execution_time?: string; } diff --git a/src/api/types/ConnectionResponseSchema.ts b/src/api/types/ConnectionResponseSchema.ts index d230d93..c823c3e 100644 --- a/src/api/types/ConnectionResponseSchema.ts +++ b/src/api/types/ConnectionResponseSchema.ts @@ -9,7 +9,7 @@ export interface ConnectionResponseSchema { api_calls_last_24_hours?: number; configuration?: Record; created_at?: string; - created_by?: Polytomic.CommonOutputActor; + created_by?: Polytomic.OutputActor; id?: string; name?: string; organization_id?: string; @@ -21,5 +21,5 @@ export interface ConnectionResponseSchema { status_error?: string; type?: Polytomic.ConnectionTypeSchema; updated_at?: string; - updated_by?: Polytomic.CommonOutputActor; + updated_by?: Polytomic.OutputActor; } diff --git a/src/api/types/IngestionStatusLevel.ts b/src/api/types/IngestionStatusLevel.ts new file mode 100644 index 0000000..42bb48d --- /dev/null +++ b/src/api/types/IngestionStatusLevel.ts @@ -0,0 +1,13 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * The health status of CDC ingestion for a bulk sync. 'ok' means ingestion is operating normally. 'warning' indicates a non-fatal issue. 'error' indicates a potentially fatal ingestion error. + */ +export type IngestionStatusLevel = "ok" | "warning" | "error"; +export const IngestionStatusLevel = { + Ok: "ok", + Warning: "warning", + Error: "error", +} as const; diff --git a/src/api/types/ModelField.ts b/src/api/types/ModelField.ts index 07004d3..fbaf0c1 100644 --- a/src/api/types/ModelField.ts +++ b/src/api/types/ModelField.ts @@ -6,7 +6,7 @@ import * as Polytomic from "../index"; export interface ModelField { created_at?: string; - created_by?: Polytomic.CommonOutputActor; + created_by?: Polytomic.OutputActor; description?: string; example?: unknown; id?: string; diff --git a/src/api/types/ModelResponse.ts b/src/api/types/ModelResponse.ts index d388fb8..e53c37f 100644 --- a/src/api/types/ModelResponse.ts +++ b/src/api/types/ModelResponse.ts @@ -8,7 +8,7 @@ export interface ModelResponse { configuration?: Record; connection_id?: string; created_at?: string; - created_by?: Polytomic.CommonOutputActor; + created_by?: Polytomic.OutputActor; enricher?: Polytomic.Enrichment; fields?: Polytomic.ModelField[]; id?: string; @@ -21,6 +21,6 @@ export interface ModelResponse { tracking_columns?: string[]; type?: string; updated_at?: string; - updated_by?: Polytomic.CommonOutputActor; + updated_by?: Polytomic.OutputActor; version?: number; } diff --git a/src/api/types/ModelSyncMode.ts b/src/api/types/ModelSyncMode.ts index cf671d2..e3054bc 100644 --- a/src/api/types/ModelSyncMode.ts +++ b/src/api/types/ModelSyncMode.ts @@ -5,7 +5,7 @@ /** * */ -export type ModelSyncMode = "create" | "update" | "updateOrCreate" | "replace" | "append" | "remove"; +export type ModelSyncMode = "create" | "update" | "updateOrCreate" | "replace" | "append" | "remove" | "snapshot"; export const ModelSyncMode = { Create: "create", Update: "update", @@ -13,4 +13,5 @@ export const ModelSyncMode = { Replace: "replace", Append: "append", Remove: "remove", + Snapshot: "snapshot", } as const; diff --git a/src/api/types/ModelSyncResponse.ts b/src/api/types/ModelSyncResponse.ts index 002a1c5..519d53d 100644 --- a/src/api/types/ModelSyncResponse.ts +++ b/src/api/types/ModelSyncResponse.ts @@ -7,7 +7,7 @@ import * as Polytomic from "../index"; export interface ModelSyncResponse { active?: boolean; created_at?: string; - created_by?: Polytomic.CommonOutputActor; + created_by?: Polytomic.OutputActor; encryption_passphrase?: string; fields?: Polytomic.ModelSyncField[]; filter_logic?: string; @@ -28,5 +28,5 @@ export interface ModelSyncResponse { sync_all_records?: boolean; target?: Polytomic.Target; updated_at?: string; - updated_by?: Polytomic.CommonOutputActor; + updated_by?: Polytomic.OutputActor; } diff --git a/src/api/types/CommonOutputActor.ts b/src/api/types/OutputActor.ts similarity index 77% rename from src/api/types/CommonOutputActor.ts rename to src/api/types/OutputActor.ts index cb6483f..295c75f 100644 --- a/src/api/types/CommonOutputActor.ts +++ b/src/api/types/OutputActor.ts @@ -2,7 +2,7 @@ * This file was auto-generated by Fern from our API Definition. */ -export interface CommonOutputActor { +export interface OutputActor { id?: string; name?: string; type?: string; diff --git a/src/api/types/V4RunQueryResult.ts b/src/api/types/V4RunQueryResult.ts index b1e04af..3e08009 100644 --- a/src/api/types/V4RunQueryResult.ts +++ b/src/api/types/V4RunQueryResult.ts @@ -12,7 +12,7 @@ export interface V4RunQueryResult { expires?: string; /** The names of the fields returned by the query. This will not be returned until the query completes. */ fields?: string[]; - /** The ID of the query task. */ + /** The ID of the query task. Poll GET /api/queries/{id} until the task reaches done or failed to retrieve results. */ id?: string; /** The query results, returned as an array of objects. */ results?: Record[]; diff --git a/src/api/types/index.ts b/src/api/types/index.ts index 060801f..6458872 100644 --- a/src/api/types/index.ts +++ b/src/api/types/index.ts @@ -4,6 +4,7 @@ export * from "./BackendOAuthPrompt"; export * from "./BulkBulkSyncSchedule"; export * from "./BulkDiscover"; export * from "./BulkExecutionStatus"; +export * from "./BulkFilter"; export * from "./BulkItemizedSchedule"; export * from "./BulkMultiScheduleConfiguration"; export * from "./BulkNormalizeNames"; @@ -12,7 +13,7 @@ export * from "./BulkScheduleSyncMode"; export * from "./BulkSchemaExecutionStatus"; export * from "./BulkSelectiveMode"; export * from "./BulkSyncMode"; -export * from "./CommonOutputActor"; +export * from "./ConfigurationValue"; export * from "./BulkSyncCanceledEvent"; export * from "./BulkSyncCompletedEvent"; export * from "./BulkSyncCompletedWithErrorEvent"; @@ -33,7 +34,11 @@ export * from "./ModelModelFieldRequest"; export * from "./ModelRelation"; export * from "./ModelRelationTo"; export * from "./ModelSyncMode"; +export * from "./OutputActor"; +export * from "./PaginationDetails"; export * from "./RestErrResponse"; +export * from "./RunAfter"; +export * from "./Schedule"; export * from "./ScheduleFrequency"; export * from "./ScheduleScheduleOption"; export * from "./SchemaAssociation"; @@ -50,7 +55,6 @@ export * from "./ApiKeyResponseEnvelope"; export * from "./ActivateSyncEnvelope"; export * from "./ActivateSyncInput"; export * from "./ActivateSyncOutput"; -export * from "./BulkFilter"; export * from "./BulkSyncDest"; export * from "./BulkSyncDestEnvelope"; export * from "./BulkSyncListEnvelope"; @@ -60,7 +64,6 @@ export * from "./CancelBulkSyncResponse"; export * from "./CancelBulkSyncResponseEnvelope"; export * from "./CancelModelSyncResponse"; export * from "./CancelModelSyncResponseEnvelope"; -export * from "./ConfigurationValue"; export * from "./V2ConnectionForm"; export * from "./ConnectionListResponseEnvelope"; export * from "./ConnectionMeta"; @@ -118,7 +121,6 @@ export * from "./Organization"; export * from "./OrganizationEnvelope"; export * from "./OrganizationsEnvelope"; export * from "./Override"; -export * from "./PaginationDetails"; export * from "./PolicyAction"; export * from "./PolicyResponse"; export * from "./PolicyResponseEnvelope"; @@ -127,9 +129,7 @@ export * from "./RelationTo"; export * from "./RoleListResponseEnvelope"; export * from "./RoleResponse"; export * from "./RoleResponseEnvelope"; -export * from "./RunAfter"; export * from "./V2SampleRecord"; -export * from "./Schedule"; export * from "./ScheduleOptionResponse"; export * from "./ScheduleOptionResponseEnvelope"; export * from "./V2SchemaConfigurationFieldsItem"; @@ -158,6 +158,7 @@ export * from "./BulkSchema"; export * from "./BulkSchemaEnvelope"; export * from "./BulkSyncExecution"; export * from "./BulkSyncExecutionEnvelope"; +export * from "./BulkSyncIngestionStatus"; export * from "./BulkSyncSchemaExecution"; export * from "./BulkSyncSource"; export * from "./BulkSyncSourceEnvelope"; @@ -168,6 +169,7 @@ export * from "./BulkSyncStatusEnvelope"; export * from "./BulkSyncStatusResponse"; export * from "./ConnectCardResponse"; export * from "./ConnectCardResponseEnvelope"; +export * from "./IngestionStatusLevel"; export * from "./ListBulkSchema"; export * from "./ListBulkSyncExecutionsEnvelope"; export * from "./PickValue"; diff --git a/src/core/fetcher/APIResponse.ts b/src/core/fetcher/APIResponse.ts index 3664d09..6335291 100644 --- a/src/core/fetcher/APIResponse.ts +++ b/src/core/fetcher/APIResponse.ts @@ -1,12 +1,23 @@ +import { RawResponse } from "./RawResponse"; + +/** + * The response of an API call. + * It is a successful response or a failed response. + */ export type APIResponse = SuccessfulResponse | FailedResponse; export interface SuccessfulResponse { ok: true; body: T; + /** + * @deprecated Use `rawResponse` instead + */ headers?: Record; + rawResponse: RawResponse; } export interface FailedResponse { ok: false; error: T; + rawResponse: RawResponse; } diff --git a/src/core/fetcher/Fetcher.ts b/src/core/fetcher/Fetcher.ts index f3ee18e..336ee10 100644 --- a/src/core/fetcher/Fetcher.ts +++ b/src/core/fetcher/Fetcher.ts @@ -1,5 +1,6 @@ import { toJson } from "../json"; import { APIResponse } from "./APIResponse"; +import { abortRawResponse, toRawResponse, unknownRawResponse } from "./RawResponse"; import { createRequestUrl } from "./createRequestUrl"; import { getFetchFn } from "./getFetchFn"; import { getRequestBody } from "./getRequestBody"; @@ -94,6 +95,7 @@ export async function fetcherImpl(args: Fetcher.Args): Promise(args: Fetcher.Args): Promise(args: Fetcher.Args): Promise(args: Fetcher.Args): Promise(args: Fetcher.Args): Promise(args: Fetcher.Args): Promise; + + constructor(init?: HeadersInit) { + this.headers = new Map(); + + if (init) { + if (init instanceof Headers) { + init.forEach((value, key) => this.append(key, value)); + } else if (Array.isArray(init)) { + for (const [key, value] of init) { + if (typeof key === "string" && typeof value === "string") { + this.append(key, value); + } else { + throw new TypeError("Each header entry must be a [string, string] tuple"); + } + } + } else { + for (const [key, value] of Object.entries(init)) { + if (typeof value === "string") { + this.append(key, value); + } else { + throw new TypeError("Header values must be strings"); + } + } + } + } + } + + append(name: string, value: string): void { + const key = name.toLowerCase(); + const existing = this.headers.get(key) || []; + this.headers.set(key, [...existing, value]); + } + + delete(name: string): void { + const key = name.toLowerCase(); + this.headers.delete(key); + } + + get(name: string): string | null { + const key = name.toLowerCase(); + const values = this.headers.get(key); + return values ? values.join(", ") : null; + } + + has(name: string): boolean { + const key = name.toLowerCase(); + return this.headers.has(key); + } + + set(name: string, value: string): void { + const key = name.toLowerCase(); + this.headers.set(key, [value]); + } + + forEach(callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: unknown): void { + const boundCallback = thisArg ? callbackfn.bind(thisArg) : callbackfn; + this.headers.forEach((values, key) => boundCallback(values.join(", "), key, this)); + } + + getSetCookie(): string[] { + return this.headers.get("set-cookie") || []; + } + + *entries(): HeadersIterator<[string, string]> { + for (const [key, values] of this.headers.entries()) { + yield [key, values.join(", ")]; + } + } + + *keys(): HeadersIterator { + yield* this.headers.keys(); + } + + *values(): HeadersIterator { + for (const values of this.headers.values()) { + yield values.join(", "); + } + } + + [Symbol.iterator](): HeadersIterator<[string, string]> { + return this.entries(); + } + }; +} + +export { Headers }; diff --git a/src/core/fetcher/HttpResponsePromise.ts b/src/core/fetcher/HttpResponsePromise.ts new file mode 100644 index 0000000..6b0bc4f --- /dev/null +++ b/src/core/fetcher/HttpResponsePromise.ts @@ -0,0 +1,116 @@ +import { WithRawResponse } from "./RawResponse"; + +/** + * A promise that returns the parsed response and lets you retrieve the raw response too. + */ +export class HttpResponsePromise extends Promise { + private innerPromise: Promise>; + private unwrappedPromise: Promise | undefined; + + private constructor(promise: Promise>) { + // Initialize with a no-op to avoid premature parsing + super((resolve) => { + resolve(undefined as unknown as T); + }); + this.innerPromise = promise; + } + + /** + * Creates an `HttpResponsePromise` from a function that returns a promise. + * + * @param fn - A function that returns a promise resolving to a `WithRawResponse` object. + * @param args - Arguments to pass to the function. + * @returns An `HttpResponsePromise` instance. + */ + public static fromFunction Promise>, T>( + fn: F, + ...args: Parameters + ): HttpResponsePromise { + return new HttpResponsePromise(fn(...args)); + } + + /** + * Creates a function that returns an `HttpResponsePromise` from a function that returns a promise. + * + * @param fn - A function that returns a promise resolving to a `WithRawResponse` object. + * @returns A function that returns an `HttpResponsePromise` instance. + */ + public static interceptFunction< + F extends (...args: never[]) => Promise>, + T = Awaited>["data"], + >(fn: F): (...args: Parameters) => HttpResponsePromise { + return (...args: Parameters): HttpResponsePromise => { + return HttpResponsePromise.fromPromise(fn(...args)); + }; + } + + /** + * Creates an `HttpResponsePromise` from an existing promise. + * + * @param promise - A promise resolving to a `WithRawResponse` object. + * @returns An `HttpResponsePromise` instance. + */ + public static fromPromise(promise: Promise>): HttpResponsePromise { + return new HttpResponsePromise(promise); + } + + /** + * Creates an `HttpResponsePromise` from an executor function. + * + * @param executor - A function that takes resolve and reject callbacks to create a promise. + * @returns An `HttpResponsePromise` instance. + */ + public static fromExecutor( + executor: (resolve: (value: WithRawResponse) => void, reject: (reason?: unknown) => void) => void, + ): HttpResponsePromise { + const promise = new Promise>(executor); + return new HttpResponsePromise(promise); + } + + /** + * Creates an `HttpResponsePromise` from a resolved result. + * + * @param result - A `WithRawResponse` object to resolve immediately. + * @returns An `HttpResponsePromise` instance. + */ + public static fromResult(result: WithRawResponse): HttpResponsePromise { + const promise = Promise.resolve(result); + return new HttpResponsePromise(promise); + } + + private unwrap(): Promise { + if (!this.unwrappedPromise) { + this.unwrappedPromise = this.innerPromise.then(({ data }) => data); + } + return this.unwrappedPromise; + } + + /** @inheritdoc */ + public override then( + onfulfilled?: ((value: T) => TResult1 | PromiseLike) | null, + onrejected?: ((reason: unknown) => TResult2 | PromiseLike) | null, + ): Promise { + return this.unwrap().then(onfulfilled, onrejected); + } + + /** @inheritdoc */ + public override catch( + onrejected?: ((reason: unknown) => TResult | PromiseLike) | null, + ): Promise { + return this.unwrap().catch(onrejected); + } + + /** @inheritdoc */ + public override finally(onfinally?: (() => void) | null): Promise { + return this.unwrap().finally(onfinally); + } + + /** + * Retrieves the data and raw response. + * + * @returns A promise resolving to a `WithRawResponse` object. + */ + public async withRawResponse(): Promise> { + return await this.innerPromise; + } +} diff --git a/src/core/fetcher/RawResponse.ts b/src/core/fetcher/RawResponse.ts new file mode 100644 index 0000000..bdaa614 --- /dev/null +++ b/src/core/fetcher/RawResponse.ts @@ -0,0 +1,61 @@ +import { Headers } from "./Headers"; + +/** + * The raw response from the fetch call excluding the body. + */ +export type RawResponse = Omit< + { + [K in keyof Response as Response[K] extends Function ? never : K]: Response[K]; // strips out functions + }, + "ok" | "body" | "bodyUsed" +>; // strips out body and bodyUsed + +/** + * A raw response indicating that the request was aborted. + */ +export const abortRawResponse: RawResponse = { + headers: new Headers(), + redirected: false, + status: 499, + statusText: "Client Closed Request", + type: "error", + url: "", +} as const; + +/** + * A raw response indicating an unknown error. + */ +export const unknownRawResponse: RawResponse = { + headers: new Headers(), + redirected: false, + status: 0, + statusText: "Unknown Error", + type: "error", + url: "", +} as const; + +/** + * Converts a `RawResponse` object into a `RawResponse` by extracting its properties, + * excluding the `body` and `bodyUsed` fields. + * + * @param response - The `RawResponse` object to convert. + * @returns A `RawResponse` object containing the extracted properties of the input response. + */ +export function toRawResponse(response: Response): RawResponse { + return { + headers: response.headers, + redirected: response.redirected, + status: response.status, + statusText: response.statusText, + type: response.type, + url: response.url, + }; +} + +/** + * Creates a `RawResponse` from a standard `Response` object. + */ +export interface WithRawResponse { + readonly data: T; + readonly rawResponse: RawResponse; +} diff --git a/src/core/fetcher/index.ts b/src/core/fetcher/index.ts index 2d658ca..249f517 100644 --- a/src/core/fetcher/index.ts +++ b/src/core/fetcher/index.ts @@ -3,3 +3,6 @@ export { fetcher } from "./Fetcher"; export type { Fetcher, FetchFunction } from "./Fetcher"; export { getHeader } from "./getHeader"; export { Supplier } from "./Supplier"; +export { abortRawResponse, toRawResponse, unknownRawResponse } from "./RawResponse"; +export type { RawResponse, WithRawResponse } from "./RawResponse"; +export { HttpResponsePromise } from "./HttpResponsePromise"; diff --git a/src/core/index.ts b/src/core/index.ts index c752c6a..f8d6c80 100644 --- a/src/core/index.ts +++ b/src/core/index.ts @@ -1,3 +1,3 @@ export * from "./fetcher"; -export * from "./auth"; export * from "./runtime"; +export * from "./auth"; diff --git a/src/errors/PolytomicError.ts b/src/errors/PolytomicError.ts index 0bdf16b..fabf7e6 100644 --- a/src/errors/PolytomicError.ts +++ b/src/errors/PolytomicError.ts @@ -2,22 +2,30 @@ * This file was auto-generated by Fern from our API Definition. */ +import * as core from "../core"; import { toJson } from "../core/json"; export class PolytomicError extends Error { - readonly statusCode?: number; - readonly body?: unknown; - - constructor({ message, statusCode, body }: { message?: string; statusCode?: number; body?: unknown }) { + public readonly statusCode?: number; + public readonly body?: unknown; + public readonly rawResponse?: core.RawResponse; + + constructor({ + message, + statusCode, + body, + rawResponse, + }: { + message?: string; + statusCode?: number; + body?: unknown; + rawResponse?: core.RawResponse; + }) { super(buildMessage({ message, statusCode, body })); Object.setPrototypeOf(this, PolytomicError.prototype); - if (statusCode != null) { - this.statusCode = statusCode; - } - - if (body !== undefined) { - this.body = body; - } + this.statusCode = statusCode; + this.body = body; + this.rawResponse = rawResponse; } } diff --git a/src/version.ts b/src/version.ts index e3a0eef..248eea0 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const SDK_VERSION = "1.16.1"; +export const SDK_VERSION = "1.16.2"; diff --git a/tests/unit/fetcher/HttpResponsePromise.test.ts b/tests/unit/fetcher/HttpResponsePromise.test.ts new file mode 100644 index 0000000..2216a33 --- /dev/null +++ b/tests/unit/fetcher/HttpResponsePromise.test.ts @@ -0,0 +1,143 @@ +import { beforeEach, describe, expect, it, jest } from "@jest/globals"; + +import { HttpResponsePromise } from "../../../src/core/fetcher/HttpResponsePromise"; +import { RawResponse, WithRawResponse } from "../../../src/core/fetcher/RawResponse"; + +describe("HttpResponsePromise", () => { + const mockRawResponse: RawResponse = { + headers: new Headers(), + redirected: false, + status: 200, + statusText: "OK", + type: "basic" as ResponseType, + url: "https://example.com", + }; + const mockData = { id: "123", name: "test" }; + const mockWithRawResponse: WithRawResponse = { + data: mockData, + rawResponse: mockRawResponse, + }; + + describe("fromFunction", () => { + it("should create an HttpResponsePromise from a function", async () => { + const mockFn = jest + .fn<(arg1: string, arg2: string) => Promise>>() + .mockResolvedValue(mockWithRawResponse); + + const responsePromise = HttpResponsePromise.fromFunction(mockFn, "arg1", "arg2"); + + const result = await responsePromise; + expect(result).toEqual(mockData); + expect(mockFn).toHaveBeenCalledWith("arg1", "arg2"); + + const resultWithRawResponse = await responsePromise.withRawResponse(); + expect(resultWithRawResponse).toEqual({ + data: mockData, + rawResponse: mockRawResponse, + }); + }); + }); + + describe("fromPromise", () => { + it("should create an HttpResponsePromise from a promise", async () => { + const promise = Promise.resolve(mockWithRawResponse); + + const responsePromise = HttpResponsePromise.fromPromise(promise); + + const result = await responsePromise; + expect(result).toEqual(mockData); + + const resultWithRawResponse = await responsePromise.withRawResponse(); + expect(resultWithRawResponse).toEqual({ + data: mockData, + rawResponse: mockRawResponse, + }); + }); + }); + + describe("fromExecutor", () => { + it("should create an HttpResponsePromise from an executor function", async () => { + const responsePromise = HttpResponsePromise.fromExecutor((resolve) => { + resolve(mockWithRawResponse); + }); + + const result = await responsePromise; + expect(result).toEqual(mockData); + + const resultWithRawResponse = await responsePromise.withRawResponse(); + expect(resultWithRawResponse).toEqual({ + data: mockData, + rawResponse: mockRawResponse, + }); + }); + }); + + describe("fromResult", () => { + it("should create an HttpResponsePromise from a result", async () => { + const responsePromise = HttpResponsePromise.fromResult(mockWithRawResponse); + + const result = await responsePromise; + expect(result).toEqual(mockData); + + const resultWithRawResponse = await responsePromise.withRawResponse(); + expect(resultWithRawResponse).toEqual({ + data: mockData, + rawResponse: mockRawResponse, + }); + }); + }); + + describe("Promise methods", () => { + let responsePromise: HttpResponsePromise; + + beforeEach(() => { + responsePromise = HttpResponsePromise.fromResult(mockWithRawResponse); + }); + + it("should support then() method", async () => { + const result = await responsePromise.then((data) => ({ + ...data, + modified: true, + })); + + expect(result).toEqual({ + ...mockData, + modified: true, + }); + }); + + it("should support catch() method", async () => { + const errorResponsePromise = HttpResponsePromise.fromExecutor((_, reject) => { + reject(new Error("Test error")); + }); + + const catchSpy = jest.fn(); + await errorResponsePromise.catch(catchSpy); + + expect(catchSpy).toHaveBeenCalled(); + const error = catchSpy.mock.calls[0]?.[0]; + expect(error).toBeInstanceOf(Error); + expect((error as Error).message).toBe("Test error"); + }); + + it("should support finally() method", async () => { + const finallySpy = jest.fn(); + await responsePromise.finally(finallySpy); + + expect(finallySpy).toHaveBeenCalled(); + }); + }); + + describe("withRawResponse", () => { + it("should return both data and raw response", async () => { + const responsePromise = HttpResponsePromise.fromResult(mockWithRawResponse); + + const result = await responsePromise.withRawResponse(); + + expect(result).toEqual({ + data: mockData, + rawResponse: mockRawResponse, + }); + }); + }); +}); diff --git a/tests/unit/fetcher/RawResponse.test.ts b/tests/unit/fetcher/RawResponse.test.ts new file mode 100644 index 0000000..9ccd5e1 --- /dev/null +++ b/tests/unit/fetcher/RawResponse.test.ts @@ -0,0 +1,34 @@ +import { describe, expect, it } from "@jest/globals"; + +import { toRawResponse } from "../../../src/core/fetcher/RawResponse"; + +describe("RawResponse", () => { + describe("toRawResponse", () => { + it("should convert Response to RawResponse by removing body, bodyUsed, and ok properties", () => { + const mockHeaders = new Headers({ "content-type": "application/json" }); + const mockResponse = { + body: "test body", + bodyUsed: false, + ok: true, + headers: mockHeaders, + redirected: false, + status: 200, + statusText: "OK", + type: "basic" as ResponseType, + url: "https://example.com", + }; + + const result = toRawResponse(mockResponse as unknown as Response); + + expect("body" in result).toBe(false); + expect("bodyUsed" in result).toBe(false); + expect("ok" in result).toBe(false); + expect(result.headers).toBe(mockHeaders); + expect(result.redirected).toBe(false); + expect(result.status).toBe(200); + expect(result.statusText).toBe("OK"); + expect(result.type).toBe("basic"); + expect(result.url).toBe("https://example.com"); + }); + }); +}); diff --git a/tests/unit/fetcher/stream-wrappers/webpack.test.ts b/tests/unit/fetcher/stream-wrappers/webpack.test.ts index ccd07b0..f7537d3 100644 --- a/tests/unit/fetcher/stream-wrappers/webpack.test.ts +++ b/tests/unit/fetcher/stream-wrappers/webpack.test.ts @@ -38,5 +38,5 @@ describe("test env compatibility", () => { }, ); }); - }, 60_000); + }, 180_000); }); diff --git a/yarn.lock b/yarn.lock index 98a5fa0..3981f73 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1024,14 +1024,14 @@ base64-js@^1.3.1: integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== baseline-browser-mapping@^2.9.0: - version "2.10.8" - resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.10.8.tgz#23d1cea1a85b181c2b8660b6cfe626dc2fb15630" - integrity sha512-PCLz/LXGBsNTErbtB6i5u4eLpHeMfi93aUv5duMmj6caNu6IphS4q6UevDnL36sZQv9lrP11dbPKGMaXPwMKfQ== + version "2.10.12" + resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.10.12.tgz#60f9e2172e962839ac313d4e0c8e182090fb6621" + integrity sha512-qyq26DxfY4awP2gIRXhhLWfwzwI+N5Nxk6iQi8EFizIaWIjqicQTE4sLnZZVdeKPRcVNoJOkkpfzoIYuvCKaIQ== brace-expansion@^1.1.7: - version "1.1.12" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.12.tgz#ab9b454466e5a8cc3a187beaad580412a9c5b843" - integrity sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg== + version "1.1.13" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.13.tgz#d37875c01dc9eff988dd49d112a57cb67b54efe6" + integrity sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" @@ -1113,9 +1113,9 @@ camelcase@^6.2.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001759: - version "1.0.30001780" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001780.tgz#0e413de292808868a62ed9118822683fa120a110" - integrity sha512-llngX0E7nQci5BPJDqoZSbuZ5Bcs9F5db7EtgfwBerX9XGtkkiO4NwfDDIRzHTTwcYC8vC7bmeUEPGrKlR/TkQ== + version "1.0.30001782" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001782.tgz#f2b8617f998bc134701c54ce9748af44f646e062" + integrity sha512-dZcaJLJeDMh4rELYFw1tvSn1bhZWYFOt468FcbHHxx/Z/dFidd1I6ciyFdi3iwfQCyOjqo9upF6lGQYtMiJWxw== chalk@^4.0.0, chalk@^4.1.0: version "4.1.2" @@ -1300,9 +1300,9 @@ dunder-proto@^1.0.1: gopd "^1.2.0" electron-to-chromium@^1.5.263: - version "1.5.321" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.321.tgz#57a80554e2e7fd65e3689d320f52a64723472d5d" - integrity sha512-L2C7Q279W2D/J4PLZLk7sebOILDSWos7bMsMNN06rK482umHUrh/3lM8G7IlHFOYip2oAg5nha1rCMxr/rs6ZQ== + version "1.5.329" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.329.tgz#3b0b10ed570ac5625e365e8fbfd412e0b1615c69" + integrity sha512-/4t+AS1l4S3ZC0Ja7PHFIWeBIxGA3QGqV8/yKsP36v7NcyUCl+bIcmw6s5zVuMIECWwBrAK/6QLzTmbJChBboQ== emittery@^0.13.1: version "0.13.1" @@ -1603,9 +1603,9 @@ graceful-fs@^4.1.2, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.9: integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== handlebars@^4.7.8: - version "4.7.8" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" - integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== + version "4.7.9" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.9.tgz#6f139082ab58dc4e5a0e51efe7db5ae890d56a0f" + integrity sha512-4E71E0rpOaQuJR2A3xDZ+GM1HyWYv1clR58tC8emQNeQe3RH7MAzSbat+V0wG78LQBo6m6bzSG/L4pBuCsgnUQ== dependencies: minimist "^1.2.5" neo-async "^2.6.2" @@ -2498,9 +2498,9 @@ picocolors@^1.1.1: integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + version "2.3.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.2.tgz#5a942915e26b372dc0f0e6753149a16e6b1c5601" + integrity sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA== pirates@^4.0.4: version "4.0.7" @@ -2840,9 +2840,9 @@ symbol-tree@^3.2.4: integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== tapable@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.3.0.tgz#7e3ea6d5ca31ba8e078b560f0d83ce9a14aa8be6" - integrity sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg== + version "2.3.2" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.3.2.tgz#86755feabad08d82a26b891db044808c6ad00f15" + integrity sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA== terser-webpack-plugin@^5.3.17: version "5.4.0" @@ -3134,9 +3134,9 @@ write-file-atomic@^4.0.2: signal-exit "^3.0.7" ws@^8.11.0: - version "8.19.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.19.0.tgz#ddc2bdfa5b9ad860204f5a72a4863a8895fd8c8b" - integrity sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg== + version "8.20.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.20.0.tgz#4cd9532358eba60bc863aad1623dfb045a4d4af8" + integrity sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA== xml-name-validator@^4.0.0: version "4.0.0"