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..690601a 100644 --- a/reference.md +++ b/reference.md @@ -363,7 +363,9 @@ await client.bulkSync.remove("248df4b7-aa70-47b8-a036-33ac447e668d", { ```typescript await client.bulkSync.activate("248df4b7-aa70-47b8-a036-33ac447e668d", { - active: true, + body: { + active: true, + }, }); ``` @@ -388,7 +390,7 @@ await client.bulkSync.activate("248df4b7-aa70-47b8-a036-33ac447e668d", {
-**request:** `Polytomic.ActivateSyncInput` +**request:** `Polytomic.BulkSyncActivateRequest`
@@ -407,7 +409,7 @@ await client.bulkSync.activate("248df4b7-aa70-47b8-a036-33ac447e668d", { -
client.bulkSync.cancel(id) -> Polytomic.CancelBulkSyncResponseEnvelope +
client.bulkSync.cancel(id, { ...params }) -> Polytomic.CancelBulkSyncResponseEnvelope
@@ -444,6 +446,14 @@ await client.bulkSync.cancel("248df4b7-aa70-47b8-a036-33ac447e668d");
+**request:** `Polytomic.BulkSyncCancelRequest` + +
+
+ +
+
+ **requestOptions:** `BulkSync.RequestOptions`
@@ -511,7 +521,7 @@ await client.bulkSync.start("248df4b7-aa70-47b8-a036-33ac447e668d");
-
client.bulkSync.getStatus(id) -> Polytomic.BulkSyncStatusEnvelope +
client.bulkSync.getStatus(id, { ...params }) -> Polytomic.BulkSyncStatusEnvelope
@@ -548,6 +558,14 @@ await client.bulkSync.getStatus("248df4b7-aa70-47b8-a036-33ac447e668d");
+**request:** `Polytomic.BulkSyncGetStatusRequest` + +
+
+ +
+
+ **requestOptions:** `BulkSync.RequestOptions`
@@ -617,7 +635,7 @@ await client.bulkSync.getSource("248df4b7-aa70-47b8-a036-33ac447e668d", {
-
client.bulkSync.getDestination(id) -> Polytomic.BulkSyncDestEnvelope +
client.bulkSync.getDestination(id, { ...params }) -> Polytomic.BulkSyncDestEnvelope
@@ -654,6 +672,14 @@ await client.bulkSync.getDestination("248df4b7-aa70-47b8-a036-33ac447e668d");
+**request:** `Polytomic.BulkSyncGetDestinationRequest` + +
+
+ +
+
+ **requestOptions:** `BulkSync.RequestOptions`
@@ -707,7 +733,7 @@ await client.connections.getTypes();
-
client.connections.getConnectionTypeSchema(id) -> Polytomic.JsonschemaSchema +
client.connections.getConnectionTypeSchema(id, { ...params }) -> Polytomic.JsonschemaSchema
@@ -744,6 +770,14 @@ await client.connections.getConnectionTypeSchema("postgresql");
+**request:** `Polytomic.ConnectionsGetConnectionTypeSchemaRequest` + +
+
+ +
+
+ **requestOptions:** `Connections.RequestOptions`
@@ -1056,7 +1090,7 @@ await client.connections.testConnection({
-
client.connections.get(id) -> Polytomic.ConnectionResponseEnvelope +
client.connections.get(id, { ...params }) -> Polytomic.ConnectionResponseEnvelope
@@ -1093,6 +1127,14 @@ await client.connections.get("248df4b7-aa70-47b8-a036-33ac447e668d");
+**request:** `Polytomic.ConnectionsGetRequest` + +
+
+ +
+
+ **requestOptions:** `Connections.RequestOptions`
@@ -1227,7 +1269,7 @@ await client.connections.remove("248df4b7-aa70-47b8-a036-33ac447e668d", {
-
client.connections.getParameterValues(id) -> Polytomic.ConnectionParameterValuesResponseEnvelope +
client.connections.getParameterValues(id, { ...params }) -> Polytomic.ConnectionParameterValuesResponseEnvelope
@@ -1264,6 +1306,14 @@ await client.connections.getParameterValues("248df4b7-aa70-47b8-a036-33ac447e668
+**request:** `Polytomic.ConnectionsGetParameterValuesRequest` + +
+
+ +
+
+ **requestOptions:** `Connections.RequestOptions`
@@ -1275,10 +1325,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 +1355,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 +1373,7 @@ await client.connections.apiV2CreateSharedConnection("248df4b7-aa70-47b8-a036-33
-**id:** `string` +**parentConnectionId:** `string`
@@ -1333,12 +1400,83 @@ await client.connections.apiV2CreateSharedConnection("248df4b7-aa70-47b8-a036-33
+
client.connections.listSharedConnections(parentConnectionId, { ...params }) -> Polytomic.ConnectionListResponseEnvelope +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```typescript +await client.connections.listSharedConnections("248df4b7-aa70-47b8-a036-33ac447e668d"); +``` + +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**parentConnectionId:** `string` + +
+
+ +
+
+ +**request:** `Polytomic.ConnectionsListSharedConnectionsRequest` + +
+
+ +
+
+ +**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 +1535,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
@@ -1515,7 +1668,7 @@ await client.schemas.upsertField("248df4b7-aa70-47b8-a036-33ac447e668d", "public
-
client.schemas.deleteField(connectionId, schemaId, fieldId) -> void +
client.schemas.deleteField(connectionId, schemaId, fieldId, { ...params }) -> void
@@ -1568,6 +1721,14 @@ await client.schemas.deleteField("248df4b7-aa70-47b8-a036-33ac447e668d", "public
+**request:** `Polytomic.SchemasDeleteFieldRequest` + +
+
+ +
+
+ **requestOptions:** `Schemas.RequestOptions`
@@ -1643,7 +1804,7 @@ await client.schemas.setPrimaryKeys("248df4b7-aa70-47b8-a036-33ac447e668d", "pub
-
client.schemas.resetPrimaryKeys(connectionId, schemaId) -> void +
client.schemas.resetPrimaryKeys(connectionId, schemaId, { ...params }) -> void
@@ -1703,6 +1864,14 @@ await client.schemas.resetPrimaryKeys("248df4b7-aa70-47b8-a036-33ac447e668d", "p
+**request:** `Polytomic.SchemasResetPrimaryKeysRequest` + +
+
+ +
+
+ **requestOptions:** `Schemas.RequestOptions`
@@ -1714,7 +1883,7 @@ await client.schemas.resetPrimaryKeys("248df4b7-aa70-47b8-a036-33ac447e668d", "p
-
client.schemas.refresh(id) -> void +
client.schemas.refresh(id, { ...params }) -> void
@@ -1751,6 +1920,14 @@ await client.schemas.refresh("248df4b7-aa70-47b8-a036-33ac447e668d");
+**request:** `Polytomic.SchemasRefreshRequest` + +
+
+ +
+
+ **requestOptions:** `Schemas.RequestOptions`
@@ -1762,7 +1939,7 @@ await client.schemas.refresh("248df4b7-aa70-47b8-a036-33ac447e668d");
-
client.schemas.getStatus(id) -> Polytomic.BulkSyncSourceStatusEnvelope +
client.schemas.getStatus(id, { ...params }) -> Polytomic.BulkSyncSourceStatusEnvelope
@@ -1814,6 +1991,14 @@ await client.schemas.getStatus("248df4b7-aa70-47b8-a036-33ac447e668d");
+**request:** `Polytomic.SchemasGetStatusRequest` + +
+
+ +
+
+ **requestOptions:** `Schemas.RequestOptions`
@@ -1825,7 +2010,7 @@ await client.schemas.getStatus("248df4b7-aa70-47b8-a036-33ac447e668d");
-
client.schemas.get(id, schemaId) -> Polytomic.BulkSyncSourceSchemaEnvelope +
client.schemas.get(id, schemaId, { ...params }) -> Polytomic.BulkSyncSourceSchemaEnvelope
@@ -1870,6 +2055,14 @@ await client.schemas.get("248df4b7-aa70-47b8-a036-33ac447e668d", "public.users")
+**request:** `Polytomic.SchemasGetRequest` + +
+
+ +
+
+ **requestOptions:** `Schemas.RequestOptions`
@@ -1881,7 +2074,7 @@ await client.schemas.get("248df4b7-aa70-47b8-a036-33ac447e668d", "public.users")
-
client.schemas.getRecords(id, schemaId) -> Polytomic.SchemaRecordsResponseEnvelope +
client.schemas.getRecords(id, schemaId, { ...params }) -> Polytomic.SchemaRecordsResponseEnvelope
@@ -1926,6 +2119,14 @@ await client.schemas.getRecords("248df4b7-aa70-47b8-a036-33ac447e668d", "public.
+**request:** `Polytomic.SchemasGetRecordsRequest` + +
+
+ +
+
+ **requestOptions:** `Schemas.RequestOptions`
@@ -2799,7 +3000,7 @@ await client.modelSync.getScheduleOptions();
-
client.modelSync.get(id) -> Polytomic.ModelSyncResponseEnvelope +
client.modelSync.get(id, { ...params }) -> Polytomic.ModelSyncResponseEnvelope
@@ -2836,6 +3037,14 @@ await client.modelSync.get("248df4b7-aa70-47b8-a036-33ac447e668d");
+**request:** `Polytomic.ModelSyncGetRequest` + +
+
+ +
+
+ **requestOptions:** `ModelSync.RequestOptions`
@@ -2915,7 +3124,7 @@ await client.modelSync.update("248df4b7-aa70-47b8-a036-33ac447e668d", {
-
client.modelSync.remove(id) -> void +
client.modelSync.remove(id, { ...params }) -> void
@@ -2952,6 +3161,14 @@ await client.modelSync.remove("248df4b7-aa70-47b8-a036-33ac447e668d");
+**request:** `Polytomic.ModelSyncRemoveRequest` + +
+
+ +
+
+ **requestOptions:** `ModelSync.RequestOptions`
@@ -2977,7 +3194,9 @@ await client.modelSync.remove("248df4b7-aa70-47b8-a036-33ac447e668d"); ```typescript await client.modelSync.activate("248df4b7-aa70-47b8-a036-33ac447e668d", { - active: true, + body: { + active: true, + }, }); ``` @@ -3002,7 +3221,7 @@ await client.modelSync.activate("248df4b7-aa70-47b8-a036-33ac447e668d", {
-**request:** `Polytomic.ActivateSyncInput` +**request:** `Polytomic.ModelSyncActivateRequest`
@@ -3021,7 +3240,7 @@ await client.modelSync.activate("248df4b7-aa70-47b8-a036-33ac447e668d", {
-
client.modelSync.cancel(id) -> Polytomic.CancelModelSyncResponseEnvelope +
client.modelSync.cancel(id, { ...params }) -> Polytomic.CancelModelSyncResponseEnvelope
@@ -3058,6 +3277,14 @@ await client.modelSync.cancel("248df4b7-aa70-47b8-a036-33ac447e668d");
+**request:** `Polytomic.ModelSyncCancelRequest` + +
+
+ +
+
+ **requestOptions:** `ModelSync.RequestOptions`
@@ -3142,7 +3369,7 @@ await client.modelSync.start("248df4b7-aa70-47b8-a036-33ac447e668d");
-
client.modelSync.getStatus(id) -> Polytomic.SyncStatusEnvelope +
client.modelSync.getStatus(id, { ...params }) -> Polytomic.SyncStatusEnvelope
@@ -3179,6 +3406,14 @@ await client.modelSync.getStatus("248df4b7-aa70-47b8-a036-33ac447e668d");
+**request:** `Polytomic.ModelSyncGetStatusRequest` + +
+
+ +
+
+ **requestOptions:** `ModelSync.RequestOptions`
@@ -3286,7 +3521,7 @@ await client.events.getTypes(); ## Jobs -
client.jobs.get(id, type_) -> Polytomic.JobResponseEnvelope +
client.jobs.get(type_, id, { ...params }) -> Polytomic.JobResponseEnvelope
@@ -3299,7 +3534,7 @@ await client.events.getTypes();
```typescript -await client.jobs.get("248df4b7-aa70-47b8-a036-33ac447e668d", "createmodel"); +await client.jobs.get("createmodel", "248df4b7-aa70-47b8-a036-33ac447e668d"); ```
@@ -3315,6 +3550,14 @@ await client.jobs.get("248df4b7-aa70-47b8-a036-33ac447e668d", "createmodel");
+**type\_:** `string` + +
+
+ +
+
+ **id:** `string`
@@ -3323,7 +3566,7 @@ await client.jobs.get("248df4b7-aa70-47b8-a036-33ac447e668d", "createmodel");
-**type\_:** `string` +**request:** `Polytomic.JobsGetRequest`
@@ -3615,7 +3858,7 @@ await client.organization.create({
-
client.organization.get(id) -> Polytomic.OrganizationEnvelope +
client.organization.get(id, { ...params }) -> Polytomic.OrganizationEnvelope
@@ -3669,6 +3912,14 @@ await client.organization.get("248df4b7-aa70-47b8-a036-33ac447e668d");
+**request:** `Polytomic.OrganizationGetRequest` + +
+
+ +
+
+ **requestOptions:** `Organization.RequestOptions`
@@ -3755,7 +4006,7 @@ await client.organization.update("248df4b7-aa70-47b8-a036-33ac447e668d", {
-
client.organization.remove(id) -> void +
client.organization.remove(id, { ...params }) -> void
@@ -3809,6 +4060,14 @@ await client.organization.remove("248df4b7-aa70-47b8-a036-33ac447e668d");
+**request:** `Polytomic.OrganizationRemoveRequest` + +
+
+ +
+
+ **requestOptions:** `Organization.RequestOptions`
@@ -3822,7 +4081,7 @@ await client.organization.remove("248df4b7-aa70-47b8-a036-33ac447e668d"); ## Users -
client.users.list(orgId) -> Polytomic.ListUsersEnvelope +
client.users.list(orgId, { ...params }) -> Polytomic.ListUsersEnvelope
@@ -3859,6 +4118,14 @@ await client.users.list("248df4b7-aa70-47b8-a036-33ac447e668d");
+**request:** `Polytomic.UsersListRequest` + +
+
+ +
+
+ **requestOptions:** `Users.RequestOptions`
@@ -3928,7 +4195,7 @@ await client.users.create("248df4b7-aa70-47b8-a036-33ac447e668d", {
-
client.users.get(id, orgId) -> Polytomic.UserEnvelope +
client.users.get(orgId, id, { ...params }) -> Polytomic.UserEnvelope
@@ -3957,6 +4224,14 @@ await client.users.get("248df4b7-aa70-47b8-a036-33ac447e668d", "248df4b7-aa70-47
+**orgId:** `string` + +
+
+ +
+
+ **id:** `string`
@@ -3965,7 +4240,7 @@ await client.users.get("248df4b7-aa70-47b8-a036-33ac447e668d", "248df4b7-aa70-47
-**orgId:** `string` +**request:** `Polytomic.UsersGetRequest`
@@ -3984,7 +4259,7 @@ await client.users.get("248df4b7-aa70-47b8-a036-33ac447e668d", "248df4b7-aa70-47
-
client.users.update(id, orgId, { ...params }) -> Polytomic.UserEnvelope +
client.users.update(orgId, id, { ...params }) -> Polytomic.UserEnvelope
@@ -4015,7 +4290,7 @@ await client.users.update("248df4b7-aa70-47b8-a036-33ac447e668d", "248df4b7-aa70
-**id:** `string` +**orgId:** `string`
@@ -4023,7 +4298,7 @@ await client.users.update("248df4b7-aa70-47b8-a036-33ac447e668d", "248df4b7-aa70
-**orgId:** `string` +**id:** `string`
@@ -4050,7 +4325,7 @@ await client.users.update("248df4b7-aa70-47b8-a036-33ac447e668d", "248df4b7-aa70
-
client.users.remove(id, orgId) -> Polytomic.UserEnvelope +
client.users.remove(orgId, id, { ...params }) -> Polytomic.UserEnvelope
@@ -4079,6 +4354,14 @@ await client.users.remove("248df4b7-aa70-47b8-a036-33ac447e668d", "248df4b7-aa70
+**orgId:** `string` + +
+
+ +
+
+ **id:** `string`
@@ -4087,7 +4370,7 @@ await client.users.remove("248df4b7-aa70-47b8-a036-33ac447e668d", "248df4b7-aa70
-**orgId:** `string` +**request:** `Polytomic.UsersRemoveRequest`
@@ -4320,7 +4603,7 @@ await client.webhooks.create({
-
client.webhooks.get(id) -> Polytomic.WebhookEnvelope +
client.webhooks.get(id, { ...params }) -> Polytomic.WebhookEnvelope
@@ -4376,6 +4659,14 @@ await client.webhooks.get("248df4b7-aa70-47b8-a036-33ac447e668d");
+**request:** `Polytomic.WebhooksGetRequest` + +
+
+ +
+
+ **requestOptions:** `Webhooks.RequestOptions`
@@ -4465,7 +4756,7 @@ await client.webhooks.update("248df4b7-aa70-47b8-a036-33ac447e668d", {
-
client.webhooks.remove(id) -> void +
client.webhooks.remove(id, { ...params }) -> void
@@ -4502,6 +4793,14 @@ await client.webhooks.remove("248df4b7-aa70-47b8-a036-33ac447e668d");
+**request:** `Polytomic.WebhooksRemoveRequest` + +
+
+ +
+
+ **requestOptions:** `Webhooks.RequestOptions`
@@ -4513,7 +4812,7 @@ await client.webhooks.remove("248df4b7-aa70-47b8-a036-33ac447e668d");
-
client.webhooks.disable(id) -> Polytomic.WebhookEnvelope +
client.webhooks.disable(id, { ...params }) -> Polytomic.WebhookEnvelope
@@ -4550,6 +4849,14 @@ await client.webhooks.disable("248df4b7-aa70-47b8-a036-33ac447e668d");
+**request:** `Polytomic.WebhooksDisableRequest` + +
+
+ +
+
+ **requestOptions:** `Webhooks.RequestOptions`
@@ -4561,7 +4868,7 @@ await client.webhooks.disable("248df4b7-aa70-47b8-a036-33ac447e668d");
-
client.webhooks.enable(id) -> Polytomic.WebhookEnvelope +
client.webhooks.enable(id, { ...params }) -> Polytomic.WebhookEnvelope
@@ -4598,6 +4905,14 @@ await client.webhooks.enable("248df4b7-aa70-47b8-a036-33ac447e668d");
+**request:** `Polytomic.WebhooksEnableRequest` + +
+
+ +
+
+ **requestOptions:** `Webhooks.RequestOptions`
@@ -4723,7 +5038,7 @@ await client.bulkSync.executions.list("248df4b7-aa70-47b8-a036-33ac447e668d", {
-
client.bulkSync.executions.get(id, execId) -> Polytomic.BulkSyncExecutionEnvelope +
client.bulkSync.executions.get(id, execId, { ...params }) -> Polytomic.BulkSyncExecutionEnvelope
@@ -4768,6 +5083,14 @@ await client.bulkSync.executions.get("248df4b7-aa70-47b8-a036-33ac447e668d", "24
+**request:** `Polytomic.bulkSync.ExecutionsGetRequest` + +
+
+ +
+
+ **requestOptions:** `Executions.RequestOptions`
@@ -4779,7 +5102,7 @@ await client.bulkSync.executions.get("248df4b7-aa70-47b8-a036-33ac447e668d", "24
-
client.bulkSync.executions.cancel(id, execId) -> Polytomic.CancelBulkSyncResponseEnvelope +
client.bulkSync.executions.cancel(id, execId, { ...params }) -> Polytomic.CancelBulkSyncResponseEnvelope
@@ -4824,6 +5147,14 @@ await client.bulkSync.executions.cancel("248df4b7-aa70-47b8-a036-33ac447e668d",
+**request:** `Polytomic.bulkSync.ExecutionsCancelRequest` + +
+
+ +
+
+ **requestOptions:** `Executions.RequestOptions`
@@ -4835,7 +5166,7 @@ await client.bulkSync.executions.cancel("248df4b7-aa70-47b8-a036-33ac447e668d",
-
client.bulkSync.executions.getLogs(syncId, executionId) -> Polytomic.V4BulkSyncExecutionLogsEnvelope +
client.bulkSync.executions.getLogs(syncId, executionId, { ...params }) -> Polytomic.V4BulkSyncExecutionLogsEnvelope
@@ -4883,6 +5214,14 @@ await client.bulkSync.executions.getLogs(
+**request:** `Polytomic.bulkSync.ExecutionsGetLogsRequest` + +
+
+ +
+
+ **requestOptions:** `Executions.RequestOptions`
@@ -5075,7 +5414,7 @@ await client.bulkSync.schemas.patch("248df4b7-aa70-47b8-a036-33ac447e668d");
-
client.bulkSync.schemas.get(id, schemaId) -> Polytomic.BulkSchemaEnvelope +
client.bulkSync.schemas.get(id, schemaId, { ...params }) -> Polytomic.BulkSchemaEnvelope
@@ -5120,6 +5459,14 @@ await client.bulkSync.schemas.get("248df4b7-aa70-47b8-a036-33ac447e668d", "Conta
+**request:** `Polytomic.bulkSync.SchemasGetRequest` + +
+
+ +
+
+ **requestOptions:** `Schemas.RequestOptions`
@@ -5195,7 +5542,7 @@ await client.bulkSync.schemas.update("248df4b7-aa70-47b8-a036-33ac447e668d", "co
-
client.bulkSync.schemas.cancel(id, schemaId) -> Polytomic.CancelBulkSyncResponseEnvelope +
client.bulkSync.schemas.cancel(id, schemaId, { ...params }) -> Polytomic.CancelBulkSyncResponseEnvelope
@@ -5240,6 +5587,14 @@ await client.bulkSync.schemas.cancel("248df4b7-aa70-47b8-a036-33ac447e668d", "sc
+**request:** `Polytomic.bulkSync.SchemasCancelRequest` + +
+
+ +
+
+ **requestOptions:** `Schemas.RequestOptions`
@@ -5253,7 +5608,7 @@ await client.bulkSync.schemas.cancel("248df4b7-aa70-47b8-a036-33ac447e668d", "sc ## BulkSync Schedules -
client.bulkSync.schedules.list(syncId) -> Polytomic.SchedulesEnvelope +
client.bulkSync.schedules.list(syncId, { ...params }) -> Polytomic.SchedulesEnvelope
@@ -5290,6 +5645,14 @@ await client.bulkSync.schedules.list("248df4b7-aa70-47b8-a036-33ac447e668d");
+**request:** `Polytomic.bulkSync.SchedulesListRequest` + +
+
+ +
+
+ **requestOptions:** `Schedules.RequestOptions`
@@ -5361,7 +5724,7 @@ await client.bulkSync.schedules.create("248df4b7-aa70-47b8-a036-33ac447e668d", {
-
client.bulkSync.schedules.get(syncId, scheduleId) -> Polytomic.ScheduleEnvelope +
client.bulkSync.schedules.get(syncId, scheduleId, { ...params }) -> Polytomic.ScheduleEnvelope
@@ -5406,6 +5769,14 @@ await client.bulkSync.schedules.get("248df4b7-aa70-47b8-a036-33ac447e668d", "248
+**request:** `Polytomic.bulkSync.SchedulesGetRequest` + +
+
+ +
+
+ **requestOptions:** `Schedules.RequestOptions`
@@ -5485,7 +5856,7 @@ await client.bulkSync.schedules.update("248df4b7-aa70-47b8-a036-33ac447e668d", "
-
client.bulkSync.schedules.delete(syncId, scheduleId) -> void +
client.bulkSync.schedules.delete(syncId, scheduleId, { ...params }) -> void
@@ -5530,6 +5901,14 @@ await client.bulkSync.schedules.delete("248df4b7-aa70-47b8-a036-33ac447e668d", "
+**request:** `Polytomic.bulkSync.SchedulesDeleteRequest` + +
+
+ +
+
+ **requestOptions:** `Schedules.RequestOptions`
@@ -5658,7 +6037,7 @@ await client.modelSync.targets.getTargetFields("248df4b7-aa70-47b8-a036-33ac447e
-
client.modelSync.targets.list(id) -> Polytomic.V4TargetObjectsResponseEnvelope +
client.modelSync.targets.list(id, { ...params }) -> Polytomic.V4TargetObjectsResponseEnvelope
@@ -5726,6 +6105,14 @@ await client.modelSync.targets.list("248df4b7-aa70-47b8-a036-33ac447e668d");
+**request:** `Polytomic.modelSync.TargetsListRequest` + +
+
+ +
+
+ **requestOptions:** `Targets.RequestOptions`
@@ -5737,7 +6124,7 @@ await client.modelSync.targets.list("248df4b7-aa70-47b8-a036-33ac447e668d");
-
client.modelSync.targets.getCreateProperty(id, property) -> Polytomic.V4TargetPropertyValuesEnvelope +
client.modelSync.targets.getCreateProperty(id, property, { ...params }) -> Polytomic.V4TargetPropertyValuesEnvelope
@@ -5826,6 +6213,14 @@ await client.modelSync.targets.getCreateProperty("248df4b7-aa70-47b8-a036-33ac44
+**request:** `Polytomic.modelSync.TargetsGetCreatePropertyRequest` + +
+
+ +
+
+ **requestOptions:** `Targets.RequestOptions`
@@ -5899,7 +6294,7 @@ await client.modelSync.executions.list("248df4b7-aa70-47b8-a036-33ac447e668d", {
-
client.modelSync.executions.get(syncId, id) -> Polytomic.GetExecutionResponseEnvelope +
client.modelSync.executions.get(syncId, id, { ...params }) -> Polytomic.GetExecutionResponseEnvelope
@@ -5944,6 +6339,14 @@ await client.modelSync.executions.get("248df4b7-aa70-47b8-a036-33ac447e668d", "2
+**request:** `Polytomic.modelSync.ExecutionsGetRequest` + +
+
+ +
+
+ **requestOptions:** `Executions.RequestOptions`
@@ -6025,7 +6428,7 @@ await client.modelSync.executions.update(
-
client.modelSync.executions.getLogUrls(syncId, id, type_) -> Polytomic.ExecutionLogsResponseEnvelope +
client.modelSync.executions.getLogUrls(syncId, id, type_, { ...params }) -> Polytomic.ExecutionLogsResponseEnvelope
@@ -6082,6 +6485,14 @@ await client.modelSync.executions.getLogUrls(
+**request:** `Polytomic.modelSync.ExecutionsGetLogUrlsRequest` + +
+
+ +
+
+ **requestOptions:** `Executions.RequestOptions`
@@ -6093,7 +6504,7 @@ await client.modelSync.executions.getLogUrls(
-
client.modelSync.executions.getLogs(syncId, id, type_, filename) -> void +
client.modelSync.executions.getLogs(syncId, id, type_, filename, { ...params }) -> void
@@ -6159,6 +6570,14 @@ await client.modelSync.executions.getLogs(
+**request:** `Polytomic.modelSync.ExecutionsGetLogsRequest` + +
+
+ +
+
+ **requestOptions:** `Executions.RequestOptions`
@@ -6262,7 +6681,7 @@ await client.permissions.policies.create({
-
client.permissions.policies.get(id) -> Polytomic.PolicyResponseEnvelope +
client.permissions.policies.get(id, { ...params }) -> Polytomic.PolicyResponseEnvelope
@@ -6299,6 +6718,14 @@ await client.permissions.policies.get("248df4b7-aa70-47b8-a036-33ac447e668d");
+**request:** `Polytomic.permissions.PoliciesGetRequest` + +
+
+ +
+
+ **requestOptions:** `Policies.RequestOptions`
@@ -6368,7 +6795,7 @@ await client.permissions.policies.update("248df4b7-aa70-47b8-a036-33ac447e668d",
-
client.permissions.policies.remove(id) -> void +
client.permissions.policies.remove(id, { ...params }) -> void
@@ -6405,6 +6832,14 @@ await client.permissions.policies.remove("248df4b7-aa70-47b8-a036-33ac447e668d")
+**request:** `Polytomic.permissions.PoliciesRemoveRequest` + +
+
+ +
+
+ **requestOptions:** `Policies.RequestOptions`
@@ -6508,7 +6943,7 @@ await client.permissions.roles.create({
-
client.permissions.roles.get(id) -> Polytomic.RoleResponseEnvelope +
client.permissions.roles.get(id, { ...params }) -> Polytomic.RoleResponseEnvelope
@@ -6545,6 +6980,14 @@ await client.permissions.roles.get("248df4b7-aa70-47b8-a036-33ac447e668d");
+**request:** `Polytomic.permissions.RolesGetRequest` + +
+
+ +
+
+ **requestOptions:** `Roles.RequestOptions`
@@ -6614,7 +7057,7 @@ await client.permissions.roles.update("248df4b7-aa70-47b8-a036-33ac447e668d", {
-
client.permissions.roles.remove(id) -> void +
client.permissions.roles.remove(id, { ...params }) -> void
@@ -6651,6 +7094,14 @@ await client.permissions.roles.remove("248df4b7-aa70-47b8-a036-33ac447e668d");
+**request:** `Polytomic.permissions.RolesRemoveRequest` + +
+
+ +
+
+ **requestOptions:** `Roles.RequestOptions`
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..54e0fa2 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,14 +67,21 @@ 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) { - _queryParams["active"] = active.toString(); + if (active !== undefined) { + _queryParams["active"] = active?.toString() ?? null; } const _response = await core.fetcher({ @@ -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,19 +630,21 @@ 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, }); } } /** * @param {string} id - * @param {Polytomic.ActivateSyncInput} request + * @param {Polytomic.BulkSyncActivateRequest} request * @param {BulkSync.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -551,14 +654,24 @@ export class BulkSync { * * @example * await client.bulkSync.activate("248df4b7-aa70-47b8-a036-33ac447e668d", { - * active: true + * body: { + * active: true + * } * }) */ - public async activate( + public activate( + id: string, + request: Polytomic.BulkSyncActivateRequest, + requestOptions?: BulkSync.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__activate(id, request, requestOptions)); + } + + private async __activate( id: string, - request: Polytomic.ActivateSyncInput, + request: Polytomic.BulkSyncActivateRequest, requestOptions?: BulkSync.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -570,13 +683,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 +701,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 +740,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,12 +749,14 @@ export class BulkSync { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } /** * @param {string} id - The active execution of this bulk sync ID will be cancelled. + * @param {Polytomic.BulkSyncCancelRequest} request * @param {BulkSync.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -639,10 +767,19 @@ export class BulkSync { * @example * await client.bulkSync.cancel("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async cancel( + public cancel( + id: string, + request: Polytomic.BulkSyncCancelRequest = {}, + requestOptions?: BulkSync.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__cancel(id, request, requestOptions)); + } + + private async __cancel( id: string, + request: Polytomic.BulkSyncCancelRequest = {}, requestOptions?: BulkSync.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -654,13 +791,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 +808,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 +850,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 +859,7 @@ export class BulkSync { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -722,11 +876,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 +900,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 +918,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 +952,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,12 +961,14 @@ export class BulkSync { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } /** * @param {string} id + * @param {Polytomic.BulkSyncGetStatusRequest} request * @param {BulkSync.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -804,10 +978,19 @@ export class BulkSync { * @example * await client.bulkSync.getStatus("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async getStatus( + public getStatus( id: string, + request: Polytomic.BulkSyncGetStatusRequest = {}, requestOptions?: BulkSync.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getStatus(id, request, requestOptions)); + } + + private async __getStatus( + id: string, + request: Polytomic.BulkSyncGetStatusRequest = {}, + requestOptions?: BulkSync.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -819,13 +1002,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 +1019,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 +1053,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 +1062,7 @@ export class BulkSync { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -888,11 +1082,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 +1112,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 +1130,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 +1169,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,12 +1178,14 @@ export class BulkSync { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } /** * @param {string} id + * @param {Polytomic.BulkSyncGetDestinationRequest} request * @param {BulkSync.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.BadRequestError} @@ -979,10 +1196,19 @@ export class BulkSync { * @example * await client.bulkSync.getDestination("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async getDestination( + public getDestination( + id: string, + request: Polytomic.BulkSyncGetDestinationRequest = {}, + requestOptions?: BulkSync.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getDestination(id, request, requestOptions)); + } + + private async __getDestination( id: string, + request: Polytomic.BulkSyncGetDestinationRequest = {}, requestOptions?: BulkSync.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -994,13 +1220,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 +1237,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 +1276,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 +1285,7 @@ export class BulkSync { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } diff --git a/src/api/resources/bulkSync/client/requests/BulkSyncActivateRequest.ts b/src/api/resources/bulkSync/client/requests/BulkSyncActivateRequest.ts new file mode 100644 index 0000000..d4f3ad4 --- /dev/null +++ b/src/api/resources/bulkSync/client/requests/BulkSyncActivateRequest.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Polytomic from "../../../../index"; + +/** + * @example + * { + * body: { + * active: true + * } + * } + */ +export interface BulkSyncActivateRequest { + body: Polytomic.ActivateSyncInput; +} diff --git a/src/api/resources/bulkSync/client/requests/BulkSyncCancelRequest.ts b/src/api/resources/bulkSync/client/requests/BulkSyncCancelRequest.ts new file mode 100644 index 0000000..0a1f2c3 --- /dev/null +++ b/src/api/resources/bulkSync/client/requests/BulkSyncCancelRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface BulkSyncCancelRequest {} diff --git a/src/api/resources/bulkSync/client/requests/BulkSyncGetDestinationRequest.ts b/src/api/resources/bulkSync/client/requests/BulkSyncGetDestinationRequest.ts new file mode 100644 index 0000000..b3d84ce --- /dev/null +++ b/src/api/resources/bulkSync/client/requests/BulkSyncGetDestinationRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface BulkSyncGetDestinationRequest {} diff --git a/src/api/resources/bulkSync/client/requests/BulkSyncGetStatusRequest.ts b/src/api/resources/bulkSync/client/requests/BulkSyncGetStatusRequest.ts new file mode 100644 index 0000000..3a8f672 --- /dev/null +++ b/src/api/resources/bulkSync/client/requests/BulkSyncGetStatusRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface BulkSyncGetStatusRequest {} diff --git a/src/api/resources/bulkSync/client/requests/BulkSyncListRequest.ts b/src/api/resources/bulkSync/client/requests/BulkSyncListRequest.ts index 5577bc4..dd14dfd 100644 --- a/src/api/resources/bulkSync/client/requests/BulkSyncListRequest.ts +++ b/src/api/resources/bulkSync/client/requests/BulkSyncListRequest.ts @@ -9,5 +9,5 @@ * } */ export interface BulkSyncListRequest { - active?: boolean; + active?: boolean | null; } diff --git a/src/api/resources/bulkSync/client/requests/CreateBulkSyncRequest.ts b/src/api/resources/bulkSync/client/requests/CreateBulkSyncRequest.ts index 04f98c5..b596628 100644 --- a/src/api/resources/bulkSync/client/requests/CreateBulkSyncRequest.ts +++ b/src/api/resources/bulkSync/client/requests/CreateBulkSyncRequest.ts @@ -19,27 +19,27 @@ import * as Polytomic from "../../../../index"; * } */ export interface CreateBulkSyncRequest { - active?: boolean; - automatically_add_new_fields?: Polytomic.BulkDiscover; - automatically_add_new_objects?: Polytomic.BulkDiscover; + active?: boolean | null; + automatically_add_new_fields?: Polytomic.BulkDiscover | null; + automatically_add_new_objects?: Polytomic.BulkDiscover | null; /** Override the default concurrency limit for this sync. */ - concurrency_limit?: number; - data_cutoff_timestamp?: string; + concurrency_limit?: number | null; + data_cutoff_timestamp?: string | null; destination_configuration: Record; destination_connection_id: string; - disable_record_timestamps?: boolean; + disable_record_timestamps?: boolean | null; /** DEPRECATED: Use automatically_add_new_objects/automatically_add_new_fields instead */ - discover?: boolean; - mode?: Polytomic.BulkSyncMode; + discover?: boolean | null; + mode: Polytomic.BulkSyncMode | null; name: string; - normalize_names?: Polytomic.BulkNormalizeNames; - organization_id?: string; - policies?: string[]; + normalize_names?: Polytomic.BulkNormalizeNames | null; + organization_id?: string | null; + policies?: string[] | null; /** Override the default resync concurrency limit for this sync. */ - resync_concurrency_limit?: number; + resync_concurrency_limit?: number | null; schedule: Polytomic.BulkSchedule; /** List of schemas to sync; if omitted, all schemas will be selected for syncing. */ - schemas?: Polytomic.V2CreateBulkSyncRequestSchemasItem[]; - source_configuration?: Record; + schemas?: Polytomic.V2CreateBulkSyncRequestSchemasItem[] | null; + source_configuration?: Record | null; source_connection_id: string; } diff --git a/src/api/resources/bulkSync/client/requests/StartBulkSyncRequest.ts b/src/api/resources/bulkSync/client/requests/StartBulkSyncRequest.ts index defc26c..fbd78a2 100644 --- a/src/api/resources/bulkSync/client/requests/StartBulkSyncRequest.ts +++ b/src/api/resources/bulkSync/client/requests/StartBulkSyncRequest.ts @@ -11,6 +11,6 @@ import * as Polytomic from "../../../../index"; export interface StartBulkSyncRequest { fetch_mode?: Polytomic.BulkFetchMode; resync?: boolean; - schemas?: string[]; + schemas?: string[] | null; test?: boolean; } diff --git a/src/api/resources/bulkSync/client/requests/UpdateBulkSyncRequest.ts b/src/api/resources/bulkSync/client/requests/UpdateBulkSyncRequest.ts index 2977396..f6c92b9 100644 --- a/src/api/resources/bulkSync/client/requests/UpdateBulkSyncRequest.ts +++ b/src/api/resources/bulkSync/client/requests/UpdateBulkSyncRequest.ts @@ -19,27 +19,27 @@ import * as Polytomic from "../../../../index"; * } */ export interface UpdateBulkSyncRequest { - active?: boolean; - automatically_add_new_fields?: Polytomic.BulkDiscover; - automatically_add_new_objects?: Polytomic.BulkDiscover; + active?: boolean | null; + automatically_add_new_fields?: Polytomic.BulkDiscover | null; + automatically_add_new_objects?: Polytomic.BulkDiscover | null; /** Override the default concurrency limit for this sync. */ - concurrency_limit?: number; - data_cutoff_timestamp?: string; + concurrency_limit?: number | null; + data_cutoff_timestamp?: string | null; destination_configuration: Record; destination_connection_id: string; - disable_record_timestamps?: boolean; + disable_record_timestamps?: boolean | null; /** DEPRECATED: Use automatically_add_new_objects/automatically_add_new_fields instead */ - discover?: boolean; - mode?: Polytomic.BulkSyncMode; + discover?: boolean | null; + mode: Polytomic.BulkSyncMode | null; name: string; - normalize_names?: Polytomic.BulkNormalizeNames; - organization_id?: string; - policies?: string[]; + normalize_names?: Polytomic.BulkNormalizeNames | null; + organization_id?: string | null; + policies?: string[] | null; /** Override the default resync concurrency limit for this sync. */ - resync_concurrency_limit?: number; + resync_concurrency_limit?: number | null; schedule: Polytomic.BulkSchedule; /** List of schemas to sync; if omitted, all schemas will be selected for syncing. */ - schemas?: Polytomic.V2UpdateBulkSyncRequestSchemasItem[]; - source_configuration?: Record; + schemas?: Polytomic.V2UpdateBulkSyncRequestSchemasItem[] | null; + source_configuration?: Record | null; source_connection_id: string; } diff --git a/src/api/resources/bulkSync/client/requests/index.ts b/src/api/resources/bulkSync/client/requests/index.ts index 6e3f75a..3bba70c 100644 --- a/src/api/resources/bulkSync/client/requests/index.ts +++ b/src/api/resources/bulkSync/client/requests/index.ts @@ -3,5 +3,9 @@ export { type CreateBulkSyncRequest } from "./CreateBulkSyncRequest"; export { type BulkSyncGetRequest } from "./BulkSyncGetRequest"; export { type UpdateBulkSyncRequest } from "./UpdateBulkSyncRequest"; export { type BulkSyncRemoveRequest } from "./BulkSyncRemoveRequest"; +export { type BulkSyncActivateRequest } from "./BulkSyncActivateRequest"; +export { type BulkSyncCancelRequest } from "./BulkSyncCancelRequest"; export { type StartBulkSyncRequest } from "./StartBulkSyncRequest"; +export { type BulkSyncGetStatusRequest } from "./BulkSyncGetStatusRequest"; export { type BulkSyncGetSourceRequest } from "./BulkSyncGetSourceRequest"; +export { type BulkSyncGetDestinationRequest } from "./BulkSyncGetDestinationRequest"; diff --git a/src/api/resources/bulkSync/resources/executions/client/Client.ts b/src/api/resources/bulkSync/resources/executions/client/Client.ts index fd2b979..031ce53 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, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(id, request, requestOptions)); + } + + private async __list( + id: string, + request: Polytomic.bulkSync.ExecutionsListRequest = {}, + requestOptions?: Executions.RequestOptions, + ): 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, }); } } @@ -238,6 +276,7 @@ export class Executions { /** * @param {string} id * @param {string} execId + * @param {Polytomic.bulkSync.ExecutionsGetRequest} request * @param {Executions.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -246,11 +285,21 @@ 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, + request: Polytomic.bulkSync.ExecutionsGetRequest = {}, requestOptions?: Executions.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(id, execId, request, requestOptions)); + } + + private async __get( + id: string, + execId: string, + request: Polytomic.bulkSync.ExecutionsGetRequest = {}, + requestOptions?: Executions.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -262,13 +311,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 +328,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 +357,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 +366,7 @@ export class Executions { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -317,6 +374,7 @@ export class Executions { /** * @param {string} id - The bulk sync ID. * @param {string} execId - The execution ID to cancel. + * @param {Polytomic.bulkSync.ExecutionsCancelRequest} request * @param {Executions.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -327,11 +385,21 @@ 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, + request: Polytomic.bulkSync.ExecutionsCancelRequest = {}, + requestOptions?: Executions.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__cancel(id, execId, request, requestOptions)); + } + + private async __cancel( id: string, execId: string, + request: Polytomic.bulkSync.ExecutionsCancelRequest = {}, requestOptions?: Executions.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -343,13 +411,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 +428,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 +470,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 +479,7 @@ export class Executions { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -402,6 +487,7 @@ export class Executions { /** * @param {string} syncId * @param {string} executionId + * @param {Polytomic.bulkSync.ExecutionsGetLogsRequest} request * @param {Executions.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -410,11 +496,21 @@ 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, + request: Polytomic.bulkSync.ExecutionsGetLogsRequest = {}, requestOptions?: Executions.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getLogs(syncId, executionId, request, requestOptions)); + } + + private async __getLogs( + syncId: string, + executionId: string, + request: Polytomic.bulkSync.ExecutionsGetLogsRequest = {}, + requestOptions?: Executions.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -426,13 +522,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 +539,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 +571,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 +580,7 @@ export class Executions { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -492,12 +599,21 @@ export class Executions { * @example * await client.bulkSync.executions.exportLogs("248df4b7-aa70-47b8-a036-33ac447e668d", "248df4b7-aa70-47b8-a036-33ac447e668d") */ - 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 +631,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 +649,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 +688,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 +697,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/ExecutionsCancelRequest.ts b/src/api/resources/bulkSync/resources/executions/client/requests/ExecutionsCancelRequest.ts new file mode 100644 index 0000000..382934b --- /dev/null +++ b/src/api/resources/bulkSync/resources/executions/client/requests/ExecutionsCancelRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface ExecutionsCancelRequest {} diff --git a/src/api/resources/bulkSync/resources/executions/client/requests/ExecutionsGetLogsRequest.ts b/src/api/resources/bulkSync/resources/executions/client/requests/ExecutionsGetLogsRequest.ts new file mode 100644 index 0000000..c86c387 --- /dev/null +++ b/src/api/resources/bulkSync/resources/executions/client/requests/ExecutionsGetLogsRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface ExecutionsGetLogsRequest {} diff --git a/src/api/resources/bulkSync/resources/executions/client/requests/ExecutionsGetRequest.ts b/src/api/resources/bulkSync/resources/executions/client/requests/ExecutionsGetRequest.ts new file mode 100644 index 0000000..910b395 --- /dev/null +++ b/src/api/resources/bulkSync/resources/executions/client/requests/ExecutionsGetRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface ExecutionsGetRequest {} diff --git a/src/api/resources/bulkSync/resources/executions/client/requests/index.ts b/src/api/resources/bulkSync/resources/executions/client/requests/index.ts index 92a7577..1083c59 100644 --- a/src/api/resources/bulkSync/resources/executions/client/requests/index.ts +++ b/src/api/resources/bulkSync/resources/executions/client/requests/index.ts @@ -1,3 +1,6 @@ export { type ExecutionsListStatusRequest } from "./ExecutionsListStatusRequest"; export { type ExecutionsListRequest } from "./ExecutionsListRequest"; +export { type ExecutionsGetRequest } from "./ExecutionsGetRequest"; +export { type ExecutionsCancelRequest } from "./ExecutionsCancelRequest"; +export { type ExecutionsGetLogsRequest } from "./ExecutionsGetLogsRequest"; export { type ExecutionsExportLogsRequest } from "./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..b46980a 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; } @@ -37,6 +38,7 @@ export class Schedules { /** * @param {string} syncId + * @param {Polytomic.bulkSync.SchedulesListRequest} request * @param {Schedules.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -47,7 +49,19 @@ 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, + request: Polytomic.bulkSync.SchedulesListRequest = {}, + requestOptions?: Schedules.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(syncId, request, requestOptions)); + } + + private async __list( + syncId: string, + request: Polytomic.bulkSync.SchedulesListRequest = {}, + requestOptions?: Schedules.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -59,13 +73,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 +90,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 +129,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 +138,7 @@ export class Schedules { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -133,11 +161,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 +185,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 +203,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 +247,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 +256,7 @@ export class Schedules { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -211,6 +264,7 @@ export class Schedules { /** * @param {string} syncId * @param {string} scheduleId + * @param {Polytomic.bulkSync.SchedulesGetRequest} request * @param {Schedules.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -221,11 +275,21 @@ 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, + request: Polytomic.bulkSync.SchedulesGetRequest = {}, + requestOptions?: Schedules.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(syncId, scheduleId, request, requestOptions)); + } + + private async __get( syncId: string, scheduleId: string, + request: Polytomic.bulkSync.SchedulesGetRequest = {}, requestOptions?: Schedules.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -237,13 +301,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 +318,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 +357,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 +366,7 @@ export class Schedules { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -312,12 +390,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 +416,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 +434,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 +478,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 +487,7 @@ export class Schedules { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -391,6 +495,7 @@ export class Schedules { /** * @param {string} syncId * @param {string} scheduleId + * @param {Polytomic.bulkSync.SchedulesDeleteRequest} request * @param {Schedules.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -401,7 +506,21 @@ 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, + request: Polytomic.bulkSync.SchedulesDeleteRequest = {}, + requestOptions?: Schedules.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__delete(syncId, scheduleId, request, requestOptions)); + } + + private async __delete( + syncId: string, + scheduleId: string, + request: Polytomic.bulkSync.SchedulesDeleteRequest = {}, + requestOptions?: Schedules.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -413,13 +532,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 +549,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 +588,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 +597,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/schedules/client/requests/SchedulesDeleteRequest.ts b/src/api/resources/bulkSync/resources/schedules/client/requests/SchedulesDeleteRequest.ts new file mode 100644 index 0000000..c852be1 --- /dev/null +++ b/src/api/resources/bulkSync/resources/schedules/client/requests/SchedulesDeleteRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface SchedulesDeleteRequest {} diff --git a/src/api/resources/bulkSync/resources/schedules/client/requests/SchedulesGetRequest.ts b/src/api/resources/bulkSync/resources/schedules/client/requests/SchedulesGetRequest.ts new file mode 100644 index 0000000..d971c1e --- /dev/null +++ b/src/api/resources/bulkSync/resources/schedules/client/requests/SchedulesGetRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface SchedulesGetRequest {} diff --git a/src/api/resources/bulkSync/resources/schedules/client/requests/SchedulesListRequest.ts b/src/api/resources/bulkSync/resources/schedules/client/requests/SchedulesListRequest.ts new file mode 100644 index 0000000..245e625 --- /dev/null +++ b/src/api/resources/bulkSync/resources/schedules/client/requests/SchedulesListRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface SchedulesListRequest {} diff --git a/src/api/resources/bulkSync/resources/schedules/client/requests/index.ts b/src/api/resources/bulkSync/resources/schedules/client/requests/index.ts index ea4a1f8..d64ab1c 100644 --- a/src/api/resources/bulkSync/resources/schedules/client/requests/index.ts +++ b/src/api/resources/bulkSync/resources/schedules/client/requests/index.ts @@ -1,2 +1,5 @@ +export { type SchedulesListRequest } from "./SchedulesListRequest"; export { type CreateScheduleRequest } from "./CreateScheduleRequest"; +export { type SchedulesGetRequest } from "./SchedulesGetRequest"; export { type UpdateScheduleRequest } from "./UpdateScheduleRequest"; +export { type SchedulesDeleteRequest } from "./SchedulesDeleteRequest"; diff --git a/src/api/resources/bulkSync/resources/schemas/client/Client.ts b/src/api/resources/bulkSync/resources/schemas/client/Client.ts index 347f2e9..6b81a99 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, }); } } @@ -214,6 +255,7 @@ export class Schemas { /** * @param {string} id * @param {string} schemaId + * @param {Polytomic.bulkSync.SchemasGetRequest} request * @param {Schemas.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -222,11 +264,21 @@ export class Schemas { * @example * await client.bulkSync.schemas.get("248df4b7-aa70-47b8-a036-33ac447e668d", "Contact") */ - public async get( + public get( + id: string, + schemaId: string, + request: Polytomic.bulkSync.SchemasGetRequest = {}, + requestOptions?: Schemas.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(id, schemaId, request, requestOptions)); + } + + private async __get( id: string, schemaId: string, + request: Polytomic.bulkSync.SchemasGetRequest = {}, requestOptions?: Schemas.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -238,13 +290,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 +307,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 +336,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 +345,7 @@ export class Schemas { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -304,12 +364,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 +390,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 +408,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 +447,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 +456,7 @@ export class Schemas { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -381,6 +464,7 @@ export class Schemas { /** * @param {string} id - The bulk sync ID. * @param {string} schemaId - The schema ID to cancel for the bulk sync. + * @param {Polytomic.bulkSync.SchemasCancelRequest} request * @param {Schemas.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -391,11 +475,21 @@ 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, + request: Polytomic.bulkSync.SchemasCancelRequest = {}, + requestOptions?: Schemas.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__cancel(id, schemaId, request, requestOptions)); + } + + private async __cancel( id: string, schemaId: string, + request: Polytomic.bulkSync.SchemasCancelRequest = {}, requestOptions?: Schemas.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -407,13 +501,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 +518,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 +560,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 +569,7 @@ export class Schemas { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } diff --git a/src/api/resources/bulkSync/resources/schemas/client/requests/BulkSyncSchemasRequest.ts b/src/api/resources/bulkSync/resources/schemas/client/requests/BulkSyncSchemasRequest.ts index b3fb024..12a615c 100644 --- a/src/api/resources/bulkSync/resources/schemas/client/requests/BulkSyncSchemasRequest.ts +++ b/src/api/resources/bulkSync/resources/schemas/client/requests/BulkSyncSchemasRequest.ts @@ -9,5 +9,5 @@ import * as Polytomic from "../../../../../../index"; * {} */ export interface BulkSyncSchemasRequest { - schemas?: Polytomic.BulkSchema[]; + schemas?: Polytomic.BulkSchema[] | null; } diff --git a/src/api/resources/bulkSync/resources/schemas/client/requests/SchemasCancelRequest.ts b/src/api/resources/bulkSync/resources/schemas/client/requests/SchemasCancelRequest.ts new file mode 100644 index 0000000..8f62c4f --- /dev/null +++ b/src/api/resources/bulkSync/resources/schemas/client/requests/SchemasCancelRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface SchemasCancelRequest {} diff --git a/src/api/resources/bulkSync/resources/schemas/client/requests/SchemasGetRequest.ts b/src/api/resources/bulkSync/resources/schemas/client/requests/SchemasGetRequest.ts new file mode 100644 index 0000000..d53054a --- /dev/null +++ b/src/api/resources/bulkSync/resources/schemas/client/requests/SchemasGetRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface SchemasGetRequest {} diff --git a/src/api/resources/bulkSync/resources/schemas/client/requests/SchemasListRequest.ts b/src/api/resources/bulkSync/resources/schemas/client/requests/SchemasListRequest.ts index 11284e1..64dfd92 100644 --- a/src/api/resources/bulkSync/resources/schemas/client/requests/SchemasListRequest.ts +++ b/src/api/resources/bulkSync/resources/schemas/client/requests/SchemasListRequest.ts @@ -7,5 +7,5 @@ * {} */ export interface SchemasListRequest { - filters?: Record; + filters?: Record; } diff --git a/src/api/resources/bulkSync/resources/schemas/client/requests/UpdateBulkSchema.ts b/src/api/resources/bulkSync/resources/schemas/client/requests/UpdateBulkSchema.ts index 3b98414..0a17acf 100644 --- a/src/api/resources/bulkSync/resources/schemas/client/requests/UpdateBulkSchema.ts +++ b/src/api/resources/bulkSync/resources/schemas/client/requests/UpdateBulkSchema.ts @@ -9,11 +9,11 @@ import * as Polytomic from "../../../../../../index"; * {} */ export interface UpdateBulkSchema { - data_cutoff_timestamp?: string; + data_cutoff_timestamp?: string | null; disable_data_cutoff?: boolean; enabled?: boolean; - fields?: Polytomic.UpdateBulkField[]; - filters?: Polytomic.BulkFilter[]; + fields?: Polytomic.UpdateBulkField[] | null; + filters?: Polytomic.BulkFilter2[] | null; partition_key?: string; tracking_field?: string; user_output_name?: string; diff --git a/src/api/resources/bulkSync/resources/schemas/client/requests/index.ts b/src/api/resources/bulkSync/resources/schemas/client/requests/index.ts index 13212f8..f874200 100644 --- a/src/api/resources/bulkSync/resources/schemas/client/requests/index.ts +++ b/src/api/resources/bulkSync/resources/schemas/client/requests/index.ts @@ -1,3 +1,5 @@ export { type SchemasListRequest } from "./SchemasListRequest"; export { type BulkSyncSchemasRequest } from "./BulkSyncSchemasRequest"; +export { type SchemasGetRequest } from "./SchemasGetRequest"; export { type UpdateBulkSchema } from "./UpdateBulkSchema"; +export { type SchemasCancelRequest } from "./SchemasCancelRequest"; diff --git a/src/api/resources/connections/client/Client.ts b/src/api/resources/connections/client/Client.ts index 0618632..e2ef55d 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,18 +114,21 @@ 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, }); } } /** * @param {string} id + * @param {Polytomic.ConnectionsGetConnectionTypeSchemaRequest} request * @param {Connections.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -119,10 +138,19 @@ export class Connections { * @example * await client.connections.getConnectionTypeSchema("postgresql") */ - public async getConnectionTypeSchema( + public getConnectionTypeSchema( + id: string, + request: Polytomic.ConnectionsGetConnectionTypeSchemaRequest = {}, + requestOptions?: Connections.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getConnectionTypeSchema(id, request, requestOptions)); + } + + private async __getConnectionTypeSchema( id: string, + request: Polytomic.ConnectionsGetConnectionTypeSchemaRequest = {}, requestOptions?: Connections.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -134,13 +162,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 +179,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 +213,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 +240,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 +264,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 +282,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 +324,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 +333,7 @@ export class Connections { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -283,7 +347,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 +367,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 +384,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 +416,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 +451,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 +473,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 +491,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 +538,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 +575,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 +597,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 +615,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 +657,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 +692,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 +714,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 +732,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,18 +771,21 @@ 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, }); } } /** * @param {string} id + * @param {Polytomic.ConnectionsGetRequest} request * @param {Connections.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -639,10 +795,19 @@ export class Connections { * @example * await client.connections.get("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async get( + public get( + id: string, + request: Polytomic.ConnectionsGetRequest = {}, + requestOptions?: Connections.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(id, request, requestOptions)); + } + + private async __get( id: string, + request: Polytomic.ConnectionsGetRequest = {}, requestOptions?: Connections.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -654,13 +819,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 +836,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 +870,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 +906,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 +930,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 +948,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 +1000,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 +1028,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 +1058,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 +1076,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,18 +1120,21 @@ 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, }); } } /** * @param {string} id + * @param {Polytomic.ConnectionsGetParameterValuesRequest} request * @param {Connections.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -911,10 +1144,19 @@ export class Connections { * @example * await client.connections.getParameterValues("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async getParameterValues( + public getParameterValues( + id: string, + request: Polytomic.ConnectionsGetParameterValuesRequest = {}, + requestOptions?: Connections.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getParameterValues(id, request, requestOptions)); + } + + private async __getParameterValues( id: string, + request: Polytomic.ConnectionsGetParameterValuesRequest = {}, requestOptions?: Connections.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -926,13 +1168,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 +1185,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 +1222,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 +1231,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 +1300,162 @@ 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 {Polytomic.ConnectionsListSharedConnectionsRequest} 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.listSharedConnections("248df4b7-aa70-47b8-a036-33ac447e668d") + */ + public listSharedConnections( + parentConnectionId: string, + request: Polytomic.ConnectionsListSharedConnectionsRequest = {}, + requestOptions?: Connections.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise( + this.__listSharedConnections(parentConnectionId, request, requestOptions), + ); + } + + private async __listSharedConnections( + parentConnectionId: string, + request: Polytomic.ConnectionsListSharedConnectionsRequest = {}, + 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 +1465,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/connections/client/requests/ConnectCardRequest.ts b/src/api/resources/connections/client/requests/ConnectCardRequest.ts index 1bda93b..014e709 100644 --- a/src/api/resources/connections/client/requests/ConnectCardRequest.ts +++ b/src/api/resources/connections/client/requests/ConnectCardRequest.ts @@ -16,11 +16,11 @@ export interface ConnectCardRequest { dark?: boolean; /** Name of the new connection. Must be unique per organization. */ name: string; - organization_id?: string; + organization_id?: string | null; /** URL to redirect to after connection is created. */ redirect_url: string; /** Connection type to create. */ type?: string; /** List of connection types which are allowed to be created. Ignored if type is set. */ - whitelist?: string[]; + whitelist?: string[] | null; } diff --git a/src/api/resources/connections/client/requests/ConnectionsGetConnectionTypeSchemaRequest.ts b/src/api/resources/connections/client/requests/ConnectionsGetConnectionTypeSchemaRequest.ts new file mode 100644 index 0000000..7eed312 --- /dev/null +++ b/src/api/resources/connections/client/requests/ConnectionsGetConnectionTypeSchemaRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface ConnectionsGetConnectionTypeSchemaRequest {} diff --git a/src/api/resources/connections/client/requests/ConnectionsGetParameterValuesRequest.ts b/src/api/resources/connections/client/requests/ConnectionsGetParameterValuesRequest.ts new file mode 100644 index 0000000..8d6b174 --- /dev/null +++ b/src/api/resources/connections/client/requests/ConnectionsGetParameterValuesRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface ConnectionsGetParameterValuesRequest {} diff --git a/src/api/resources/connections/client/requests/ConnectionsGetRequest.ts b/src/api/resources/connections/client/requests/ConnectionsGetRequest.ts new file mode 100644 index 0000000..3db392e --- /dev/null +++ b/src/api/resources/connections/client/requests/ConnectionsGetRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface ConnectionsGetRequest {} diff --git a/src/api/resources/connections/client/requests/ConnectionsListSharedConnectionsRequest.ts b/src/api/resources/connections/client/requests/ConnectionsListSharedConnectionsRequest.ts new file mode 100644 index 0000000..302059d --- /dev/null +++ b/src/api/resources/connections/client/requests/ConnectionsListSharedConnectionsRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface ConnectionsListSharedConnectionsRequest {} diff --git a/src/api/resources/connections/client/requests/CreateConnectionRequestSchema.ts b/src/api/resources/connections/client/requests/CreateConnectionRequestSchema.ts index ef90025..fe4faa6 100644 --- a/src/api/resources/connections/client/requests/CreateConnectionRequestSchema.ts +++ b/src/api/resources/connections/client/requests/CreateConnectionRequestSchema.ts @@ -21,8 +21,8 @@ export interface CreateConnectionRequestSchema { /** Override interval for connection health checking. */ healthcheck_interval?: string; name: string; - organization_id?: string; - policies?: string[]; + organization_id?: string | null; + policies?: string[] | null; /** URL to redirect to after completing OAuth flow. */ redirect_url?: string; type: string; diff --git a/src/api/resources/connections/client/requests/GetConnectionTypeParameterValuesRequestSchema.ts b/src/api/resources/connections/client/requests/GetConnectionTypeParameterValuesRequestSchema.ts index 29118a9..4d8858b 100644 --- a/src/api/resources/connections/client/requests/GetConnectionTypeParameterValuesRequestSchema.ts +++ b/src/api/resources/connections/client/requests/GetConnectionTypeParameterValuesRequestSchema.ts @@ -11,6 +11,6 @@ export interface GetConnectionTypeParameterValuesRequestSchema { connection_id?: string; field: string; - parameters?: Record; + parameters: Record | null; query?: string; } diff --git a/src/api/resources/connections/client/requests/UpdateConnectionRequestSchema.ts b/src/api/resources/connections/client/requests/UpdateConnectionRequestSchema.ts index b081907..9856b6b 100644 --- a/src/api/resources/connections/client/requests/UpdateConnectionRequestSchema.ts +++ b/src/api/resources/connections/client/requests/UpdateConnectionRequestSchema.ts @@ -20,8 +20,8 @@ export interface UpdateConnectionRequestSchema { /** Override interval for connection health checking. */ healthcheck_interval?: string; name: string; - organization_id?: string; - policies?: string[]; + organization_id?: string | null; + policies?: string[] | null; reconnect?: boolean; type?: string; /** Validate connection configuration. */ diff --git a/src/api/resources/connections/client/requests/index.ts b/src/api/resources/connections/client/requests/index.ts index cc4f37f..456a036 100644 --- a/src/api/resources/connections/client/requests/index.ts +++ b/src/api/resources/connections/client/requests/index.ts @@ -1,7 +1,11 @@ +export { type ConnectionsGetConnectionTypeSchemaRequest } from "./ConnectionsGetConnectionTypeSchemaRequest"; export { type GetConnectionTypeParameterValuesRequestSchema } from "./GetConnectionTypeParameterValuesRequestSchema"; export { type CreateConnectionRequestSchema } from "./CreateConnectionRequestSchema"; export { type ConnectCardRequest } from "./ConnectCardRequest"; export { type TestConnectionRequest } from "./TestConnectionRequest"; +export { type ConnectionsGetRequest } from "./ConnectionsGetRequest"; export { type UpdateConnectionRequestSchema } from "./UpdateConnectionRequestSchema"; export { type ConnectionsRemoveRequest } from "./ConnectionsRemoveRequest"; +export { type ConnectionsGetParameterValuesRequest } from "./ConnectionsGetParameterValuesRequest"; export { type ApiRequest } from "./ApiRequest"; +export { type ConnectionsListSharedConnectionsRequest } from "./ConnectionsListSharedConnectionsRequest"; diff --git a/src/api/resources/events/client/Client.ts b/src/api/resources/events/client/Client.ts index 00e1632..5f63fbc 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; } @@ -50,10 +51,17 @@ export class Events { * ending_before: "2020-01-01T00:00:00Z" * }) */ - 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_, @@ -62,7 +70,7 @@ export class Events { limit, } = request; const _queryParams: Record = {}; - if (organizationId != null) { + if (organizationId !== undefined) { _queryParams["organization_id"] = organizationId; } @@ -93,13 +101,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 +119,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 +153,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 +173,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 +191,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 +208,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 +232,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..91aabe8 100644 --- a/src/api/resources/events/client/requests/EventsListRequest.ts +++ b/src/api/resources/events/client/requests/EventsListRequest.ts @@ -11,7 +11,7 @@ * } */ export interface EventsListRequest { - organization_id?: string; + organization_id?: string | null; type?: string; starting_after?: string; ending_before?: string; 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/index.ts b/src/api/resources/index.ts index 885019c..739abd1 100644 --- a/src/api/resources/index.ts +++ b/src/api/resources/index.ts @@ -20,6 +20,7 @@ export * from "./schemas/client/requests"; export * from "./models/client/requests"; export * from "./modelSync/client/requests"; export * from "./events/client/requests"; +export * from "./jobs/client/requests"; export * from "./notifications/client/requests"; export * from "./organization/client/requests"; export * from "./users/client/requests"; diff --git a/src/api/resources/jobs/client/Client.ts b/src/api/resources/jobs/client/Client.ts index 1716caf..3df1895 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; } @@ -36,8 +37,9 @@ export class Jobs { constructor(protected readonly _options: Jobs.Options) {} /** - * @param {string} id * @param {string} type_ + * @param {string} id + * @param {Polytomic.JobsGetRequest} request * @param {Jobs.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.BadRequestError} @@ -46,13 +48,23 @@ export class Jobs { * @throws {@link Polytomic.InternalServerError} * * @example - * await client.jobs.get("248df4b7-aa70-47b8-a036-33ac447e668d", "createmodel") + * await client.jobs.get("createmodel", "248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async get( + public get( + type_: string, id: string, + request: Polytomic.JobsGetRequest = {}, + requestOptions?: Jobs.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(type_, id, request, requestOptions)); + } + + private async __get( type_: string, + id: string, + request: Polytomic.JobsGetRequest = {}, requestOptions?: Jobs.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -64,13 +76,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 +93,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 +132,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/jobs/client/index.ts b/src/api/resources/jobs/client/index.ts index cb0ff5c..415726b 100644 --- a/src/api/resources/jobs/client/index.ts +++ b/src/api/resources/jobs/client/index.ts @@ -1 +1 @@ -export {}; +export * from "./requests"; diff --git a/src/api/resources/jobs/client/requests/JobsGetRequest.ts b/src/api/resources/jobs/client/requests/JobsGetRequest.ts new file mode 100644 index 0000000..d9252c2 --- /dev/null +++ b/src/api/resources/jobs/client/requests/JobsGetRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface JobsGetRequest {} diff --git a/src/api/resources/jobs/client/requests/index.ts b/src/api/resources/jobs/client/requests/index.ts new file mode 100644 index 0000000..c541547 --- /dev/null +++ b/src/api/resources/jobs/client/requests/index.ts @@ -0,0 +1 @@ +export { type JobsGetRequest } from "./JobsGetRequest"; diff --git a/src/api/resources/modelSync/client/Client.ts b/src/api/resources/modelSync/client/Client.ts index 43cece8..1f542ee 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, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getSourceFields(id, request, requestOptions)); + } + + private async __getSourceFields( id: string, request: Polytomic.ModelSyncGetSourceFieldsRequest = {}, requestOptions?: ModelSync.RequestOptions, - ): Promise { + ): 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, }); } } @@ -254,14 +307,21 @@ export class ModelSync { * 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) { - _queryParams["active"] = active.toString(); + if (active !== undefined) { + _queryParams["active"] = active?.toString() ?? null; } if (mode != null) { @@ -283,13 +343,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 +361,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 +403,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 +495,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 +517,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 +535,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 +579,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 +600,15 @@ export class ModelSync { * @example * await client.modelSync.getScheduleOptions() */ - public async getScheduleOptions( + public getScheduleOptions( + requestOptions?: ModelSync.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getScheduleOptions(requestOptions)); + } + + private async __getScheduleOptions( requestOptions?: ModelSync.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -513,13 +620,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 +637,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,18 +669,21 @@ 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, }); } } /** * @param {string} id + * @param {Polytomic.ModelSyncGetRequest} request * @param {ModelSync.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -574,10 +693,19 @@ export class ModelSync { * @example * await client.modelSync.get("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async get( + public get( id: string, + request: Polytomic.ModelSyncGetRequest = {}, requestOptions?: ModelSync.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(id, request, requestOptions)); + } + + private async __get( + id: string, + request: Polytomic.ModelSyncGetRequest = {}, + requestOptions?: ModelSync.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -589,13 +717,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 +734,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 +768,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 +805,19 @@ export class ModelSync { * } * }) */ - public async update( + public update( + id: string, + request: Polytomic.UpdateModelSyncRequest, + requestOptions?: ModelSync.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); + } + + private async __update( id: string, request: Polytomic.UpdateModelSyncRequest, requestOptions?: ModelSync.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -682,13 +829,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 +847,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,18 +896,21 @@ 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, }); } } /** * @param {string} id + * @param {Polytomic.ModelSyncRemoveRequest} request * @param {ModelSync.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -754,7 +922,19 @@ 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, + request: Polytomic.ModelSyncRemoveRequest = {}, + requestOptions?: ModelSync.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__remove(id, request, requestOptions)); + } + + private async __remove( + id: string, + request: Polytomic.ModelSyncRemoveRequest = {}, + requestOptions?: ModelSync.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -766,13 +946,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 +963,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,19 +1007,21 @@ 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, }); } } /** * @param {string} id - * @param {Polytomic.ActivateSyncInput} request + * @param {Polytomic.ModelSyncActivateRequest} request * @param {ModelSync.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -834,14 +1031,24 @@ export class ModelSync { * * @example * await client.modelSync.activate("248df4b7-aa70-47b8-a036-33ac447e668d", { - * active: true + * body: { + * active: true + * } * }) */ - public async activate( + public activate( + id: string, + request: Polytomic.ModelSyncActivateRequest, + requestOptions?: ModelSync.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__activate(id, request, requestOptions)); + } + + private async __activate( id: string, - request: Polytomic.ActivateSyncInput, + request: Polytomic.ModelSyncActivateRequest, requestOptions?: ModelSync.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -853,13 +1060,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 +1078,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,18 +1117,21 @@ 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, }); } } /** * @param {string} id - The active execution of this sync ID will be cancelled. + * @param {Polytomic.ModelSyncCancelRequest} request * @param {ModelSync.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -920,10 +1142,19 @@ export class ModelSync { * @example * await client.modelSync.cancel("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async cancel( + public cancel( id: string, + request: Polytomic.ModelSyncCancelRequest = {}, requestOptions?: ModelSync.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__cancel(id, request, requestOptions)); + } + + private async __cancel( + id: string, + request: Polytomic.ModelSyncCancelRequest = {}, + requestOptions?: ModelSync.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -935,13 +1166,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 +1183,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 +1225,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 +1256,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, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__start(id, request, requestOptions)); + } + + private async __start( + id: string, + request: Polytomic.StartModelSyncRequest = {}, + requestOptions?: ModelSync.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -1024,13 +1280,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 +1298,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 +1350,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,12 +1359,14 @@ export class ModelSync { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } /** * @param {string} id + * @param {Polytomic.ModelSyncGetStatusRequest} request * @param {ModelSync.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -1096,10 +1376,19 @@ export class ModelSync { * @example * await client.modelSync.getStatus("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async getStatus( + public getStatus( + id: string, + request: Polytomic.ModelSyncGetStatusRequest = {}, + requestOptions?: ModelSync.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getStatus(id, request, requestOptions)); + } + + private async __getStatus( id: string, + request: Polytomic.ModelSyncGetStatusRequest = {}, requestOptions?: ModelSync.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -1111,13 +1400,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 +1417,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 +1451,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/CreateModelSyncRequest.ts b/src/api/resources/modelSync/client/requests/CreateModelSyncRequest.ts index 28311f3..e080599 100644 --- a/src/api/resources/modelSync/client/requests/CreateModelSyncRequest.ts +++ b/src/api/resources/modelSync/client/requests/CreateModelSyncRequest.ts @@ -28,19 +28,19 @@ export interface CreateModelSyncRequest { /** Logical expression to combine filters. */ filter_logic?: string; /** Filters to apply to the source data. */ - filters?: Polytomic.Filter[]; + filters?: Polytomic.Filter[] | null; identity?: Polytomic.Identity; mode: Polytomic.ModelSyncMode; name: string; /** Whether to use enrichment models as a source of possible changes to sync. If true, only changes to the base models will cause a record to sync. */ only_enrich_updates?: boolean; /** Organization ID for the sync; read-only with a partner key. */ - organization_id?: string; + organization_id?: string | null; /** Values to set in the target unconditionally. */ - override_fields?: Polytomic.ModelSyncField[]; + override_fields?: Polytomic.ModelSyncField[] | null; /** Conditional value replacement for fields. */ - overrides?: Polytomic.Override[]; - policies?: string[]; + overrides?: Polytomic.Override[] | null; + policies?: string[] | null; schedule: Polytomic.Schedule; /** Whether to skip the initial backfill of records; if true only records seen after the sync is enabled will be synced. */ skip_initial_backfill?: boolean; diff --git a/src/api/resources/modelSync/client/requests/ModelSyncActivateRequest.ts b/src/api/resources/modelSync/client/requests/ModelSyncActivateRequest.ts new file mode 100644 index 0000000..bab38ef --- /dev/null +++ b/src/api/resources/modelSync/client/requests/ModelSyncActivateRequest.ts @@ -0,0 +1,17 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Polytomic from "../../../../index"; + +/** + * @example + * { + * body: { + * active: true + * } + * } + */ +export interface ModelSyncActivateRequest { + body: Polytomic.ActivateSyncInput; +} diff --git a/src/api/resources/modelSync/client/requests/ModelSyncCancelRequest.ts b/src/api/resources/modelSync/client/requests/ModelSyncCancelRequest.ts new file mode 100644 index 0000000..beaf106 --- /dev/null +++ b/src/api/resources/modelSync/client/requests/ModelSyncCancelRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface ModelSyncCancelRequest {} diff --git a/src/api/resources/modelSync/client/requests/ModelSyncGetRequest.ts b/src/api/resources/modelSync/client/requests/ModelSyncGetRequest.ts new file mode 100644 index 0000000..8fea221 --- /dev/null +++ b/src/api/resources/modelSync/client/requests/ModelSyncGetRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface ModelSyncGetRequest {} diff --git a/src/api/resources/modelSync/client/requests/ModelSyncGetSourceFieldsRequest.ts b/src/api/resources/modelSync/client/requests/ModelSyncGetSourceFieldsRequest.ts index da43533..3737a9d 100644 --- a/src/api/resources/modelSync/client/requests/ModelSyncGetSourceFieldsRequest.ts +++ b/src/api/resources/modelSync/client/requests/ModelSyncGetSourceFieldsRequest.ts @@ -7,5 +7,5 @@ * {} */ export interface ModelSyncGetSourceFieldsRequest { - params?: Record; + params?: Record; } diff --git a/src/api/resources/modelSync/client/requests/ModelSyncGetSourceRequest.ts b/src/api/resources/modelSync/client/requests/ModelSyncGetSourceRequest.ts index 591b388..5140910 100644 --- a/src/api/resources/modelSync/client/requests/ModelSyncGetSourceRequest.ts +++ b/src/api/resources/modelSync/client/requests/ModelSyncGetSourceRequest.ts @@ -7,5 +7,5 @@ * {} */ export interface ModelSyncGetSourceRequest { - params?: Record; + params?: Record; } diff --git a/src/api/resources/modelSync/client/requests/ModelSyncGetStatusRequest.ts b/src/api/resources/modelSync/client/requests/ModelSyncGetStatusRequest.ts new file mode 100644 index 0000000..f6b0ca6 --- /dev/null +++ b/src/api/resources/modelSync/client/requests/ModelSyncGetStatusRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface ModelSyncGetStatusRequest {} diff --git a/src/api/resources/modelSync/client/requests/ModelSyncListRequest.ts b/src/api/resources/modelSync/client/requests/ModelSyncListRequest.ts index 4a51358..8cbba87 100644 --- a/src/api/resources/modelSync/client/requests/ModelSyncListRequest.ts +++ b/src/api/resources/modelSync/client/requests/ModelSyncListRequest.ts @@ -12,7 +12,7 @@ import * as Polytomic from "../../../../index"; * } */ export interface ModelSyncListRequest { - active?: boolean; + active?: boolean | null; mode?: Polytomic.ModelSyncMode; target_connection_id?: string; } diff --git a/src/api/resources/modelSync/client/requests/ModelSyncRemoveRequest.ts b/src/api/resources/modelSync/client/requests/ModelSyncRemoveRequest.ts new file mode 100644 index 0000000..72385e5 --- /dev/null +++ b/src/api/resources/modelSync/client/requests/ModelSyncRemoveRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface ModelSyncRemoveRequest {} diff --git a/src/api/resources/modelSync/client/requests/StartModelSyncRequest.ts b/src/api/resources/modelSync/client/requests/StartModelSyncRequest.ts index 44bcd85..e63a0dc 100644 --- a/src/api/resources/modelSync/client/requests/StartModelSyncRequest.ts +++ b/src/api/resources/modelSync/client/requests/StartModelSyncRequest.ts @@ -7,7 +7,7 @@ * {} */ export interface StartModelSyncRequest { - identities?: string[]; + identities?: string[] | null; resync?: boolean; test?: boolean; } diff --git a/src/api/resources/modelSync/client/requests/UpdateModelSyncRequest.ts b/src/api/resources/modelSync/client/requests/UpdateModelSyncRequest.ts index 417bba5..c071900 100644 --- a/src/api/resources/modelSync/client/requests/UpdateModelSyncRequest.ts +++ b/src/api/resources/modelSync/client/requests/UpdateModelSyncRequest.ts @@ -28,19 +28,19 @@ export interface UpdateModelSyncRequest { /** Logical expression to combine filters. */ filter_logic?: string; /** Filters to apply to the source data. */ - filters?: Polytomic.Filter[]; + filters?: Polytomic.Filter[] | null; identity?: Polytomic.Identity; mode: Polytomic.ModelSyncMode; name: string; /** Whether to use enrichment models as a source of possible changes to sync. If true, only changes to the base models will cause a record to sync. */ only_enrich_updates?: boolean; /** Organization ID for the sync; read-only with a partner key. */ - organization_id?: string; + organization_id?: string | null; /** Values to set in the target unconditionally. */ - override_fields?: Polytomic.ModelSyncField[]; + override_fields?: Polytomic.ModelSyncField[] | null; /** Conditional value replacement for fields. */ - overrides?: Polytomic.Override[]; - policies?: string[]; + overrides?: Polytomic.Override[] | null; + policies?: string[] | null; schedule: Polytomic.Schedule; /** Whether to skip the initial backfill of records; if true only records seen after the sync is enabled will be synced. */ skip_initial_backfill?: boolean; diff --git a/src/api/resources/modelSync/client/requests/index.ts b/src/api/resources/modelSync/client/requests/index.ts index eb1a6b2..a252bc3 100644 --- a/src/api/resources/modelSync/client/requests/index.ts +++ b/src/api/resources/modelSync/client/requests/index.ts @@ -2,5 +2,10 @@ export { type ModelSyncGetSourceRequest } from "./ModelSyncGetSourceRequest"; export { type ModelSyncGetSourceFieldsRequest } from "./ModelSyncGetSourceFieldsRequest"; export { type ModelSyncListRequest } from "./ModelSyncListRequest"; export { type CreateModelSyncRequest } from "./CreateModelSyncRequest"; +export { type ModelSyncGetRequest } from "./ModelSyncGetRequest"; export { type UpdateModelSyncRequest } from "./UpdateModelSyncRequest"; +export { type ModelSyncRemoveRequest } from "./ModelSyncRemoveRequest"; +export { type ModelSyncActivateRequest } from "./ModelSyncActivateRequest"; +export { type ModelSyncCancelRequest } from "./ModelSyncCancelRequest"; export { type StartModelSyncRequest } from "./StartModelSyncRequest"; +export { type ModelSyncGetStatusRequest } from "./ModelSyncGetStatusRequest"; diff --git a/src/api/resources/modelSync/resources/executions/client/Client.ts b/src/api/resources/modelSync/resources/executions/client/Client.ts index c438d01..0ca47f1 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, }); } } @@ -136,6 +156,7 @@ export class Executions { /** * @param {string} syncId * @param {string} id + * @param {Polytomic.modelSync.ExecutionsGetRequest} request * @param {Executions.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -145,11 +166,21 @@ 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, + request: Polytomic.modelSync.ExecutionsGetRequest = {}, requestOptions?: Executions.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(syncId, id, request, requestOptions)); + } + + private async __get( + syncId: string, + id: string, + request: Polytomic.modelSync.ExecutionsGetRequest = {}, + requestOptions?: Executions.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -161,13 +192,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 +209,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 +246,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 +255,7 @@ export class Executions { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -232,12 +277,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 +303,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 +321,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 +368,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 +377,7 @@ export class Executions { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -312,6 +386,7 @@ export class Executions { * @param {string} syncId * @param {string} id * @param {Polytomic.V2ExecutionLogType} type_ + * @param {Polytomic.modelSync.ExecutionsGetLogUrlsRequest} request * @param {Executions.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.BadRequestError} @@ -322,12 +397,23 @@ 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, + request: Polytomic.modelSync.ExecutionsGetLogUrlsRequest = {}, + requestOptions?: Executions.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getLogUrls(syncId, id, type_, request, requestOptions)); + } + + private async __getLogUrls( syncId: string, id: string, type_: Polytomic.V2ExecutionLogType, + request: Polytomic.modelSync.ExecutionsGetLogUrlsRequest = {}, requestOptions?: Executions.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -339,13 +425,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 +442,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 +484,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 +493,7 @@ export class Executions { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -400,6 +503,7 @@ export class Executions { * @param {string} id * @param {Polytomic.V2ExecutionLogType} type_ * @param {string} filename + * @param {Polytomic.modelSync.ExecutionsGetLogsRequest} request * @param {Executions.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.BadRequestError} @@ -410,13 +514,27 @@ 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, + request: Polytomic.modelSync.ExecutionsGetLogsRequest = {}, + requestOptions?: Executions.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise( + this.__getLogs(syncId, id, type_, filename, request, requestOptions), + ); + } + + private async __getLogs( syncId: string, id: string, type_: Polytomic.V2ExecutionLogType, filename: string, + request: Polytomic.modelSync.ExecutionsGetLogsRequest = {}, requestOptions?: Executions.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -428,13 +546,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 +563,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 +602,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 +611,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/executions/client/requests/ExecutionsGetLogUrlsRequest.ts b/src/api/resources/modelSync/resources/executions/client/requests/ExecutionsGetLogUrlsRequest.ts new file mode 100644 index 0000000..e01933c --- /dev/null +++ b/src/api/resources/modelSync/resources/executions/client/requests/ExecutionsGetLogUrlsRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface ExecutionsGetLogUrlsRequest {} diff --git a/src/api/resources/modelSync/resources/executions/client/requests/ExecutionsGetLogsRequest.ts b/src/api/resources/modelSync/resources/executions/client/requests/ExecutionsGetLogsRequest.ts new file mode 100644 index 0000000..c86c387 --- /dev/null +++ b/src/api/resources/modelSync/resources/executions/client/requests/ExecutionsGetLogsRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface ExecutionsGetLogsRequest {} diff --git a/src/api/resources/modelSync/resources/executions/client/requests/ExecutionsGetRequest.ts b/src/api/resources/modelSync/resources/executions/client/requests/ExecutionsGetRequest.ts new file mode 100644 index 0000000..910b395 --- /dev/null +++ b/src/api/resources/modelSync/resources/executions/client/requests/ExecutionsGetRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface ExecutionsGetRequest {} diff --git a/src/api/resources/modelSync/resources/executions/client/requests/index.ts b/src/api/resources/modelSync/resources/executions/client/requests/index.ts index a6f2d67..bc01882 100644 --- a/src/api/resources/modelSync/resources/executions/client/requests/index.ts +++ b/src/api/resources/modelSync/resources/executions/client/requests/index.ts @@ -1,2 +1,5 @@ export { type ExecutionsListRequest } from "./ExecutionsListRequest"; +export { type ExecutionsGetRequest } from "./ExecutionsGetRequest"; export { type UpdateExecutionRequest } from "./UpdateExecutionRequest"; +export { type ExecutionsGetLogUrlsRequest } from "./ExecutionsGetLogUrlsRequest"; +export { type ExecutionsGetLogsRequest } from "./ExecutionsGetLogsRequest"; diff --git a/src/api/resources/modelSync/resources/targets/client/Client.ts b/src/api/resources/modelSync/resources/targets/client/Client.ts index d059721..4344110 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; } @@ -49,11 +50,19 @@ export class Targets { * @example * await client.modelSync.targets.getTarget("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async getTarget( + public getTarget( id: string, request: Polytomic.modelSync.TargetsGetTargetRequest = {}, requestOptions?: Targets.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getTarget(id, request, requestOptions)); + } + + private async __getTarget( + id: string, + request: Polytomic.modelSync.TargetsGetTargetRequest = {}, + requestOptions?: Targets.RequestOptions, + ): Promise> { const { type: type_, search } = request; const _queryParams: Record = {}; if (type_ != null) { @@ -75,13 +84,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 +102,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 +146,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 +155,7 @@ export class Targets { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -150,11 +176,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 +207,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 +225,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 +264,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 +273,7 @@ export class Targets { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -250,6 +298,7 @@ export class Targets { * what operations the mode supports. * * @param {string} id + * @param {Polytomic.modelSync.TargetsListRequest} request * @param {Targets.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.BadRequestError} @@ -261,10 +310,19 @@ export class Targets { * @example * await client.modelSync.targets.list("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async list( + public list( id: string, + request: Polytomic.modelSync.TargetsListRequest = {}, requestOptions?: Targets.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(id, request, requestOptions)); + } + + private async __list( + id: string, + request: Polytomic.modelSync.TargetsListRequest = {}, + requestOptions?: Targets.RequestOptions, + ): 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, }); } } @@ -368,6 +446,7 @@ export class Targets { * * @param {string} id * @param {string} property + * @param {Polytomic.modelSync.TargetsGetCreatePropertyRequest} request * @param {Targets.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.BadRequestError} @@ -379,11 +458,21 @@ export class Targets { * @example * await client.modelSync.targets.getCreateProperty("248df4b7-aa70-47b8-a036-33ac447e668d", "property") */ - public async getCreateProperty( + public getCreateProperty( + id: string, + property: string, + request: Polytomic.modelSync.TargetsGetCreatePropertyRequest = {}, + requestOptions?: Targets.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getCreateProperty(id, property, request, requestOptions)); + } + + private async __getCreateProperty( id: string, property: string, + request: Polytomic.modelSync.TargetsGetCreatePropertyRequest = {}, requestOptions?: Targets.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -395,13 +484,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 +501,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 +548,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 +557,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/TargetsGetCreatePropertyRequest.ts b/src/api/resources/modelSync/resources/targets/client/requests/TargetsGetCreatePropertyRequest.ts new file mode 100644 index 0000000..f3b6953 --- /dev/null +++ b/src/api/resources/modelSync/resources/targets/client/requests/TargetsGetCreatePropertyRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface TargetsGetCreatePropertyRequest {} diff --git a/src/api/resources/modelSync/resources/targets/client/requests/TargetsListRequest.ts b/src/api/resources/modelSync/resources/targets/client/requests/TargetsListRequest.ts new file mode 100644 index 0000000..e861c2c --- /dev/null +++ b/src/api/resources/modelSync/resources/targets/client/requests/TargetsListRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface TargetsListRequest {} diff --git a/src/api/resources/modelSync/resources/targets/client/requests/index.ts b/src/api/resources/modelSync/resources/targets/client/requests/index.ts index 738b9d0..22c217d 100644 --- a/src/api/resources/modelSync/resources/targets/client/requests/index.ts +++ b/src/api/resources/modelSync/resources/targets/client/requests/index.ts @@ -1,2 +1,4 @@ export { type TargetsGetTargetRequest } from "./TargetsGetTargetRequest"; export { type TargetsGetTargetFieldsRequest } from "./TargetsGetTargetFieldsRequest"; +export { type TargetsListRequest } from "./TargetsListRequest"; +export { type TargetsGetCreatePropertyRequest } from "./TargetsGetCreatePropertyRequest"; diff --git a/src/api/resources/models/client/Client.ts b/src/api/resources/models/client/Client.ts index f9308ad..58eb43c 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, }); } } @@ -239,10 +292,17 @@ export class Models { * } * }) */ - public async preview( + public preview( request: Polytomic.ModelsPreviewRequest, requestOptions?: Models.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__preview(request, requestOptions)); + } + + private async __preview( + request: Polytomic.ModelsPreviewRequest, + requestOptions?: Models.RequestOptions, + ): Promise> { const { async, body: _body } = request; const _queryParams: Record = {}; if (async != null) { @@ -260,13 +320,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 +339,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 +378,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 +399,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 +417,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 +434,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 +463,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, }); } } @@ -407,10 +495,17 @@ export class Models { * } * }) */ - public async create( + public create( + request: Polytomic.ModelsCreateRequest, + requestOptions?: Models.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); + } + + private async __create( request: Polytomic.ModelsCreateRequest, requestOptions?: Models.RequestOptions, - ): Promise { + ): Promise> { const { async, body: _body } = request; const _queryParams: Record = {}; if (async != null) { @@ -428,13 +523,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 +542,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 +581,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, }); } } @@ -496,11 +605,19 @@ export class Models { * @example * await client.models.get("248df4b7-aa70-47b8-a036-33ac447e668d") */ - 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 +635,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 +653,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 +687,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 +719,19 @@ export class Models { * name: "Users" * }) */ - public async update( + public update( + id: string, + request: Polytomic.UpdateModelRequest, + requestOptions?: Models.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); + } + + private async __update( id: string, request: Polytomic.UpdateModelRequest, requestOptions?: Models.RequestOptions, - ): Promise { + ): Promise> { const { async, ..._body } = request; const _queryParams: Record = {}; if (async != null) { @@ -613,13 +749,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 +768,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 +807,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, }); } } @@ -682,11 +832,19 @@ export class Models { * @example * await client.models.remove("248df4b7-aa70-47b8-a036-33ac447e668d") */ - 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 +862,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 +880,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 +919,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, }); } } @@ -774,11 +946,19 @@ export class Models { * @example * await client.models.sample("248df4b7-aa70-47b8-a036-33ac447e668d") */ - 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 +976,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 +994,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 +1036,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/ModelsGetEnrichmentSourceRequest.ts b/src/api/resources/models/client/requests/ModelsGetEnrichmentSourceRequest.ts index 2bbe9af..ae471d9 100644 --- a/src/api/resources/models/client/requests/ModelsGetEnrichmentSourceRequest.ts +++ b/src/api/resources/models/client/requests/ModelsGetEnrichmentSourceRequest.ts @@ -7,5 +7,5 @@ * {} */ export interface ModelsGetEnrichmentSourceRequest { - params?: Record; + params?: Record; } diff --git a/src/api/resources/models/client/requests/UpdateModelRequest.ts b/src/api/resources/models/client/requests/UpdateModelRequest.ts index 1d43dda..3725dfc 100644 --- a/src/api/resources/models/client/requests/UpdateModelRequest.ts +++ b/src/api/resources/models/client/requests/UpdateModelRequest.ts @@ -17,17 +17,17 @@ import * as Polytomic from "../../../../index"; */ export interface UpdateModelRequest { async?: boolean; - additional_fields?: Polytomic.ModelModelFieldRequest[]; + additional_fields?: Polytomic.ModelModelFieldRequest[] | null; configuration: Record; connection_id: string; enricher?: Polytomic.Enrichment; - fields?: string[]; + fields?: string[] | null; identifier?: string; - labels?: string[]; + labels?: string[] | null; name: string; - organization_id?: string; - policies?: string[]; + organization_id?: string | null; + policies?: string[] | null; refresh?: boolean; - relations?: Polytomic.ModelRelation[]; - tracking_columns?: string[]; + relations?: Polytomic.ModelRelation[] | null; + tracking_columns?: string[] | null; } 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/notifications/client/requests/V4GlobalErrorSubscribersRequest.ts b/src/api/resources/notifications/client/requests/V4GlobalErrorSubscribersRequest.ts index f7a9dd2..b19f430 100644 --- a/src/api/resources/notifications/client/requests/V4GlobalErrorSubscribersRequest.ts +++ b/src/api/resources/notifications/client/requests/V4GlobalErrorSubscribersRequest.ts @@ -7,5 +7,5 @@ * {} */ export interface V4GlobalErrorSubscribersRequest { - emails?: string[]; + emails?: string[] | null; } diff --git a/src/api/resources/organization/client/Client.ts b/src/api/resources/organization/client/Client.ts index 0404637..cbd380f 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, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); + } + + private async __create( request: Polytomic.CreateOrganizationRequestSchema, requestOptions?: Organization.RequestOptions, - ): Promise { + ): 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, }); } } @@ -204,18 +242,29 @@ export class Organization { * > Organization endpoints are only accessible using [partner keys](https://apidocs.polytomic.com/guides/obtaining-api-keys#partner-keys). * * @param {string} id + * @param {Polytomic.OrganizationGetRequest} request * @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, + request: Polytomic.OrganizationGetRequest = {}, + requestOptions?: Organization.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(id, request, requestOptions)); + } + + private async __get( id: string, + request: Polytomic.OrganizationGetRequest = {}, requestOptions?: Organization.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -227,13 +276,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 +293,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 +327,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 +349,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 +359,19 @@ export class Organization { * name: "My Organization" * }) */ - public async update( + public update( id: string, request: Polytomic.UpdateOrganizationRequestSchema, requestOptions?: Organization.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); + } + + private async __update( + id: string, + request: Polytomic.UpdateOrganizationRequestSchema, + requestOptions?: Organization.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -312,13 +383,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 +401,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 +445,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, }); } } @@ -373,16 +463,30 @@ export class Organization { * > Organization endpoints are only accessible using [partner keys](https://apidocs.polytomic.com/guides/obtaining-api-keys#partner-keys). * * @param {string} id + * @param {Polytomic.OrganizationRemoveRequest} request * @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, + request: Polytomic.OrganizationRemoveRequest = {}, + requestOptions?: Organization.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__remove(id, request, requestOptions)); + } + + private async __remove( + id: string, + request: Polytomic.OrganizationRemoveRequest = {}, + requestOptions?: Organization.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -394,13 +498,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 +515,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 +554,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/organization/client/requests/OrganizationGetRequest.ts b/src/api/resources/organization/client/requests/OrganizationGetRequest.ts new file mode 100644 index 0000000..b91772f --- /dev/null +++ b/src/api/resources/organization/client/requests/OrganizationGetRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface OrganizationGetRequest {} diff --git a/src/api/resources/organization/client/requests/OrganizationRemoveRequest.ts b/src/api/resources/organization/client/requests/OrganizationRemoveRequest.ts new file mode 100644 index 0000000..93157a6 --- /dev/null +++ b/src/api/resources/organization/client/requests/OrganizationRemoveRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface OrganizationRemoveRequest {} diff --git a/src/api/resources/organization/client/requests/index.ts b/src/api/resources/organization/client/requests/index.ts index 49101f2..5c32bbf 100644 --- a/src/api/resources/organization/client/requests/index.ts +++ b/src/api/resources/organization/client/requests/index.ts @@ -1,2 +1,4 @@ export { type CreateOrganizationRequestSchema } from "./CreateOrganizationRequestSchema"; +export { type OrganizationGetRequest } from "./OrganizationGetRequest"; export { type UpdateOrganizationRequestSchema } from "./UpdateOrganizationRequestSchema"; +export { type OrganizationRemoveRequest } from "./OrganizationRemoveRequest"; 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..22df21f 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,18 +225,21 @@ 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, }); } } /** * @param {string} id + * @param {Polytomic.permissions.PoliciesGetRequest} request * @param {Policies.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -204,7 +249,19 @@ 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, + request: Polytomic.permissions.PoliciesGetRequest = {}, + requestOptions?: Policies.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(id, request, requestOptions)); + } + + private async __get( + id: string, + request: Polytomic.permissions.PoliciesGetRequest = {}, + requestOptions?: Policies.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -216,13 +273,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 +290,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 +324,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 +333,7 @@ export class Policies { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -286,11 +354,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 +378,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 +396,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 +440,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,12 +449,14 @@ export class Policies { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } /** * @param {string} id + * @param {Polytomic.permissions.PoliciesRemoveRequest} request * @param {Policies.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -373,7 +467,19 @@ 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, + request: Polytomic.permissions.PoliciesRemoveRequest = {}, + requestOptions?: Policies.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__remove(id, request, requestOptions)); + } + + private async __remove( + id: string, + request: Polytomic.permissions.PoliciesRemoveRequest = {}, + requestOptions?: Policies.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -385,13 +491,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 +508,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 +547,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 +556,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/policies/client/requests/CreatePolicyRequest.ts b/src/api/resources/permissions/resources/policies/client/requests/CreatePolicyRequest.ts index 49d0c92..7e807bd 100644 --- a/src/api/resources/permissions/resources/policies/client/requests/CreatePolicyRequest.ts +++ b/src/api/resources/permissions/resources/policies/client/requests/CreatePolicyRequest.ts @@ -12,6 +12,6 @@ import * as Polytomic from "../../../../../../index"; */ export interface CreatePolicyRequest { name: string; - organization_id?: string; - policy_actions?: Polytomic.PolicyAction[]; + organization_id?: string | null; + policy_actions: Polytomic.PolicyAction[] | null; } diff --git a/src/api/resources/permissions/resources/policies/client/requests/PoliciesGetRequest.ts b/src/api/resources/permissions/resources/policies/client/requests/PoliciesGetRequest.ts new file mode 100644 index 0000000..d14f030 --- /dev/null +++ b/src/api/resources/permissions/resources/policies/client/requests/PoliciesGetRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface PoliciesGetRequest {} diff --git a/src/api/resources/permissions/resources/policies/client/requests/PoliciesRemoveRequest.ts b/src/api/resources/permissions/resources/policies/client/requests/PoliciesRemoveRequest.ts new file mode 100644 index 0000000..ca3daec --- /dev/null +++ b/src/api/resources/permissions/resources/policies/client/requests/PoliciesRemoveRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface PoliciesRemoveRequest {} diff --git a/src/api/resources/permissions/resources/policies/client/requests/UpdatePolicyRequest.ts b/src/api/resources/permissions/resources/policies/client/requests/UpdatePolicyRequest.ts index e6df378..ea5e4a4 100644 --- a/src/api/resources/permissions/resources/policies/client/requests/UpdatePolicyRequest.ts +++ b/src/api/resources/permissions/resources/policies/client/requests/UpdatePolicyRequest.ts @@ -12,6 +12,6 @@ import * as Polytomic from "../../../../../../index"; */ export interface UpdatePolicyRequest { name: string; - organization_id?: string; - policy_actions?: Polytomic.PolicyAction[]; + organization_id?: string | null; + policy_actions: Polytomic.PolicyAction[] | null; } diff --git a/src/api/resources/permissions/resources/policies/client/requests/index.ts b/src/api/resources/permissions/resources/policies/client/requests/index.ts index 22e24c1..7978026 100644 --- a/src/api/resources/permissions/resources/policies/client/requests/index.ts +++ b/src/api/resources/permissions/resources/policies/client/requests/index.ts @@ -1,2 +1,4 @@ export { type CreatePolicyRequest } from "./CreatePolicyRequest"; +export { type PoliciesGetRequest } from "./PoliciesGetRequest"; export { type UpdatePolicyRequest } from "./UpdatePolicyRequest"; +export { type PoliciesRemoveRequest } from "./PoliciesRemoveRequest"; diff --git a/src/api/resources/permissions/resources/roles/client/Client.ts b/src/api/resources/permissions/resources/roles/client/Client.ts index d8e541e..85534c3 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,18 +220,21 @@ 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, }); } } /** * @param {string} id + * @param {Polytomic.permissions.RolesGetRequest} request * @param {Roles.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -203,7 +243,19 @@ 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, + request: Polytomic.permissions.RolesGetRequest = {}, + requestOptions?: Roles.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(id, request, requestOptions)); + } + + private async __get( + id: string, + request: Polytomic.permissions.RolesGetRequest = {}, + requestOptions?: Roles.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -215,13 +267,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 +284,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 +313,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 +322,7 @@ export class Roles { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -283,11 +343,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 +367,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 +385,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 +429,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,12 +438,14 @@ export class Roles { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } /** * @param {string} id + * @param {Polytomic.permissions.RolesRemoveRequest} request * @param {Roles.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -370,7 +456,19 @@ 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, + request: Polytomic.permissions.RolesRemoveRequest = {}, + requestOptions?: Roles.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__remove(id, request, requestOptions)); + } + + private async __remove( + id: string, + request: Polytomic.permissions.RolesRemoveRequest = {}, + requestOptions?: Roles.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -382,13 +480,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 +497,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 +536,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 +545,7 @@ export class Roles { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } diff --git a/src/api/resources/permissions/resources/roles/client/requests/CreateRoleRequest.ts b/src/api/resources/permissions/resources/roles/client/requests/CreateRoleRequest.ts index c9c8602..0b83b0f 100644 --- a/src/api/resources/permissions/resources/roles/client/requests/CreateRoleRequest.ts +++ b/src/api/resources/permissions/resources/roles/client/requests/CreateRoleRequest.ts @@ -10,5 +10,5 @@ */ export interface CreateRoleRequest { name: string; - organization_id?: string; + organization_id?: string | null; } diff --git a/src/api/resources/permissions/resources/roles/client/requests/RolesGetRequest.ts b/src/api/resources/permissions/resources/roles/client/requests/RolesGetRequest.ts new file mode 100644 index 0000000..f24815b --- /dev/null +++ b/src/api/resources/permissions/resources/roles/client/requests/RolesGetRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface RolesGetRequest {} diff --git a/src/api/resources/permissions/resources/roles/client/requests/RolesRemoveRequest.ts b/src/api/resources/permissions/resources/roles/client/requests/RolesRemoveRequest.ts new file mode 100644 index 0000000..229ebff --- /dev/null +++ b/src/api/resources/permissions/resources/roles/client/requests/RolesRemoveRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface RolesRemoveRequest {} diff --git a/src/api/resources/permissions/resources/roles/client/requests/UpdateRoleRequest.ts b/src/api/resources/permissions/resources/roles/client/requests/UpdateRoleRequest.ts index 6a21845..045a936 100644 --- a/src/api/resources/permissions/resources/roles/client/requests/UpdateRoleRequest.ts +++ b/src/api/resources/permissions/resources/roles/client/requests/UpdateRoleRequest.ts @@ -10,5 +10,5 @@ */ export interface UpdateRoleRequest { name: string; - organization_id?: string; + organization_id?: string | null; } diff --git a/src/api/resources/permissions/resources/roles/client/requests/index.ts b/src/api/resources/permissions/resources/roles/client/requests/index.ts index a10d79c..2e2b7b9 100644 --- a/src/api/resources/permissions/resources/roles/client/requests/index.ts +++ b/src/api/resources/permissions/resources/roles/client/requests/index.ts @@ -1,2 +1,4 @@ export { type CreateRoleRequest } from "./CreateRoleRequest"; +export { type RolesGetRequest } from "./RolesGetRequest"; export { type UpdateRoleRequest } from "./UpdateRoleRequest"; +export { type RolesRemoveRequest } from "./RolesRemoveRequest"; diff --git a/src/api/resources/queryRunner/client/Client.ts b/src/api/resources/queryRunner/client/Client.ts index 40b6505..a10d8cb 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, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__runQuery(connectionId, request, requestOptions)); + } + + private async __runQuery( connectionId: string, request: Polytomic.V4RunQueryRequest = {}, requestOptions?: QueryRunner.RequestOptions, - ): Promise { + ): 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. @@ -143,11 +170,19 @@ export class QueryRunner { * @example * await client.queryRunner.getQuery("248df4b7-aa70-47b8-a036-33ac447e668d") */ - 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 +200,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 +218,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 +257,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/schemas/client/Client.ts b/src/api/resources/schemas/client/Client.ts index 69d9c80..03ebfef 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, }); } } @@ -127,6 +153,7 @@ export class Schemas { * @param {string} connectionId * @param {string} schemaId * @param {string} fieldId + * @param {Polytomic.SchemasDeleteFieldRequest} request * @param {Schemas.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.BadRequestError} @@ -137,12 +164,25 @@ 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, + request: Polytomic.SchemasDeleteFieldRequest = {}, + requestOptions?: Schemas.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise( + this.__deleteField(connectionId, schemaId, fieldId, request, requestOptions), + ); + } + + private async __deleteField( connectionId: string, schemaId: string, fieldId: string, + request: Polytomic.SchemasDeleteFieldRequest = {}, requestOptions?: Schemas.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -154,13 +194,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 +211,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 +250,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 +259,7 @@ export class Schemas { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -224,12 +278,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, - ): Promise { + ): 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> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -241,13 +306,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 +324,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 +363,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 +372,7 @@ export class Schemas { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -303,6 +382,7 @@ export class Schemas { * * @param {string} connectionId * @param {string} schemaId + * @param {Polytomic.SchemasResetPrimaryKeysRequest} request * @param {Schemas.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.BadRequestError} @@ -313,11 +393,23 @@ export class Schemas { * @example * await client.schemas.resetPrimaryKeys("248df4b7-aa70-47b8-a036-33ac447e668d", "public.users") */ - public async resetPrimaryKeys( + public resetPrimaryKeys( connectionId: string, schemaId: string, + request: Polytomic.SchemasResetPrimaryKeysRequest = {}, requestOptions?: Schemas.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise( + this.__resetPrimaryKeys(connectionId, schemaId, request, requestOptions), + ); + } + + private async __resetPrimaryKeys( + connectionId: string, + schemaId: string, + request: Polytomic.SchemasResetPrimaryKeysRequest = {}, + requestOptions?: Schemas.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -329,13 +421,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 +438,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 +477,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,12 +486,14 @@ export class Schemas { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } /** * @param {string} id + * @param {Polytomic.SchemasRefreshRequest} request * @param {Schemas.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.BadRequestError} @@ -397,7 +504,19 @@ 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, + request: Polytomic.SchemasRefreshRequest = {}, + requestOptions?: Schemas.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__refresh(id, request, requestOptions)); + } + + private async __refresh( + id: string, + request: Polytomic.SchemasRefreshRequest = {}, + requestOptions?: Schemas.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -409,13 +528,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 +545,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 +584,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 +593,7 @@ export class Schemas { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -469,6 +602,7 @@ export class Schemas { * Polytomic periodically inspects the schemas for connections to discover new fields and update metadata. This endpoint returns the current inspection status. * * @param {string} id + * @param {Polytomic.SchemasGetStatusRequest} request * @param {Schemas.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.BadRequestError} @@ -479,10 +613,19 @@ export class Schemas { * @example * await client.schemas.getStatus("248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async getStatus( + public getStatus( + id: string, + request: Polytomic.SchemasGetStatusRequest = {}, + requestOptions?: Schemas.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getStatus(id, request, requestOptions)); + } + + private async __getStatus( id: string, + request: Polytomic.SchemasGetStatusRequest = {}, requestOptions?: Schemas.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -494,13 +637,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 +654,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 +696,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 +705,7 @@ export class Schemas { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -553,6 +713,7 @@ export class Schemas { /** * @param {string} id * @param {string} schemaId + * @param {Polytomic.SchemasGetRequest} request * @param {Schemas.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.BadRequestError} @@ -563,11 +724,21 @@ export class Schemas { * @example * await client.schemas.get("248df4b7-aa70-47b8-a036-33ac447e668d", "public.users") */ - public async get( + public get( id: string, schemaId: string, + request: Polytomic.SchemasGetRequest = {}, requestOptions?: Schemas.RequestOptions, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(id, schemaId, request, requestOptions)); + } + + private async __get( + id: string, + schemaId: string, + request: Polytomic.SchemasGetRequest = {}, + requestOptions?: Schemas.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -579,13 +750,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 +767,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 +809,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 +818,7 @@ export class Schemas { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -638,6 +826,7 @@ export class Schemas { /** * @param {string} id * @param {string} schemaId + * @param {Polytomic.SchemasGetRecordsRequest} request * @param {Schemas.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.BadRequestError} @@ -649,11 +838,21 @@ export class Schemas { * @example * await client.schemas.getRecords("248df4b7-aa70-47b8-a036-33ac447e668d", "public.users") */ - public async getRecords( + public getRecords( + id: string, + schemaId: string, + request: Polytomic.SchemasGetRecordsRequest = {}, + requestOptions?: Schemas.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getRecords(id, schemaId, request, requestOptions)); + } + + private async __getRecords( id: string, schemaId: string, + request: Polytomic.SchemasGetRecordsRequest = {}, requestOptions?: Schemas.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -665,13 +864,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 +881,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 +928,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 +937,7 @@ export class Schemas { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } diff --git a/src/api/resources/schemas/client/requests/SchemasDeleteFieldRequest.ts b/src/api/resources/schemas/client/requests/SchemasDeleteFieldRequest.ts new file mode 100644 index 0000000..3a376b6 --- /dev/null +++ b/src/api/resources/schemas/client/requests/SchemasDeleteFieldRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface SchemasDeleteFieldRequest {} diff --git a/src/api/resources/schemas/client/requests/SchemasGetRecordsRequest.ts b/src/api/resources/schemas/client/requests/SchemasGetRecordsRequest.ts new file mode 100644 index 0000000..d8442cb --- /dev/null +++ b/src/api/resources/schemas/client/requests/SchemasGetRecordsRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface SchemasGetRecordsRequest {} diff --git a/src/api/resources/schemas/client/requests/SchemasGetRequest.ts b/src/api/resources/schemas/client/requests/SchemasGetRequest.ts new file mode 100644 index 0000000..d53054a --- /dev/null +++ b/src/api/resources/schemas/client/requests/SchemasGetRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface SchemasGetRequest {} diff --git a/src/api/resources/schemas/client/requests/SchemasGetStatusRequest.ts b/src/api/resources/schemas/client/requests/SchemasGetStatusRequest.ts new file mode 100644 index 0000000..efb9b0b --- /dev/null +++ b/src/api/resources/schemas/client/requests/SchemasGetStatusRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface SchemasGetStatusRequest {} diff --git a/src/api/resources/schemas/client/requests/SchemasRefreshRequest.ts b/src/api/resources/schemas/client/requests/SchemasRefreshRequest.ts new file mode 100644 index 0000000..b30c830 --- /dev/null +++ b/src/api/resources/schemas/client/requests/SchemasRefreshRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface SchemasRefreshRequest {} diff --git a/src/api/resources/schemas/client/requests/SchemasResetPrimaryKeysRequest.ts b/src/api/resources/schemas/client/requests/SchemasResetPrimaryKeysRequest.ts new file mode 100644 index 0000000..be72967 --- /dev/null +++ b/src/api/resources/schemas/client/requests/SchemasResetPrimaryKeysRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface SchemasResetPrimaryKeysRequest {} diff --git a/src/api/resources/schemas/client/requests/SetPrimaryKeysRequest.ts b/src/api/resources/schemas/client/requests/SetPrimaryKeysRequest.ts index 68065e8..087b22b 100644 --- a/src/api/resources/schemas/client/requests/SetPrimaryKeysRequest.ts +++ b/src/api/resources/schemas/client/requests/SetPrimaryKeysRequest.ts @@ -9,5 +9,5 @@ import * as Polytomic from "../../../../index"; * {} */ export interface SetPrimaryKeysRequest { - fields?: Polytomic.SchemaPrimaryKeyOverrideInput[]; + fields?: Polytomic.SchemaPrimaryKeyOverrideInput[] | null; } diff --git a/src/api/resources/schemas/client/requests/UpsertSchemaFieldRequest.ts b/src/api/resources/schemas/client/requests/UpsertSchemaFieldRequest.ts index 21a7ce2..ea7bea0 100644 --- a/src/api/resources/schemas/client/requests/UpsertSchemaFieldRequest.ts +++ b/src/api/resources/schemas/client/requests/UpsertSchemaFieldRequest.ts @@ -9,5 +9,5 @@ import * as Polytomic from "../../../../index"; * {} */ export interface UpsertSchemaFieldRequest { - fields?: Polytomic.V4UserFieldRequest[]; + fields?: Polytomic.V4UserFieldRequest[] | null; } diff --git a/src/api/resources/schemas/client/requests/index.ts b/src/api/resources/schemas/client/requests/index.ts index 30bec47..6bea874 100644 --- a/src/api/resources/schemas/client/requests/index.ts +++ b/src/api/resources/schemas/client/requests/index.ts @@ -1,2 +1,8 @@ export { type UpsertSchemaFieldRequest } from "./UpsertSchemaFieldRequest"; +export { type SchemasDeleteFieldRequest } from "./SchemasDeleteFieldRequest"; export { type SetPrimaryKeysRequest } from "./SetPrimaryKeysRequest"; +export { type SchemasResetPrimaryKeysRequest } from "./SchemasResetPrimaryKeysRequest"; +export { type SchemasRefreshRequest } from "./SchemasRefreshRequest"; +export { type SchemasGetStatusRequest } from "./SchemasGetStatusRequest"; +export { type SchemasGetRequest } from "./SchemasGetRequest"; +export { type SchemasGetRecordsRequest } from "./SchemasGetRecordsRequest"; diff --git a/src/api/resources/users/client/Client.ts b/src/api/resources/users/client/Client.ts index d9e2bf7..92ba094 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; } @@ -37,6 +38,7 @@ export class Users { /** * @param {string} orgId + * @param {Polytomic.UsersListRequest} request * @param {Users.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -46,7 +48,19 @@ 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, + request: Polytomic.UsersListRequest = {}, + requestOptions?: Users.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__list(orgId, request, requestOptions)); + } + + private async __list( + orgId: string, + request: Polytomic.UsersListRequest = {}, + requestOptions?: Users.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -58,13 +72,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 +89,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 +123,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 +132,7 @@ export class Users { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -127,11 +152,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 +176,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 +194,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 +233,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,13 +242,15 @@ export class Users { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } /** - * @param {string} id * @param {string} orgId + * @param {string} id + * @param {Polytomic.UsersGetRequest} request * @param {Users.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -213,11 +261,21 @@ export class Users { * @example * await client.users.get("248df4b7-aa70-47b8-a036-33ac447e668d", "248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async get( + public get( + orgId: string, id: string, + request: Polytomic.UsersGetRequest = {}, + requestOptions?: Users.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(orgId, id, request, requestOptions)); + } + + private async __get( orgId: string, + id: string, + request: Polytomic.UsersGetRequest = {}, requestOptions?: Users.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -229,13 +287,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 +304,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 +343,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,13 +352,14 @@ export class Users { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } /** - * @param {string} id * @param {string} orgId + * @param {string} id * @param {Polytomic.UpdateUserRequestSchema} request * @param {Users.RequestOptions} requestOptions - Request-specific configuration. * @@ -301,12 +373,21 @@ export class Users { * email: "mail@example.com" * }) */ - public async update( + public update( + orgId: string, id: string, + request: Polytomic.UpdateUserRequestSchema, + requestOptions?: Users.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(orgId, id, request, requestOptions)); + } + + private async __update( orgId: string, + id: string, request: Polytomic.UpdateUserRequestSchema, requestOptions?: Users.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -318,13 +399,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 +417,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 +456,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,13 +465,15 @@ export class Users { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } /** - * @param {string} id * @param {string} orgId + * @param {string} id + * @param {Polytomic.UsersRemoveRequest} request * @param {Users.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -388,11 +484,21 @@ export class Users { * @example * await client.users.remove("248df4b7-aa70-47b8-a036-33ac447e668d", "248df4b7-aa70-47b8-a036-33ac447e668d") */ - public async remove( + public remove( + orgId: string, id: string, + request: Polytomic.UsersRemoveRequest = {}, + requestOptions?: Users.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__remove(orgId, id, request, requestOptions)); + } + + private async __remove( orgId: string, + id: string, + request: Polytomic.UsersRemoveRequest = {}, requestOptions?: Users.RequestOptions, - ): Promise { + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -404,13 +510,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 +527,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 +566,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 +575,7 @@ export class Users { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } @@ -471,6 +591,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 +600,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 +632,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 +650,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 +689,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 +698,7 @@ export class Users { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } diff --git a/src/api/resources/users/client/requests/UsersGetRequest.ts b/src/api/resources/users/client/requests/UsersGetRequest.ts new file mode 100644 index 0000000..d67f3e9 --- /dev/null +++ b/src/api/resources/users/client/requests/UsersGetRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface UsersGetRequest {} diff --git a/src/api/resources/users/client/requests/UsersListRequest.ts b/src/api/resources/users/client/requests/UsersListRequest.ts new file mode 100644 index 0000000..4da668c --- /dev/null +++ b/src/api/resources/users/client/requests/UsersListRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface UsersListRequest {} diff --git a/src/api/resources/users/client/requests/UsersRemoveRequest.ts b/src/api/resources/users/client/requests/UsersRemoveRequest.ts new file mode 100644 index 0000000..935e310 --- /dev/null +++ b/src/api/resources/users/client/requests/UsersRemoveRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface UsersRemoveRequest {} diff --git a/src/api/resources/users/client/requests/index.ts b/src/api/resources/users/client/requests/index.ts index e1d3dd7..0336ffb 100644 --- a/src/api/resources/users/client/requests/index.ts +++ b/src/api/resources/users/client/requests/index.ts @@ -1,3 +1,6 @@ +export { type UsersListRequest } from "./UsersListRequest"; export { type CreateUserRequestSchema } from "./CreateUserRequestSchema"; +export { type UsersGetRequest } from "./UsersGetRequest"; export { type UpdateUserRequestSchema } from "./UpdateUserRequestSchema"; +export { type UsersRemoveRequest } from "./UsersRemoveRequest"; export { type UsersCreateApiKeyRequest } from "./UsersCreateApiKeyRequest"; diff --git a/src/api/resources/webhooks/client/Client.ts b/src/api/resources/webhooks/client/Client.ts index 49e8a81..642675e 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, - ): Promise { + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); + } + + private async __create( + request: Polytomic.CreateWebhooksSchema, + requestOptions?: Webhooks.RequestOptions, + ): 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, }); } } @@ -208,6 +241,7 @@ export class Webhooks { * Consult the [Events documentation](https://apidocs.polytomic.com/guides/events) for more information. * * @param {string} id + * @param {Polytomic.WebhooksGetRequest} request * @param {Webhooks.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -216,7 +250,19 @@ 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, + request: Polytomic.WebhooksGetRequest = {}, + requestOptions?: Webhooks.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(id, request, requestOptions)); + } + + private async __get( + id: string, + request: Polytomic.WebhooksGetRequest = {}, + requestOptions?: Webhooks.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -228,13 +274,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 +291,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 +320,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 +353,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 +377,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 +395,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,18 +429,21 @@ 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, }); } } /** * @param {string} id + * @param {Polytomic.WebhooksRemoveRequest} request * @param {Webhooks.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -379,7 +453,19 @@ 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, + request: Polytomic.WebhooksRemoveRequest = {}, + requestOptions?: Webhooks.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__remove(id, request, requestOptions)); + } + + private async __remove( + id: string, + request: Polytomic.WebhooksRemoveRequest = {}, + requestOptions?: Webhooks.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -391,13 +477,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 +494,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,18 +528,21 @@ 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, }); } } /** * @param {string} id + * @param {Polytomic.WebhooksDisableRequest} request * @param {Webhooks.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -454,7 +552,19 @@ 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, + request: Polytomic.WebhooksDisableRequest = {}, + requestOptions?: Webhooks.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__disable(id, request, requestOptions)); + } + + private async __disable( + id: string, + request: Polytomic.WebhooksDisableRequest = {}, + requestOptions?: Webhooks.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -466,13 +576,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 +593,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 +627,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,12 +636,14 @@ export class Webhooks { case "unknown": throw new errors.PolytomicError({ message: _response.error.errorMessage, + rawResponse: _response.rawResponse, }); } } /** * @param {string} id + * @param {Polytomic.WebhooksEnableRequest} request * @param {Webhooks.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Polytomic.UnauthorizedError} @@ -531,7 +653,19 @@ 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, + request: Polytomic.WebhooksEnableRequest = {}, + requestOptions?: Webhooks.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__enable(id, request, requestOptions)); + } + + private async __enable( + id: string, + request: Polytomic.WebhooksEnableRequest = {}, + requestOptions?: Webhooks.RequestOptions, + ): Promise> { const _response = await core.fetcher({ url: urlJoin( (await core.Supplier.get(this._options.baseUrl)) ?? @@ -543,13 +677,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 +694,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 +728,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/resources/webhooks/client/requests/CreateWebhooksSchema.ts b/src/api/resources/webhooks/client/requests/CreateWebhooksSchema.ts index 157d952..f0bd3f2 100644 --- a/src/api/resources/webhooks/client/requests/CreateWebhooksSchema.ts +++ b/src/api/resources/webhooks/client/requests/CreateWebhooksSchema.ts @@ -11,6 +11,6 @@ */ export interface CreateWebhooksSchema { endpoint: string; - organization_id?: string; + organization_id?: string | null; secret: string; } diff --git a/src/api/resources/webhooks/client/requests/UpdateWebhooksSchema.ts b/src/api/resources/webhooks/client/requests/UpdateWebhooksSchema.ts index caefab0..2c6d901 100644 --- a/src/api/resources/webhooks/client/requests/UpdateWebhooksSchema.ts +++ b/src/api/resources/webhooks/client/requests/UpdateWebhooksSchema.ts @@ -11,6 +11,6 @@ */ export interface UpdateWebhooksSchema { endpoint: string; - organization_id?: string; + organization_id?: string | null; secret: string; } diff --git a/src/api/resources/webhooks/client/requests/WebhooksDisableRequest.ts b/src/api/resources/webhooks/client/requests/WebhooksDisableRequest.ts new file mode 100644 index 0000000..df30511 --- /dev/null +++ b/src/api/resources/webhooks/client/requests/WebhooksDisableRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface WebhooksDisableRequest {} diff --git a/src/api/resources/webhooks/client/requests/WebhooksEnableRequest.ts b/src/api/resources/webhooks/client/requests/WebhooksEnableRequest.ts new file mode 100644 index 0000000..92c8ef5 --- /dev/null +++ b/src/api/resources/webhooks/client/requests/WebhooksEnableRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface WebhooksEnableRequest {} diff --git a/src/api/resources/webhooks/client/requests/WebhooksGetRequest.ts b/src/api/resources/webhooks/client/requests/WebhooksGetRequest.ts new file mode 100644 index 0000000..48b4350 --- /dev/null +++ b/src/api/resources/webhooks/client/requests/WebhooksGetRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface WebhooksGetRequest {} diff --git a/src/api/resources/webhooks/client/requests/WebhooksRemoveRequest.ts b/src/api/resources/webhooks/client/requests/WebhooksRemoveRequest.ts new file mode 100644 index 0000000..98b7950 --- /dev/null +++ b/src/api/resources/webhooks/client/requests/WebhooksRemoveRequest.ts @@ -0,0 +1,9 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +/** + * @example + * {} + */ +export interface WebhooksRemoveRequest {} diff --git a/src/api/resources/webhooks/client/requests/index.ts b/src/api/resources/webhooks/client/requests/index.ts index a601173..bc3ba98 100644 --- a/src/api/resources/webhooks/client/requests/index.ts +++ b/src/api/resources/webhooks/client/requests/index.ts @@ -1,2 +1,6 @@ export { type CreateWebhooksSchema } from "./CreateWebhooksSchema"; +export { type WebhooksGetRequest } from "./WebhooksGetRequest"; export { type UpdateWebhooksSchema } from "./UpdateWebhooksSchema"; +export { type WebhooksRemoveRequest } from "./WebhooksRemoveRequest"; +export { type WebhooksDisableRequest } from "./WebhooksDisableRequest"; +export { type WebhooksEnableRequest } from "./WebhooksEnableRequest"; diff --git a/src/api/types/BackendOAuthPrompt.ts b/src/api/types/BackendOAuthPrompt.ts index 26c636e..fa27f58 100644 --- a/src/api/types/BackendOAuthPrompt.ts +++ b/src/api/types/BackendOAuthPrompt.ts @@ -3,7 +3,7 @@ */ export interface BackendOAuthPrompt { - key?: string; - value?: string; + key?: string | null; + value?: string | null; when?: string; } diff --git a/src/api/types/BulkBulkSyncSchedule.ts b/src/api/types/BulkBulkSyncSchedule.ts index 1aa6999..4226a78 100644 --- a/src/api/types/BulkBulkSyncSchedule.ts +++ b/src/api/types/BulkBulkSyncSchedule.ts @@ -15,7 +15,7 @@ export interface BulkBulkSyncSchedule { hour?: string; minute?: string; month?: string; - schemas?: string[]; + schemas?: string[] | null; selectiveMode?: Polytomic.BulkSelectiveMode; syncId?: string; syncMode?: Polytomic.BulkScheduleSyncMode; diff --git a/src/api/types/BulkFilter2.ts b/src/api/types/BulkFilter2.ts new file mode 100644 index 0000000..03932be --- /dev/null +++ b/src/api/types/BulkFilter2.ts @@ -0,0 +1,12 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +import * as Polytomic from "../index"; + +export interface BulkFilter2 { + /** Schema field ID to filter on. */ + field_id?: string; + function: Polytomic.FilterFunction; + value?: unknown; +} diff --git a/src/api/types/BulkMultiScheduleConfiguration.ts b/src/api/types/BulkMultiScheduleConfiguration.ts index 222e78a..2633e19 100644 --- a/src/api/types/BulkMultiScheduleConfiguration.ts +++ b/src/api/types/BulkMultiScheduleConfiguration.ts @@ -5,6 +5,6 @@ import * as Polytomic from "../index"; export interface BulkMultiScheduleConfiguration { - schedules?: Polytomic.BulkItemizedSchedule[]; - type?: string; + schedules: Polytomic.BulkItemizedSchedule[] | null; + type?: string | null; } diff --git a/src/api/types/BulkSchema.ts b/src/api/types/BulkSchema.ts index a2ef276..31699bf 100644 --- a/src/api/types/BulkSchema.ts +++ b/src/api/types/BulkSchema.ts @@ -5,11 +5,13 @@ import * as Polytomic from "../index"; export interface BulkSchema { - data_cutoff_timestamp?: string; + data_cutoff_timestamp?: string | null; 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?: Polytomic.BulkFilter[]; + /** filters is not populated on the list endpoint and will be removed in a future version; retrieve individual schemas for filters. */ + filters?: Polytomic.BulkFilter2[]; id?: string; output_name?: string; partition_key?: 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/BulkSyncDest.ts b/src/api/types/BulkSyncDest.ts index 9729d44..2cea56b 100644 --- a/src/api/types/BulkSyncDest.ts +++ b/src/api/types/BulkSyncDest.ts @@ -5,6 +5,6 @@ import * as Polytomic from "../index"; export interface BulkSyncDest { - configuration?: Record; - modes?: Polytomic.SupportedBulkMode[]; + configuration?: Record | null; + modes?: Polytomic.SupportedBulkMode[] | null; } diff --git a/src/api/types/BulkSyncExecution.ts b/src/api/types/BulkSyncExecution.ts index a12f466..ff9cb46 100644 --- a/src/api/types/BulkSyncExecution.ts +++ b/src/api/types/BulkSyncExecution.ts @@ -5,7 +5,7 @@ import * as Polytomic from "../index"; export interface BulkSyncExecution { - completed_at?: string; + completed_at?: string | null; created_at?: string; error_count?: number; fetch_mode?: Polytomic.BulkFetchMode; @@ -14,8 +14,8 @@ export interface BulkSyncExecution { is_resync?: boolean; is_test?: boolean; record_count?: number; - schemas?: Polytomic.BulkSyncSchemaExecution[]; - started_at?: string; + schemas?: Polytomic.BulkSyncSchemaExecution[] | null; + started_at?: string | null; status?: Polytomic.BulkExecutionStatus; status_message?: string; type?: string; diff --git a/src/api/types/BulkSyncExecutionStatus.ts b/src/api/types/BulkSyncExecutionStatus.ts index ceb06cb..15b359d 100644 --- a/src/api/types/BulkSyncExecutionStatus.ts +++ b/src/api/types/BulkSyncExecutionStatus.ts @@ -5,8 +5,8 @@ import * as Polytomic from "../index"; export interface BulkSyncExecutionStatus { - nextExecutionTime?: string; - schemas?: Polytomic.BulkSyncSchemaExecutionStatus[]; + nextExecutionTime?: string | null; + schemas?: Polytomic.BulkSyncSchemaExecutionStatus[] | null; status?: Polytomic.BulkExecutionStatus; sync_id?: string; } diff --git a/src/api/types/BulkSyncIngestionStatus.ts b/src/api/types/BulkSyncIngestionStatus.ts new file mode 100644 index 0000000..a764bd8 --- /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 | null; + status?: Polytomic.IngestionStatusLevel; + status_message?: string; + updated_at?: string; +} diff --git a/src/api/types/BulkSyncListEnvelope.ts b/src/api/types/BulkSyncListEnvelope.ts index 209921a..72ccbf1 100644 --- a/src/api/types/BulkSyncListEnvelope.ts +++ b/src/api/types/BulkSyncListEnvelope.ts @@ -5,5 +5,5 @@ import * as Polytomic from "../index"; export interface BulkSyncListEnvelope { - data?: Polytomic.BulkSyncResponse[]; + data?: Polytomic.BulkSyncResponse[] | null; } diff --git a/src/api/types/BulkSyncResponse.ts b/src/api/types/BulkSyncResponse.ts index 13fc220..c2d7516 100644 --- a/src/api/types/BulkSyncResponse.ts +++ b/src/api/types/BulkSyncResponse.ts @@ -6,32 +6,32 @@ import * as Polytomic from "../index"; export interface BulkSyncResponse { active?: boolean; - automatically_add_new_fields?: Polytomic.BulkDiscover; - automatically_add_new_objects?: Polytomic.BulkDiscover; + automatically_add_new_fields?: Polytomic.BulkDiscover | null; + automatically_add_new_objects?: Polytomic.BulkDiscover | null; /** Per-sync concurrency limit override. */ - concurrency_limit?: number; + concurrency_limit?: number | null; created_at?: string; created_by?: Polytomic.CommonOutputActor; - data_cutoff_timestamp?: string; + data_cutoff_timestamp?: string | null; /** Destination-specific bulk sync configuration. e.g. output schema name, s3 file format, etc. */ - destination_configuration?: Record; + destination_configuration?: Record | null; destination_connection_id?: string; disable_record_timestamps?: boolean; /** DEPRECATED: Use automatically_add_new_objects/automatically_add_new_fields instead */ discover?: boolean; id?: string; - mode?: Polytomic.BulkSyncMode; + mode?: Polytomic.BulkSyncMode | null; /** Name of the bulk sync */ name?: string; - normalize_names?: Polytomic.BulkNormalizeNames; + normalize_names?: Polytomic.BulkNormalizeNames | null; organization_id?: string; /** List of permissions policies applied to the bulk sync. */ policies?: string[]; /** Per-sync resync concurrency limit override. */ - resync_concurrency_limit?: number; + resync_concurrency_limit?: number | null; schedule?: Polytomic.BulkSchedule; /** Source-specific bulk sync configuration. e.g. replication slot name, sync lookback, etc. */ - source_configuration?: Record; + source_configuration?: Record | null; source_connection_id?: string; updated_at?: string; updated_by?: Polytomic.CommonOutputActor; diff --git a/src/api/types/BulkSyncSchemaExecution.ts b/src/api/types/BulkSyncSchemaExecution.ts index e138b47..ef991cc 100644 --- a/src/api/types/BulkSyncSchemaExecution.ts +++ b/src/api/types/BulkSyncSchemaExecution.ts @@ -5,13 +5,13 @@ import * as Polytomic from "../index"; export interface BulkSyncSchemaExecution { - completed_at?: string; + completed_at?: string | null; created_at?: string; error_count?: number; output_name?: string; record_count?: number; schema?: string; - started_at?: string; + started_at?: string | null; status?: Polytomic.BulkSchemaExecutionStatus; status_message?: string; updated_at?: string; diff --git a/src/api/types/BulkSyncSchemaExecutionStatus.ts b/src/api/types/BulkSyncSchemaExecutionStatus.ts index 2e21809..2270e51 100644 --- a/src/api/types/BulkSyncSchemaExecutionStatus.ts +++ b/src/api/types/BulkSyncSchemaExecutionStatus.ts @@ -5,13 +5,13 @@ import * as Polytomic from "../index"; export interface BulkSyncSchemaExecutionStatus { - completed_at?: string; + completed_at?: string | null; error_count?: number; /** ID of the most recent execution for the schema. */ execution_id?: string; record_count?: number; schema?: string; - started_at?: string; + started_at?: string | null; status?: Polytomic.BulkSchemaExecutionStatus; status_message?: string; warning_count?: number; diff --git a/src/api/types/BulkSyncSource.ts b/src/api/types/BulkSyncSource.ts index 02c90ae..8509cad 100644 --- a/src/api/types/BulkSyncSource.ts +++ b/src/api/types/BulkSyncSource.ts @@ -6,5 +6,5 @@ import * as Polytomic from "../index"; export interface BulkSyncSource { configuration?: unknown; - schemas?: Polytomic.Schema[]; + schemas?: Polytomic.Schema[] | null; } diff --git a/src/api/types/BulkSyncSourceStatus.ts b/src/api/types/BulkSyncSourceStatus.ts index 7a29ae5..27488b5 100644 --- a/src/api/types/BulkSyncSourceStatus.ts +++ b/src/api/types/BulkSyncSourceStatus.ts @@ -4,6 +4,6 @@ export interface BulkSyncSourceStatus { cache_status?: string; - last_refresh_finished?: string; - last_refresh_started?: string; + last_refresh_finished?: string | null; + last_refresh_started?: string | null; } diff --git a/src/api/types/BulkSyncStatusResponse.ts b/src/api/types/BulkSyncStatusResponse.ts index ef264a4..716917f 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; + next_execution_time?: string | null; } diff --git a/src/api/types/ConfigurationValue2.ts b/src/api/types/ConfigurationValue2.ts new file mode 100644 index 0000000..b5e687e --- /dev/null +++ b/src/api/types/ConfigurationValue2.ts @@ -0,0 +1,8 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface ConfigurationValue2 { + items?: unknown[]; + type?: string; +} diff --git a/src/api/types/ConnectionListResponseEnvelope.ts b/src/api/types/ConnectionListResponseEnvelope.ts index 237683d..795a08b 100644 --- a/src/api/types/ConnectionListResponseEnvelope.ts +++ b/src/api/types/ConnectionListResponseEnvelope.ts @@ -5,5 +5,5 @@ import * as Polytomic from "../index"; export interface ConnectionListResponseEnvelope { - data?: Polytomic.ConnectionResponseSchema[]; + data?: Polytomic.ConnectionResponseSchema[] | null; } diff --git a/src/api/types/ConnectionMeta.ts b/src/api/types/ConnectionMeta.ts index 7f56f08..4142cf4 100644 --- a/src/api/types/ConnectionMeta.ts +++ b/src/api/types/ConnectionMeta.ts @@ -4,6 +4,6 @@ export interface ConnectionMeta { has_items?: boolean; - items?: unknown[]; - requires_one_of?: string[]; + items?: unknown[] | null; + requires_one_of?: string[] | null; } diff --git a/src/api/types/ConnectionMetaResponse.ts b/src/api/types/ConnectionMetaResponse.ts index 7d5baa6..9e81ca5 100644 --- a/src/api/types/ConnectionMetaResponse.ts +++ b/src/api/types/ConnectionMetaResponse.ts @@ -6,6 +6,6 @@ import * as Polytomic from "../index"; export interface ConnectionMetaResponse { configuration?: Record; - items?: Record; - requires_one_of?: string[]; + items?: Record | null; + requires_one_of?: string[] | null; } diff --git a/src/api/types/ConnectionParameterValue.ts b/src/api/types/ConnectionParameterValue.ts index 24409ee..03ad1cf 100644 --- a/src/api/types/ConnectionParameterValue.ts +++ b/src/api/types/ConnectionParameterValue.ts @@ -3,6 +3,6 @@ */ export interface ConnectionParameterValue { - label?: string; + label?: string | null; value?: unknown; } diff --git a/src/api/types/ConnectionParameterValuesResp.ts b/src/api/types/ConnectionParameterValuesResp.ts index 98a818a..a0b9955 100644 --- a/src/api/types/ConnectionParameterValuesResp.ts +++ b/src/api/types/ConnectionParameterValuesResp.ts @@ -6,5 +6,5 @@ import * as Polytomic from "../index"; export interface ConnectionParameterValuesResp { allows_creation?: boolean; - values?: Polytomic.ConnectionParameterValue[]; + values?: Polytomic.ConnectionParameterValue[] | null; } diff --git a/src/api/types/ConnectionParameterValuesResponseEnvelope.ts b/src/api/types/ConnectionParameterValuesResponseEnvelope.ts index 6cb8586..fdb6c78 100644 --- a/src/api/types/ConnectionParameterValuesResponseEnvelope.ts +++ b/src/api/types/ConnectionParameterValuesResponseEnvelope.ts @@ -5,5 +5,5 @@ import * as Polytomic from "../index"; export interface ConnectionParameterValuesResponseEnvelope { - data?: Record; + data?: Record | null; } diff --git a/src/api/types/ConnectionResponseSchema.ts b/src/api/types/ConnectionResponseSchema.ts index d230d93..b1e4245 100644 --- a/src/api/types/ConnectionResponseSchema.ts +++ b/src/api/types/ConnectionResponseSchema.ts @@ -6,8 +6,8 @@ import * as Polytomic from "../index"; export interface ConnectionResponseSchema { /** API calls made to service in the last 24h (supported integrations only). */ - api_calls_last_24_hours?: number; - configuration?: Record; + api_calls_last_24_hours?: number | null; + configuration?: Record | null; created_at?: string; created_by?: Polytomic.CommonOutputActor; id?: string; diff --git a/src/api/types/ConnectionTypeResponseEnvelope.ts b/src/api/types/ConnectionTypeResponseEnvelope.ts index fbda2ab..508d3a0 100644 --- a/src/api/types/ConnectionTypeResponseEnvelope.ts +++ b/src/api/types/ConnectionTypeResponseEnvelope.ts @@ -5,5 +5,5 @@ import * as Polytomic from "../index"; export interface ConnectionTypeResponseEnvelope { - data?: Polytomic.ConnectionType[]; + data?: Polytomic.ConnectionType[] | null; } diff --git a/src/api/types/ConnectionTypeSchema.ts b/src/api/types/ConnectionTypeSchema.ts index 9cf6150..cfc782a 100644 --- a/src/api/types/ConnectionTypeSchema.ts +++ b/src/api/types/ConnectionTypeSchema.ts @@ -6,5 +6,5 @@ export interface ConnectionTypeSchema { id?: string; logo_url?: string; name?: string; - operations?: string[]; + operations?: string[] | null; } diff --git a/src/api/types/CreateConnectionResponseSchema.ts b/src/api/types/CreateConnectionResponseSchema.ts index 572f622..d19c9fb 100644 --- a/src/api/types/CreateConnectionResponseSchema.ts +++ b/src/api/types/CreateConnectionResponseSchema.ts @@ -9,7 +9,7 @@ export interface CreateConnectionResponseSchema { auth_code?: string; /** URL to visit to complete connection authentication. */ auth_url?: string; - configuration?: Record; + configuration?: Record | null; /** Interval for connection health checking. */ healthcheck_interval?: string; id?: string; diff --git a/src/api/types/CreateModelRequest.ts b/src/api/types/CreateModelRequest.ts index 8703d3d..afc7307 100644 --- a/src/api/types/CreateModelRequest.ts +++ b/src/api/types/CreateModelRequest.ts @@ -5,16 +5,16 @@ import * as Polytomic from "../index"; export interface CreateModelRequest { - additional_fields?: Polytomic.ModelModelFieldRequest[]; + additional_fields?: Polytomic.ModelModelFieldRequest[] | null; configuration: Record; connection_id: string; enricher?: Polytomic.Enrichment; - fields?: string[]; + fields?: string[] | null; identifier?: string; - labels?: string[]; + labels?: string[] | null; name: string; - organization_id?: string; - policies?: string[]; - relations?: Polytomic.ModelRelation[]; - tracking_columns?: string[]; + organization_id?: string | null; + policies?: string[] | null; + relations?: Polytomic.ModelRelation[] | null; + tracking_columns?: string[] | null; } diff --git a/src/api/types/EventTypesEnvelope.ts b/src/api/types/EventTypesEnvelope.ts index 272d26b..2b4aba8 100644 --- a/src/api/types/EventTypesEnvelope.ts +++ b/src/api/types/EventTypesEnvelope.ts @@ -3,5 +3,5 @@ */ export interface EventTypesEnvelope { - data?: string[]; + data?: string[] | null; } diff --git a/src/api/types/EventsEnvelope.ts b/src/api/types/EventsEnvelope.ts index 4c708c8..da1f0d1 100644 --- a/src/api/types/EventsEnvelope.ts +++ b/src/api/types/EventsEnvelope.ts @@ -5,5 +5,5 @@ import * as Polytomic from "../index"; export interface EventsEnvelope { - data?: Polytomic.Event[]; + data?: Polytomic.Event[] | null; } diff --git a/src/api/types/ExecutionLogResponse.ts b/src/api/types/ExecutionLogResponse.ts index 04fc14e..da44b2e 100644 --- a/src/api/types/ExecutionLogResponse.ts +++ b/src/api/types/ExecutionLogResponse.ts @@ -3,6 +3,6 @@ */ export interface ExecutionLogResponse { - expires?: string; - urls?: string[]; + expires?: string | null; + urls?: string[] | null; } diff --git a/src/api/types/FieldConfiguration.ts b/src/api/types/FieldConfiguration.ts index 00eef4c..40a790f 100644 --- a/src/api/types/FieldConfiguration.ts +++ b/src/api/types/FieldConfiguration.ts @@ -4,8 +4,8 @@ export interface FieldConfiguration { /** Whether the field is enabled for syncing. */ - enabled?: boolean; + enabled?: boolean | null; id?: string; /** Whether the field should be obfuscated. */ - obfuscate?: boolean; + obfuscate?: boolean | null; } diff --git a/src/api/types/GetExecutionResponseSchema.ts b/src/api/types/GetExecutionResponseSchema.ts index 7f31ff2..c771c76 100644 --- a/src/api/types/GetExecutionResponseSchema.ts +++ b/src/api/types/GetExecutionResponseSchema.ts @@ -5,12 +5,12 @@ import * as Polytomic from "../index"; export interface GetExecutionResponseSchema { - completed_at?: string; + completed_at?: string | null; counts?: Polytomic.ExecutionCounts; created_at?: string; errors?: string[]; id?: string; - started_at?: string; + started_at?: string | null; status?: Polytomic.ExecutionStatus; type?: string; } diff --git a/src/api/types/Identity.ts b/src/api/types/Identity.ts index f05cbfe..578d04d 100644 --- a/src/api/types/Identity.ts +++ b/src/api/types/Identity.ts @@ -7,7 +7,7 @@ import * as Polytomic from "../index"; export interface Identity { function: Polytomic.SchemaIdentityFunction; new_field?: boolean; - remote_field_type_id?: string; + remote_field_type_id?: string | null; source: Polytomic.Source; target: string; } 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/JobResponse.ts b/src/api/types/JobResponse.ts index edce1ca..dfb560e 100644 --- a/src/api/types/JobResponse.ts +++ b/src/api/types/JobResponse.ts @@ -5,7 +5,7 @@ import * as Polytomic from "../index"; export interface JobResponse { - error?: string; + error?: string | null; job_id?: string; result?: unknown; status?: Polytomic.WorkTaskStatus; diff --git a/src/api/types/JsonschemaSchema.ts b/src/api/types/JsonschemaSchema.ts index 467ba50..e57b737 100644 --- a/src/api/types/JsonschemaSchema.ts +++ b/src/api/types/JsonschemaSchema.ts @@ -33,15 +33,15 @@ export interface JsonschemaSchema { format?: string; if?: Polytomic.JsonschemaSchema; items?: Polytomic.JsonschemaSchema; - maxContains?: number; - maxItems?: number; - maxLength?: number; - maxProperties?: number; + maxContains?: number | null; + maxItems?: number | null; + maxLength?: number | null; + maxProperties?: number | null; maximum?: string; - minContains?: number; - minItems?: number; - minLength?: number; - minProperties?: number; + minContains?: number | null; + minItems?: number | null; + minLength?: number | null; + minProperties?: number | null; minimum?: string; multipleOf?: string; not?: Polytomic.JsonschemaSchema; diff --git a/src/api/types/ListBulkSchema.ts b/src/api/types/ListBulkSchema.ts index 0966ac8..5fb64f2 100644 --- a/src/api/types/ListBulkSchema.ts +++ b/src/api/types/ListBulkSchema.ts @@ -5,5 +5,5 @@ import * as Polytomic from "../index"; export interface ListBulkSchema { - data?: Polytomic.BulkSchema[]; + data?: Polytomic.BulkSchema[] | null; } diff --git a/src/api/types/ListBulkSyncExecutionStatusEnvelope.ts b/src/api/types/ListBulkSyncExecutionStatusEnvelope.ts index e12a00b..13c16bc 100644 --- a/src/api/types/ListBulkSyncExecutionStatusEnvelope.ts +++ b/src/api/types/ListBulkSyncExecutionStatusEnvelope.ts @@ -5,5 +5,5 @@ import * as Polytomic from "../index"; export interface ListBulkSyncExecutionStatusEnvelope { - data?: Polytomic.BulkSyncExecutionStatus[]; + data?: Polytomic.BulkSyncExecutionStatus[] | null; } diff --git a/src/api/types/ListBulkSyncExecutionsEnvelope.ts b/src/api/types/ListBulkSyncExecutionsEnvelope.ts index 08a0a27..78381fc 100644 --- a/src/api/types/ListBulkSyncExecutionsEnvelope.ts +++ b/src/api/types/ListBulkSyncExecutionsEnvelope.ts @@ -5,6 +5,6 @@ import * as Polytomic from "../index"; export interface ListBulkSyncExecutionsEnvelope { - data?: Polytomic.BulkSyncExecution[]; - pagination?: Polytomic.PaginationDetails; + data?: Polytomic.BulkSyncExecution[] | null; + pagination?: Polytomic.PaginationDetails2; } diff --git a/src/api/types/ListExecutionResponseEnvelope.ts b/src/api/types/ListExecutionResponseEnvelope.ts index cdaa5f2..400ee9c 100644 --- a/src/api/types/ListExecutionResponseEnvelope.ts +++ b/src/api/types/ListExecutionResponseEnvelope.ts @@ -5,6 +5,6 @@ import * as Polytomic from "../index"; export interface ListExecutionResponseEnvelope { - data?: Polytomic.GetExecutionResponseSchema[]; + data?: Polytomic.GetExecutionResponseSchema[] | null; pagination?: Polytomic.PaginationDetails; } diff --git a/src/api/types/ListModelSyncResponseEnvelope.ts b/src/api/types/ListModelSyncResponseEnvelope.ts index 0b8e4b5..a9cd950 100644 --- a/src/api/types/ListModelSyncResponseEnvelope.ts +++ b/src/api/types/ListModelSyncResponseEnvelope.ts @@ -5,5 +5,5 @@ import * as Polytomic from "../index"; export interface ListModelSyncResponseEnvelope { - data?: Polytomic.ModelSyncResponse[]; + data?: Polytomic.ModelSyncResponse[] | null; } diff --git a/src/api/types/ListPoliciesResponseEnvelope.ts b/src/api/types/ListPoliciesResponseEnvelope.ts index 8c2529c..774a536 100644 --- a/src/api/types/ListPoliciesResponseEnvelope.ts +++ b/src/api/types/ListPoliciesResponseEnvelope.ts @@ -5,5 +5,5 @@ import * as Polytomic from "../index"; export interface ListPoliciesResponseEnvelope { - data?: Polytomic.PolicyResponse[]; + data?: Polytomic.PolicyResponse[] | null; } diff --git a/src/api/types/ListUsersEnvelope.ts b/src/api/types/ListUsersEnvelope.ts index 08cb199..71a66b6 100644 --- a/src/api/types/ListUsersEnvelope.ts +++ b/src/api/types/ListUsersEnvelope.ts @@ -5,5 +5,5 @@ import * as Polytomic from "../index"; export interface ListUsersEnvelope { - data?: Polytomic.User[]; + data?: Polytomic.User[] | null; } diff --git a/src/api/types/ModelFieldResponse.ts b/src/api/types/ModelFieldResponse.ts index 6ae4359..c05cb17 100644 --- a/src/api/types/ModelFieldResponse.ts +++ b/src/api/types/ModelFieldResponse.ts @@ -5,5 +5,5 @@ import * as Polytomic from "../index"; export interface ModelFieldResponse { - data?: Polytomic.ModelField[]; + data?: Polytomic.ModelField[] | null; } diff --git a/src/api/types/ModelListResponseEnvelope.ts b/src/api/types/ModelListResponseEnvelope.ts index 29905ed..485e0a5 100644 --- a/src/api/types/ModelListResponseEnvelope.ts +++ b/src/api/types/ModelListResponseEnvelope.ts @@ -5,5 +5,5 @@ import * as Polytomic from "../index"; export interface ModelListResponseEnvelope { - data?: Polytomic.ModelResponse[]; + data?: Polytomic.ModelResponse[] | null; } 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/ModelSyncSourceMetaResponse.ts b/src/api/types/ModelSyncSourceMetaResponse.ts index 6d1aa9e..2ca9280 100644 --- a/src/api/types/ModelSyncSourceMetaResponse.ts +++ b/src/api/types/ModelSyncSourceMetaResponse.ts @@ -5,7 +5,7 @@ import * as Polytomic from "../index"; export interface ModelSyncSourceMetaResponse { - configuration?: Record; - items?: Record; - requires_one_of?: string[]; + configuration?: Record; + items?: Record | null; + requires_one_of?: string[] | null; } diff --git a/src/api/types/OrganizationsEnvelope.ts b/src/api/types/OrganizationsEnvelope.ts index 9fc89e1..ecd094f 100644 --- a/src/api/types/OrganizationsEnvelope.ts +++ b/src/api/types/OrganizationsEnvelope.ts @@ -5,5 +5,5 @@ import * as Polytomic from "../index"; export interface OrganizationsEnvelope { - data?: Polytomic.Organization[]; + data?: Polytomic.Organization[] | null; } diff --git a/src/api/types/PaginationDetails2.ts b/src/api/types/PaginationDetails2.ts new file mode 100644 index 0000000..30f8582 --- /dev/null +++ b/src/api/types/PaginationDetails2.ts @@ -0,0 +1,7 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ + +export interface PaginationDetails2 { + next_page_token?: string; +} diff --git a/src/api/types/PolicyAction.ts b/src/api/types/PolicyAction.ts index dda2369..3d89267 100644 --- a/src/api/types/PolicyAction.ts +++ b/src/api/types/PolicyAction.ts @@ -4,5 +4,5 @@ export interface PolicyAction { action: string; - role_ids?: string[]; + role_ids: string[] | null; } diff --git a/src/api/types/RoleListResponseEnvelope.ts b/src/api/types/RoleListResponseEnvelope.ts index 82dea19..4c8f1d3 100644 --- a/src/api/types/RoleListResponseEnvelope.ts +++ b/src/api/types/RoleListResponseEnvelope.ts @@ -5,5 +5,5 @@ import * as Polytomic from "../index"; export interface RoleListResponseEnvelope { - data?: Polytomic.RoleResponse[]; + data?: Polytomic.RoleResponse[] | null; } diff --git a/src/api/types/Schedule.ts b/src/api/types/Schedule.ts index 347230e..7395f7e 100644 --- a/src/api/types/Schedule.ts +++ b/src/api/types/Schedule.ts @@ -6,14 +6,14 @@ import * as Polytomic from "../index"; export interface Schedule { connection_id?: string; - day_of_month?: string; - day_of_week?: string; + day_of_month?: string | null; + day_of_week?: string | null; frequency?: Polytomic.ScheduleFrequency; - hour?: string; - job_id?: number; - minute?: string; - month?: string; + hour?: string | null; + job_id?: number | null; + minute?: string | null; + month?: string | null; run_after?: Polytomic.RunAfter; /** If true, the sync will only run if the dependent syncs completed successfully. */ - run_after_success_only?: boolean; + run_after_success_only?: boolean | null; } diff --git a/src/api/types/ScheduleOptionResponse.ts b/src/api/types/ScheduleOptionResponse.ts index 9e3d2c5..ab5c964 100644 --- a/src/api/types/ScheduleOptionResponse.ts +++ b/src/api/types/ScheduleOptionResponse.ts @@ -5,5 +5,5 @@ import * as Polytomic from "../index"; export interface ScheduleOptionResponse { - schedule_options?: Polytomic.ScheduleScheduleOption[]; + schedule_options?: Polytomic.ScheduleScheduleOption[] | null; } diff --git a/src/api/types/SchedulesEnvelope.ts b/src/api/types/SchedulesEnvelope.ts index f3751e1..8cca4d4 100644 --- a/src/api/types/SchedulesEnvelope.ts +++ b/src/api/types/SchedulesEnvelope.ts @@ -5,5 +5,5 @@ import * as Polytomic from "../index"; export interface SchedulesEnvelope { - data?: Polytomic.BulkBulkSyncSchedule[]; + data?: Polytomic.BulkBulkSyncSchedule[] | null; } diff --git a/src/api/types/SchemaConfiguration.ts b/src/api/types/SchemaConfiguration.ts index 1f1e300..bd3b958 100644 --- a/src/api/types/SchemaConfiguration.ts +++ b/src/api/types/SchemaConfiguration.ts @@ -5,14 +5,14 @@ import * as Polytomic from "../index"; export interface SchemaConfiguration { - data_cutoff_timestamp?: string; + data_cutoff_timestamp?: string | null; /** Whether data cutoff is disabled for this schema. */ - disable_data_cutoff?: boolean; + disable_data_cutoff?: boolean | null; /** Whether the schema is enabled for syncing. */ - enabled?: boolean; + enabled?: boolean | null; fields?: Polytomic.V2SchemaConfigurationFieldsItem[]; filters?: Polytomic.BulkFilter[]; id?: string; - partition_key?: string; - tracking_field?: string; + partition_key?: string | null; + tracking_field?: string | null; } diff --git a/src/api/types/SchemaRecordsResponseEnvelope.ts b/src/api/types/SchemaRecordsResponseEnvelope.ts index 3280cbc..6e46d74 100644 --- a/src/api/types/SchemaRecordsResponseEnvelope.ts +++ b/src/api/types/SchemaRecordsResponseEnvelope.ts @@ -3,5 +3,5 @@ */ export interface SchemaRecordsResponseEnvelope { - data?: Record[]; + data?: Record[] | null; } diff --git a/src/api/types/SourceMeta.ts b/src/api/types/SourceMeta.ts index 261e1c4..0ce52cd 100644 --- a/src/api/types/SourceMeta.ts +++ b/src/api/types/SourceMeta.ts @@ -4,6 +4,6 @@ export interface SourceMeta { has_items?: boolean; - items?: unknown[]; - requires_one_of?: string[]; + items?: unknown[] | null; + requires_one_of?: string[] | null; } diff --git a/src/api/types/SupportedBulkMode.ts b/src/api/types/SupportedBulkMode.ts index 729de53..a6470c7 100644 --- a/src/api/types/SupportedBulkMode.ts +++ b/src/api/types/SupportedBulkMode.ts @@ -6,7 +6,7 @@ import * as Polytomic from "../index"; export interface SupportedBulkMode { description?: string; - id?: Polytomic.BulkSyncMode; + id?: Polytomic.BulkSyncMode | null; label?: string; requires_identity?: boolean; supports_field_sync_mode?: boolean; diff --git a/src/api/types/SyncCompletedEvent.ts b/src/api/types/SyncCompletedEvent.ts index 2e82993..741b6ef 100644 --- a/src/api/types/SyncCompletedEvent.ts +++ b/src/api/types/SyncCompletedEvent.ts @@ -5,23 +5,23 @@ import * as Polytomic from "../index"; export interface SyncCompletedEvent { - deleted_records?: string[]; + deleted_records?: string[] | null; error_count?: number; - errored_records?: string[]; + errored_records?: string[] | null; execution_id?: string; inserted_count?: number; - inserted_records?: string[]; + inserted_records?: string[] | null; organization_id?: string; record_count?: number; status?: Polytomic.ExecutionStatus; sync_id?: string; sync_name?: string; target_connection_id?: string; - total_records?: string[]; + total_records?: string[] | null; trigger?: string; updated_count?: number; - updated_records?: string[]; + updated_records?: string[] | null; upserted_count?: number; warning_count?: number; - warnings?: string[]; + warnings?: string[] | null; } diff --git a/src/api/types/SyncStatusResponse.ts b/src/api/types/SyncStatusResponse.ts index a9a33be..0b34e2b 100644 --- a/src/api/types/SyncStatusResponse.ts +++ b/src/api/types/SyncStatusResponse.ts @@ -7,5 +7,5 @@ import * as Polytomic from "../index"; export interface SyncStatusResponse { current_execution?: Polytomic.GetExecutionResponseSchema; last_execution?: Polytomic.GetExecutionResponseSchema; - next_execution_time?: string; + next_execution_time?: string | null; } diff --git a/src/api/types/TargetField.ts b/src/api/types/TargetField.ts index 3b39996..f34dd79 100644 --- a/src/api/types/TargetField.ts +++ b/src/api/types/TargetField.ts @@ -11,7 +11,7 @@ export interface TargetField { encryptable?: boolean; filterable?: boolean; id?: string; - identity_functions?: Polytomic.IdentityFunction[]; + identity_functions?: Polytomic.IdentityFunction[] | null; name?: string; required?: boolean; source_type?: string; diff --git a/src/api/types/TargetResponse.ts b/src/api/types/TargetResponse.ts index 94173cd..6039a5b 100644 --- a/src/api/types/TargetResponse.ts +++ b/src/api/types/TargetResponse.ts @@ -5,9 +5,9 @@ import * as Polytomic from "../index"; export interface TargetResponse { - fields?: Polytomic.TargetField[]; + fields?: Polytomic.TargetField[] | null; id?: string; - modes?: Polytomic.Mode[]; + modes?: Polytomic.Mode[] | null; name?: string; properties?: Polytomic.SyncDestinationProperties; refreshed_at?: string; diff --git a/src/api/types/User.ts b/src/api/types/User.ts index 026392e..daf5355 100644 --- a/src/api/types/User.ts +++ b/src/api/types/User.ts @@ -7,5 +7,5 @@ export interface User { id?: string; organization_id?: string; role?: string; - role_ids?: string[]; + role_ids?: string[] | null; } diff --git a/src/api/types/UtilEnumValue.ts b/src/api/types/UtilEnumValue.ts index 7b551f1..110d555 100644 --- a/src/api/types/UtilEnumValue.ts +++ b/src/api/types/UtilEnumValue.ts @@ -3,6 +3,6 @@ */ export interface UtilEnumValue { - label?: string; + label?: string | null; value?: string; } diff --git a/src/api/types/V2GetEnrichmentInputFieldsResponseEnvelope.ts b/src/api/types/V2GetEnrichmentInputFieldsResponseEnvelope.ts index 99d7db9..c1da840 100644 --- a/src/api/types/V2GetEnrichmentInputFieldsResponseEnvelope.ts +++ b/src/api/types/V2GetEnrichmentInputFieldsResponseEnvelope.ts @@ -3,5 +3,5 @@ */ export interface V2GetEnrichmentInputFieldsResponseEnvelope { - data?: string[][]; + data?: string[][] | null; } diff --git a/src/api/types/V4GlobalErrorSubscribersResponse.ts b/src/api/types/V4GlobalErrorSubscribersResponse.ts index 13c3d91..804cb6a 100644 --- a/src/api/types/V4GlobalErrorSubscribersResponse.ts +++ b/src/api/types/V4GlobalErrorSubscribersResponse.ts @@ -3,5 +3,5 @@ */ export interface V4GlobalErrorSubscribersResponse { - emails?: string[]; + emails?: string[] | null; } 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/V4TargetObjectsResponseEnvelope.ts b/src/api/types/V4TargetObjectsResponseEnvelope.ts index 403af58..b53ddb6 100644 --- a/src/api/types/V4TargetObjectsResponseEnvelope.ts +++ b/src/api/types/V4TargetObjectsResponseEnvelope.ts @@ -5,6 +5,6 @@ import * as Polytomic from "../index"; export interface V4TargetObjectsResponseEnvelope { - data?: Polytomic.TargetObject[]; + data?: Polytomic.TargetObject[] | null; target_creation?: Polytomic.V4TargetCreator; } diff --git a/src/api/types/V4UserFieldRequest.ts b/src/api/types/V4UserFieldRequest.ts index 6c8a901..dc9861a 100644 --- a/src/api/types/V4UserFieldRequest.ts +++ b/src/api/types/V4UserFieldRequest.ts @@ -6,6 +6,6 @@ export interface V4UserFieldRequest { example?: unknown; field_id: string; label: string; - path?: string; + path?: string | null; type: string; } diff --git a/src/api/types/WebhookListEnvelope.ts b/src/api/types/WebhookListEnvelope.ts index aa3c2ac..9f2c024 100644 --- a/src/api/types/WebhookListEnvelope.ts +++ b/src/api/types/WebhookListEnvelope.ts @@ -5,5 +5,5 @@ import * as Polytomic from "../index"; export interface WebhookListEnvelope { - data?: Polytomic.Webhook[]; + data?: Polytomic.Webhook[] | null; } diff --git a/src/api/types/index.ts b/src/api/types/index.ts index 060801f..b018be3 100644 --- a/src/api/types/index.ts +++ b/src/api/types/index.ts @@ -154,10 +154,12 @@ export * from "./WebhookEnvelope"; export * from "./WebhookListEnvelope"; export * from "./BulkFetchMode"; export * from "./BulkField"; +export * from "./BulkFilter2"; 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,8 +170,10 @@ export * from "./BulkSyncStatusEnvelope"; export * from "./BulkSyncStatusResponse"; export * from "./ConnectCardResponse"; export * from "./ConnectCardResponseEnvelope"; +export * from "./IngestionStatusLevel"; export * from "./ListBulkSchema"; export * from "./ListBulkSyncExecutionsEnvelope"; +export * from "./PaginationDetails2"; export * from "./PickValue"; export * from "./Schema"; export * from "./SchemaField"; @@ -180,6 +184,7 @@ export * from "./V4BulkSyncExecutionLogsEnvelope"; export * from "./BulkSyncExecutionStatus"; export * from "./V4BulkSyncScheduleApi"; export * from "./BulkSyncSchemaExecutionStatus"; +export * from "./ConfigurationValue2"; export * from "./V4ExportSyncLogsEnvelope"; export * from "./V4ExportSyncLogsResponse"; export * from "./GetModelSyncSourceMetaEnvelope"; 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..cf5d0d3 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.328" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.328.tgz#d24ce55f1aa5e4a3b877c1b315a0ab40e9498cc8" + integrity sha512-QNQ5l45DzYytThO21403XN3FvK0hOkWDG8viNf6jqS42msJ8I4tGDSpBCgvDRRPnkffafiwAym2X2eHeGD2V0w== 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"