diff --git a/.fern/metadata.json b/.fern/metadata.json new file mode 100644 index 0000000000..e739c99ae7 --- /dev/null +++ b/.fern/metadata.json @@ -0,0 +1,88 @@ +{ + "cliVersion": "3.4.3", + "generatorName": "fernapi/fern-typescript-sdk", + "generatorVersion": "3.37.1", + "generatorConfig": { + "packagePath": "src/management", + "namespaceExport": "Management", + "allowCustomFetcher": true, + "omitFernHeaders": true, + "exportAllRequestsAtRoot": true, + "useDefaultRequestParameterValues": true, + "consolidateTypeFiles": true, + "offsetSemantics": "page-index", + "linter": "none", + "formatter": "prettier", + "packageManager": "yarn", + "testFramework": "jest", + "packageJson": { + "bugs": { + "url": "https://github.com/auth0/node-auth0/issues" + }, + "homepage": "https://github.com/auth0/node-auth0", + "repository": { + "type": "git", + "url": "git+https://github.com/auth0/node-auth0.git" + }, + "keywords": ["auth0", "authentication", "login", "auth", "jwt", "management api", "json web token"], + "files": ["legacy", "package.json"], + "description": "Auth0 Node.js SDK for the Management API v2.", + "engines": { + "node": "^20.19.0 || ^22.12.0 || ^24.0.0" + }, + "lint-staged": { + "*.{js,ts,tsx}": ["eslint --fix", "prettier --write"], + "*.{json,md,yml,yaml}": ["prettier --write"] + }, + "scripts": { + "prepare": "husky", + "lint": "eslint . --ext .js,.ts,.tsx", + "lint:fix": "eslint . --ext .js,.ts,.tsx --fix", + "lint:check": "eslint . --ext .js,.ts,.tsx", + "lint:package": "publint --pack npm", + "test:coverage": "jest --config jest.config.mjs --coverage", + "test:coverage:unit": "jest --selectProjects unit --coverage", + "test:coverage:browser": "jest --selectProjects browser --coverage", + "test:coverage:wire": "jest --selectProjects wire --coverage", + "docs": "typedoc", + "docs:clean": "rm -rf docs", + "docs:build": "yarn docs:clean && yarn docs", + "precommit": "lint-staged", + "validate": "yarn lint:check && yarn format --check && yarn build && yarn test && yarn lint:package" + }, + "dependencies": { + "uuid": "^11.1.0", + "jose": "^4.13.2", + "auth0-legacy": "npm:auth0@^4.27.0" + }, + "devDependencies": { + "typedoc": "^0.28.7", + "typedoc-plugin-missing-exports": "^4.0.0", + "nock": "^14.0.6", + "undici": "^7.12.0", + "@eslint/js": "^9.32.0", + "@typescript-eslint/eslint-plugin": "^8.38.0", + "@typescript-eslint/parser": "^8.38.0", + "eslint": "^9.32.0", + "eslint-config-prettier": "^10.1.8", + "eslint-plugin-prettier": "^5.5.3", + "husky": "^9.1.7", + "lint-staged": "^16.1.4", + "publint": "^0.3.12" + }, + "exports": { + "./legacy": { + "types": "./legacy/exports/index.d.ts", + "import": { + "types": "./legacy/exports/index.d.mts", + "default": "./legacy/exports/index.mjs" + }, + "require": { + "types": "./legacy/exports/index.d.ts", + "default": "./legacy/exports/index.js" + } + } + } + } + } +} diff --git a/.npmignore b/.npmignore deleted file mode 100644 index 30a92cfa32..0000000000 --- a/.npmignore +++ /dev/null @@ -1,11 +0,0 @@ -node_modules -src/management -tests -.gitignore -.github -.fernignore -.prettierrc.yml -biome.json -tsconfig.json -yarn.lock -pnpm-lock.yaml \ No newline at end of file diff --git a/changelog.md b/changelog.md new file mode 100644 index 0000000000..82be1f1c1f --- /dev/null +++ b/changelog.md @@ -0,0 +1,4 @@ +## 5.1.1 - 2025-12-09 +* SDK regeneration +* Unable to analyze changes with AI, incrementing PATCH version. + diff --git a/package.json b/package.json index 02783cc7f0..49f5b43377 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "auth0", - "version": "5.1.0", + "version": "5.1.1", "private": false, "repository": { "type": "git", @@ -71,6 +71,11 @@ "precommit": "lint-staged", "validate": "yarn lint:check && yarn format --check && yarn build && yarn test && yarn lint:package" }, + "dependencies": { + "uuid": "^11.1.0", + "jose": "^4.13.2", + "auth0-legacy": "npm:auth0@^4.27.0" + }, "devDependencies": { "webpack": "^5.97.1", "ts-loader": "^9.5.1", @@ -130,10 +135,5 @@ "*.{json,md,yml,yaml}": [ "prettier --write" ] - }, - "dependencies": { - "uuid": "^11.1.0", - "jose": "^4.13.2", - "auth0-legacy": "npm:auth0@^4.27.0" } } diff --git a/reference.md b/reference.md index 2633abfe85..a43c781648 100644 --- a/reference.md +++ b/reference.md @@ -80,7 +80,7 @@ const response = page.response;
-**requestOptions:** `Actions.RequestOptions` +**requestOptions:** `ActionsClient.RequestOptions`
@@ -150,7 +150,7 @@ await client.actions.create({
-**requestOptions:** `Actions.RequestOptions` +**requestOptions:** `ActionsClient.RequestOptions`
@@ -213,7 +213,7 @@ await client.actions.get("id");
-**requestOptions:** `Actions.RequestOptions` +**requestOptions:** `ActionsClient.RequestOptions`
@@ -286,7 +286,7 @@ await client.actions.delete("id", {
-**requestOptions:** `Actions.RequestOptions` +**requestOptions:** `ActionsClient.RequestOptions`
@@ -357,7 +357,7 @@ await client.actions.update("id");
-**requestOptions:** `Actions.RequestOptions` +**requestOptions:** `ActionsClient.RequestOptions`
@@ -420,7 +420,7 @@ await client.actions.deploy("id");
-**requestOptions:** `Actions.RequestOptions` +**requestOptions:** `ActionsClient.RequestOptions`
@@ -495,7 +495,7 @@ await client.actions.test("id", {
-**requestOptions:** `Actions.RequestOptions` +**requestOptions:** `ActionsClient.RequestOptions`
@@ -552,7 +552,7 @@ await client.branding.get();
-**requestOptions:** `Branding.RequestOptions` +**requestOptions:** `BrandingClient.RequestOptions`
@@ -615,7 +615,7 @@ await client.branding.update();
-**requestOptions:** `Branding.RequestOptions` +**requestOptions:** `BrandingClient.RequestOptions`
@@ -706,7 +706,7 @@ const response = page.response;
-**requestOptions:** `ClientGrants.RequestOptions` +**requestOptions:** `ClientGrantsClient.RequestOptions`
@@ -772,7 +772,7 @@ await client.clientGrants.create({
-**requestOptions:** `ClientGrants.RequestOptions` +**requestOptions:** `ClientGrantsClient.RequestOptions`
@@ -835,7 +835,7 @@ await client.clientGrants.delete("id");
-**requestOptions:** `ClientGrants.RequestOptions` +**requestOptions:** `ClientGrantsClient.RequestOptions`
@@ -906,7 +906,7 @@ await client.clientGrants.update("id");
-**requestOptions:** `ClientGrants.RequestOptions` +**requestOptions:** `ClientGrantsClient.RequestOptions`
@@ -1034,7 +1034,7 @@ const response = page.response;
-**requestOptions:** `Clients.RequestOptions` +**requestOptions:** `ClientsClient.RequestOptions`
@@ -1112,7 +1112,7 @@ await client.clients.create({
-**requestOptions:** `Clients.RequestOptions` +**requestOptions:** `ClientsClient.RequestOptions`
@@ -1216,7 +1216,7 @@ await client.clients.get("id", {
-**requestOptions:** `Clients.RequestOptions` +**requestOptions:** `ClientsClient.RequestOptions`
@@ -1279,7 +1279,7 @@ await client.clients.delete("id");
-**requestOptions:** `Clients.RequestOptions` +**requestOptions:** `ClientsClient.RequestOptions`
@@ -1358,7 +1358,7 @@ await client.clients.update("id");
-**requestOptions:** `Clients.RequestOptions` +**requestOptions:** `ClientsClient.RequestOptions`
@@ -1425,7 +1425,7 @@ await client.clients.rotateSecret("id");
-**requestOptions:** `Clients.RequestOptions` +**requestOptions:** `ClientsClient.RequestOptions`
@@ -1436,9 +1436,9 @@ await client.clients.rotateSecret("id"); -## Connections +## ConnectionProfiles -
client.connections.list({ ...params }) -> core.Page +
client.connectionProfiles.list({ ...params }) -> core.Page
@@ -1450,27 +1450,7 @@ await client.clients.rotateSecret("id");
-Retrieves detailed list of all connections that match the specified strategy. If no strategy is provided, all connections within your tenant are retrieved. This action can accept a list of fields to include or exclude from the resulting list of connections. - -This endpoint supports two types of pagination: - -
    -
  • Offset pagination
  • -
  • Checkpoint pagination
  • -
- -Checkpoint pagination must be used if you need to retrieve more than 1000 connections. - -

Checkpoint Pagination

- -To search by checkpoint, use the following parameters: - -
    -
  • from: Optional id from which to start selection.
  • -
  • take: The total amount of entries to retrieve when using the from parameter. Defaults to 50.
  • -
- -Note: The first time you call this endpoint using checkpoint pagination, omit the from parameter. If there are more results, a next value is included in the response. You can use this for subsequent API calls. When next is no longer included in the response, no pages are remaining. +Retrieve a list of Connection Profiles. This endpoint supports Checkpoint pagination.
@@ -1486,24 +1466,18 @@ To search by checkpoint, use the following parameters:
```typescript -const pageableResponse = await client.connections.list({ +const pageableResponse = await client.connectionProfiles.list({ from: "from", take: 1, - name: "name", - fields: "fields", - include_fields: true, }); for await (const item of pageableResponse) { console.log(item); } // Or you can manually iterate page-by-page -let page = await client.connections.list({ +let page = await client.connectionProfiles.list({ from: "from", take: 1, - name: "name", - fields: "fields", - include_fields: true, }); while (page.hasNextPage()) { page = page.getNextPage(); @@ -1526,7 +1500,7 @@ const response = page.response;
-**request:** `Management.ListConnectionsQueryParameters` +**request:** `Management.ListConnectionProfileRequestParameters`
@@ -1534,7 +1508,7 @@ const response = page.response;
-**requestOptions:** `Connections.RequestOptions` +**requestOptions:** `ConnectionProfilesClient.RequestOptions`
@@ -1545,7 +1519,7 @@ const response = page.response;
-
client.connections.create({ ...params }) -> Management.CreateConnectionResponseContent +
client.connectionProfiles.create({ ...params }) -> Management.CreateConnectionProfileResponseContent
@@ -1557,7 +1531,7 @@ const response = page.response;
-Creates a new connection according to the JSON object received in body.
+Create a Connection Profile.
@@ -1573,9 +1547,8 @@ Creates a new connection according to the JSON object received in body ```typescript -await client.connections.create({ +await client.connectionProfiles.create({ name: "name", - strategy: "ad", }); ``` @@ -1592,7 +1565,7 @@ await client.connections.create({
-**request:** `Management.CreateConnectionRequestContent` +**request:** `Management.CreateConnectionProfileRequestContent`
@@ -1600,7 +1573,7 @@ await client.connections.create({
-**requestOptions:** `Connections.RequestOptions` +**requestOptions:** `ConnectionProfilesClient.RequestOptions`
@@ -1611,7 +1584,7 @@ await client.connections.create({
-
client.connections.get(id, { ...params }) -> Management.GetConnectionResponseContent +
client.connectionProfiles.listTemplates() -> Management.ListConnectionProfileTemplateResponseContent
@@ -1623,7 +1596,7 @@ await client.connections.create({
-Retrieve details for a specified connection along with options that can be used for identity provider configuration. +Retrieve a list of Connection Profile Templates.
@@ -1639,10 +1612,7 @@ Retrieve details for a specified @@ -1658,23 +1628,7 @@ await client.connections.get("id", {
-**id:** `string` — The id of the connection to retrieve - -
-
- -
-
- -**request:** `Management.GetConnectionRequestParameters` - -
-
- -
-
- -**requestOptions:** `Connections.RequestOptions` +**requestOptions:** `ConnectionProfilesClient.RequestOptions`
@@ -1685,7 +1639,7 @@ await client.connections.get("id", {
-
client.connections.delete(id) -> void +
client.connectionProfiles.getTemplate(id) -> Management.GetConnectionProfileTemplateResponseContent
@@ -1697,7 +1651,7 @@ await client.connections.get("id", {
-Removes a specific connection from your tenant. This action cannot be undone. Once removed, users can no longer use this connection to authenticate. +Retrieve a Connection Profile Template.
@@ -1713,7 +1667,7 @@ Removes a specific @@ -1729,7 +1683,7 @@ await client.connections.delete("id");
-**id:** `string` — The id of the connection to delete +**id:** `string` — ID of the connection-profile-template to retrieve.
@@ -1737,7 +1691,7 @@ await client.connections.delete("id");
-**requestOptions:** `Connections.RequestOptions` +**requestOptions:** `ConnectionProfilesClient.RequestOptions`
@@ -1748,7 +1702,7 @@ await client.connections.delete("id");
-
client.connections.update(id, { ...params }) -> Management.UpdateConnectionResponseContent +
client.connectionProfiles.get(id) -> Management.GetConnectionProfileResponseContent
@@ -1760,9 +1714,7 @@ await client.connections.delete("id");
-Update details for a specific connection, including option properties for identity provider configuration. - -Note: If you use the options parameter, the entire options object is overriden. To avoid partial data or other issues, ensure all parameters are present when using this option. +Retrieve details about a single Connection Profile specified by ID.
@@ -1778,7 +1730,7 @@ Update details for a specific @@ -1794,15 +1746,7 @@ await client.connections.update("id");
-**id:** `string` — The id of the connection to update - -
-
- -
-
- -**request:** `Management.UpdateConnectionRequestContent` +**id:** `string` — ID of the connection-profile to retrieve.
@@ -1810,7 +1754,7 @@ await client.connections.update("id");
-**requestOptions:** `Connections.RequestOptions` +**requestOptions:** `ConnectionProfilesClient.RequestOptions`
@@ -1821,7 +1765,7 @@ await client.connections.update("id");
-
client.connections.checkStatus(id) -> void +
client.connectionProfiles.delete(id) -> void
@@ -1833,7 +1777,7 @@ await client.connections.update("id");
-Retrieves the status of an ad/ldap connection referenced by its ID. 200 OK http status code response is returned when the connection is online, otherwise a 404 status code is returned along with an error message +Delete a single Connection Profile specified by ID.
@@ -1849,7 +1793,7 @@ Retrieves the status of an ad/ldap connection referenced by its ID.
```typescript -await client.connections.checkStatus("id"); +await client.connectionProfiles.delete("id"); ```
@@ -1865,7 +1809,7 @@ await client.connections.checkStatus("id");
-**id:** `string` — ID of the connection to check +**id:** `string` — ID of the connection-profile to delete.
@@ -1873,7 +1817,7 @@ await client.connections.checkStatus("id");
-**requestOptions:** `Connections.RequestOptions` +**requestOptions:** `ConnectionProfilesClient.RequestOptions`
@@ -1884,9 +1828,7 @@ await client.connections.checkStatus("id");
-## CustomDomains - -
client.customDomains.list() -> Management.ListCustomDomainsResponseContent +
client.connectionProfiles.update(id, { ...params }) -> Management.UpdateConnectionProfileResponseContent
@@ -1898,7 +1840,7 @@ await client.connections.checkStatus("id");
-Retrieve details on custom domains. +Update the details of a specific Connection Profile.
@@ -1914,7 +1856,7 @@ Retrieve details on custom domai
```typescript -await client.customDomains.list(); +await client.connectionProfiles.update("id"); ```
@@ -1930,7 +1872,23 @@ await client.customDomains.list();
-**requestOptions:** `CustomDomains.RequestOptions` +**id:** `string` — ID of the connection profile to update. + +
+
+ +
+
+ +**request:** `Management.UpdateConnectionProfileRequestContent` + +
+
+ +
+
+ +**requestOptions:** `ConnectionProfilesClient.RequestOptions`
@@ -1941,7 +1899,9 @@ await client.customDomains.list();
-
client.customDomains.create({ ...params }) -> Management.CreateCustomDomainResponseContent +## Connections + +
client.connections.list({ ...params }) -> core.Page
@@ -1953,23 +1913,32 @@ await client.customDomains.list();
-Create a new custom domain. +Retrieves detailed list of all connections that match the specified strategy. If no strategy is provided, all connections within your tenant are retrieved. This action can accept a list of fields to include or exclude from the resulting list of connections. -Note: The custom domain will need to be verified before it will accept -requests. +This endpoint supports two types of pagination: -Optional attributes that can be updated: +
    +
  • Offset pagination
  • +
  • Checkpoint pagination
  • +
-- custom_client_ip_header -- tls_policy +Checkpoint pagination must be used if you need to retrieve more than 1000 connections. -TLS Policies: +

Checkpoint Pagination

-- recommended - for modern usage this includes TLS 1.2 only -
-
-
-
+To search by checkpoint, use the following parameters: + +
    +
  • from: Optional id from which to start selection.
  • +
  • take: The total amount of entries to retrieve when using the from parameter. Defaults to 50.
  • +
+ +Note: The first time you call this endpoint using checkpoint pagination, omit the from parameter. If there are more results, a next value is included in the response. You can use this for subsequent API calls. When next is no longer included in the response, no pages are remaining. + + + + + #### 🔌 Usage @@ -1980,10 +1949,31 @@ TLS Policies:
```typescript -await client.customDomains.create({ - domain: "domain", - type: "auth0_managed_certs", +const pageableResponse = await client.connections.list({ + from: "from", + take: 1, + name: "name", + fields: "fields", + include_fields: true, }); +for await (const item of pageableResponse) { + console.log(item); +} + +// Or you can manually iterate page-by-page +let page = await client.connections.list({ + from: "from", + take: 1, + name: "name", + fields: "fields", + include_fields: true, +}); +while (page.hasNextPage()) { + page = page.getNextPage(); +} + +// You can also access the underlying response +const response = page.response; ```
@@ -1999,7 +1989,7 @@ await client.customDomains.create({
-**request:** `Management.CreateCustomDomainRequestContent` +**request:** `Management.ListConnectionsQueryParameters`
@@ -2007,7 +1997,7 @@ await client.customDomains.create({
-**requestOptions:** `CustomDomains.RequestOptions` +**requestOptions:** `ConnectionsClient.RequestOptions`
@@ -2018,7 +2008,7 @@ await client.customDomains.create({
-
client.customDomains.get(id) -> Management.GetCustomDomainResponseContent +
client.connections.create({ ...params }) -> Management.CreateConnectionResponseContent
@@ -2030,7 +2020,7 @@ await client.customDomains.create({
-Retrieve a custom domain configuration and status. +Creates a new connection according to the JSON object received in body.
@@ -2046,7 +2036,10 @@ Retrieve a custom domain configuration and status.
```typescript -await client.customDomains.get("id"); +await client.connections.create({ + name: "name", + strategy: "ad", +}); ```
@@ -2062,7 +2055,7 @@ await client.customDomains.get("id");
-**id:** `string` — ID of the custom domain to retrieve. +**request:** `Management.CreateConnectionRequestContent`
@@ -2070,7 +2063,7 @@ await client.customDomains.get("id");
-**requestOptions:** `CustomDomains.RequestOptions` +**requestOptions:** `ConnectionsClient.RequestOptions`
@@ -2081,7 +2074,7 @@ await client.customDomains.get("id");
-
client.customDomains.delete(id) -> void +
client.connections.get(id, { ...params }) -> Management.GetConnectionResponseContent
@@ -2093,7 +2086,7 @@ await client.customDomains.get("id");
-Delete a custom domain and stop serving requests for it. +Retrieve details for a specified connection along with options that can be used for identity provider configuration.
@@ -2109,7 +2102,10 @@ Delete a custom domain and stop serving requests for it.
```typescript -await client.customDomains.delete("id"); +await client.connections.get("id", { + fields: "fields", + include_fields: true, +}); ```
@@ -2125,7 +2121,15 @@ await client.customDomains.delete("id");
-**id:** `string` — ID of the custom domain to delete. +**id:** `string` — The id of the connection to retrieve + +
+
+ +
+
+ +**request:** `Management.GetConnectionRequestParameters`
@@ -2133,7 +2137,7 @@ await client.customDomains.delete("id");
-**requestOptions:** `CustomDomains.RequestOptions` +**requestOptions:** `ConnectionsClient.RequestOptions`
@@ -2144,7 +2148,7 @@ await client.customDomains.delete("id");
-
client.customDomains.update(id, { ...params }) -> Management.UpdateCustomDomainResponseContent +
client.connections.delete(id) -> void
@@ -2156,32 +2160,12 @@ await client.customDomains.delete("id");
-Update a custom domain. - -These are the attributes that can be updated: - -- custom_client_ip_header -- tls_policy - -
Updating CUSTOM_CLIENT_IP_HEADER for a custom domain
To update the custom_client_ip_header for a domain, the body to -send should be: -
{ "custom_client_ip_header": "cf-connecting-ip" }
- -
Updating TLS_POLICY for a custom domain
To update the tls_policy for a domain, the body to send should be: -
{ "tls_policy": "recommended" }
- -TLS Policies: - -- recommended - for modern usage this includes TLS 1.2 only - -Some considerations: +Removes a specific connection from your tenant. This action cannot be undone. Once removed, users can no longer use this connection to authenticate. -- The TLS ciphers and protocols available in each TLS policy follow industry recommendations, and may be updated occasionally. -- The compatible TLS policy is no longer supported. -
-
-
-
+ + + + #### 🔌 Usage @@ -2192,7 +2176,7 @@ Some considerations:
```typescript -await client.customDomains.update("id"); +await client.connections.delete("id"); ```
@@ -2208,15 +2192,7 @@ await client.customDomains.update("id");
-**id:** `string` — The id of the custom domain to update - -
-
- -
-
- -**request:** `Management.UpdateCustomDomainRequestContent` +**id:** `string` — The id of the connection to delete
@@ -2224,7 +2200,7 @@ await client.customDomains.update("id");
-**requestOptions:** `CustomDomains.RequestOptions` +**requestOptions:** `ConnectionsClient.RequestOptions`
@@ -2235,7 +2211,7 @@ await client.customDomains.update("id");
-
client.customDomains.test(id) -> Management.TestCustomDomainResponseContent +
client.connections.update(id, { ...params }) -> Management.UpdateConnectionResponseContent
@@ -2247,7 +2223,9 @@ await client.customDomains.update("id");
-Run the test process on a custom domain. +Update details for a specific connection, including option properties for identity provider configuration. + +Note: If you use the options parameter, the entire options object is overriden. To avoid partial data or other issues, ensure all parameters are present when using this option.
@@ -2263,7 +2241,7 @@ Run the test process on a custom domain.
```typescript -await client.customDomains.test("id"); +await client.connections.update("id"); ```
@@ -2279,7 +2257,15 @@ await client.customDomains.test("id");
-**id:** `string` — ID of the custom domain to test. +**id:** `string` — The id of the connection to update + +
+
+ +
+
+ +**request:** `Management.UpdateConnectionRequestContent`
@@ -2287,7 +2273,7 @@ await client.customDomains.test("id");
-**requestOptions:** `CustomDomains.RequestOptions` +**requestOptions:** `ConnectionsClient.RequestOptions`
@@ -2298,7 +2284,7 @@ await client.customDomains.test("id");
-
client.customDomains.verify(id) -> Management.VerifyCustomDomainResponseContent +
client.connections.checkStatus(id) -> void
@@ -2310,14 +2296,7 @@ await client.customDomains.test("id");
-Run the verification process on a custom domain. - -Note: Check the status field to see its verification status. Once verification is complete, it may take up to 10 minutes before the custom domain can start accepting requests. - -For self_managed_certs, when the custom domain is verified for the first time, the response will also include the cname_api_key which you will need to configure your proxy. This key must be kept secret, and is used to validate the proxy requests. - -Learn more about verifying custom domains that use Auth0 Managed certificates. -Learn more about verifying custom domains that use Self Managed certificates. +Retrieves the status of an ad/ldap connection referenced by its ID. 200 OK http status code response is returned when the connection is online, otherwise a 404 status code is returned along with an error message
@@ -2333,7 +2312,7 @@ For self_managed_certs, when the custom domain is verified for the
```typescript -await client.customDomains.verify("id"); +await client.connections.checkStatus("id"); ```
@@ -2349,7 +2328,7 @@ await client.customDomains.verify("id");
-**id:** `string` — ID of the custom domain to verify. +**id:** `string` — ID of the connection to check
@@ -2357,7 +2336,7 @@ await client.customDomains.verify("id");
-**requestOptions:** `CustomDomains.RequestOptions` +**requestOptions:** `ConnectionsClient.RequestOptions`
@@ -2368,9 +2347,9 @@ await client.customDomains.verify("id");
-## DeviceCredentials +## CustomDomains -
client.deviceCredentials.list({ ...params }) -> core.Page +
client.customDomains.list({ ...params }) -> Management.ListCustomDomainsResponseContent
@@ -2382,7 +2361,7 @@ await client.customDomains.verify("id");
-Retrieve device credential information (public_key, refresh_token, or rotating_refresh_token) associated with a specific user. +Retrieve details on custom domains.
@@ -2398,37 +2377,14 @@ Retrieve device credential information (public_key, refresh_t
```typescript -const pageableResponse = await client.deviceCredentials.list({ - page: 1, - per_page: 1, - include_totals: true, - fields: "fields", - include_fields: true, - user_id: "user_id", - client_id: "client_id", - type: "public_key", -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.deviceCredentials.list({ - page: 1, - per_page: 1, - include_totals: true, +await client.customDomains.list({ + take: 1, + from: "from", + q: "q", fields: "fields", include_fields: true, - user_id: "user_id", - client_id: "client_id", - type: "public_key", + sort: "sort", }); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; ```
@@ -2444,7 +2400,7 @@ const response = page.response;
-**request:** `Management.ListDeviceCredentialsRequestParameters` +**request:** `Management.ListCustomDomainsRequestParameters`
@@ -2452,7 +2408,7 @@ const response = page.response;
-**requestOptions:** `DeviceCredentials.RequestOptions` +**requestOptions:** `CustomDomainsClient.RequestOptions`
@@ -2463,7 +2419,7 @@ const response = page.response;
-
client.deviceCredentials.createPublicKey({ ...params }) -> Management.CreatePublicKeyDeviceCredentialResponseContent +
client.customDomains.create({ ...params }) -> Management.CreateCustomDomainResponseContent
@@ -2475,14 +2431,23 @@ const response = page.response;
-Create a device credential public key to manage refresh token rotation for a given user_id. Device Credentials APIs are designed for ad-hoc administrative use only and paging is by default enabled for GET requests. +Create a new custom domain. -When refresh token rotation is enabled, the endpoint becomes consistent. For more information, read Signing Keys. +Note: The custom domain will need to be verified before it will accept +requests. -
-
-
-
+Optional attributes that can be updated: + +- custom_client_ip_header +- tls_policy + +TLS Policies: + +- recommended - for modern usage this includes TLS 1.2 only + + + + #### 🔌 Usage @@ -2493,10 +2458,9 @@ When refresh token rotation is enabled, the endpoint becomes consistent. For mor
```typescript -await client.deviceCredentials.createPublicKey({ - device_name: "device_name", - value: "value", - device_id: "device_id", +await client.customDomains.create({ + domain: "domain", + type: "auth0_managed_certs", }); ``` @@ -2513,7 +2477,7 @@ await client.deviceCredentials.createPublicKey({
-**request:** `Management.CreatePublicKeyDeviceCredentialRequestContent` +**request:** `Management.CreateCustomDomainRequestContent`
@@ -2521,7 +2485,7 @@ await client.deviceCredentials.createPublicKey({
-**requestOptions:** `DeviceCredentials.RequestOptions` +**requestOptions:** `CustomDomainsClient.RequestOptions`
@@ -2532,7 +2496,7 @@ await client.deviceCredentials.createPublicKey({
-
client.deviceCredentials.delete(id) -> void +
client.customDomains.get(id) -> Management.GetCustomDomainResponseContent
@@ -2544,7 +2508,7 @@ await client.deviceCredentials.createPublicKey({
-Permanently delete a device credential (such as a refresh token or public key) with the given ID. +Retrieve a custom domain configuration and status.
@@ -2560,7 +2524,7 @@ Permanently delete a device credential (such as a refresh token or public key) w
```typescript -await client.deviceCredentials.delete("id"); +await client.customDomains.get("id"); ```
@@ -2576,7 +2540,7 @@ await client.deviceCredentials.delete("id");
-**id:** `string` — ID of the credential to delete. +**id:** `string` — ID of the custom domain to retrieve.
@@ -2584,7 +2548,7 @@ await client.deviceCredentials.delete("id");
-**requestOptions:** `DeviceCredentials.RequestOptions` +**requestOptions:** `CustomDomainsClient.RequestOptions`
@@ -2595,9 +2559,7 @@ await client.deviceCredentials.delete("id");
-## EmailTemplates - -
client.emailTemplates.create({ ...params }) -> Management.CreateEmailTemplateResponseContent +
client.customDomains.delete(id) -> void
@@ -2609,7 +2571,7 @@ await client.deviceCredentials.delete("id");
-Create an email template. +Delete a custom domain and stop serving requests for it.
@@ -2625,9 +2587,7 @@ Create an email template.
```typescript -await client.emailTemplates.create({ - template: "verify_email", -}); +await client.customDomains.delete("id"); ```
@@ -2643,7 +2603,7 @@ await client.emailTemplates.create({
-**request:** `Management.CreateEmailTemplateRequestContent` +**id:** `string` — ID of the custom domain to delete.
@@ -2651,7 +2611,7 @@ await client.emailTemplates.create({
-**requestOptions:** `EmailTemplates.RequestOptions` +**requestOptions:** `CustomDomainsClient.RequestOptions`
@@ -2662,7 +2622,7 @@ await client.emailTemplates.create({
-
client.emailTemplates.get(templateName) -> Management.GetEmailTemplateResponseContent +
client.customDomains.update(id, { ...params }) -> Management.UpdateCustomDomainResponseContent
@@ -2674,12 +2634,32 @@ await client.emailTemplates.create({
-Retrieve an email template by pre-defined name. These names are `verify_email`, `verify_email_by_code`, `reset_email`, `reset_email_by_code`, `welcome_email`, `blocked_account`, `stolen_credentials`, `enrollment_email`, `mfa_oob_code`, `user_invitation`, and `async_approval`. The names `change_password`, and `password_reset` are also supported for legacy scenarios. +Update a custom domain. -
-
-
-
+These are the attributes that can be updated: + +- custom_client_ip_header +- tls_policy + +
Updating CUSTOM_CLIENT_IP_HEADER for a custom domain
To update the custom_client_ip_header for a domain, the body to +send should be: +
{ "custom_client_ip_header": "cf-connecting-ip" }
+ +
Updating TLS_POLICY for a custom domain
To update the tls_policy for a domain, the body to send should be: +
{ "tls_policy": "recommended" }
+ +TLS Policies: + +- recommended - for modern usage this includes TLS 1.2 only + +Some considerations: + +- The TLS ciphers and protocols available in each TLS policy follow industry recommendations, and may be updated occasionally. +- The compatible TLS policy is no longer supported. + + + + #### 🔌 Usage @@ -2690,7 +2670,7 @@ Retrieve an email template by pre-defined name. These names are `verify_email`,
```typescript -await client.emailTemplates.get("verify_email"); +await client.customDomains.update("id"); ```
@@ -2706,7 +2686,15 @@ await client.emailTemplates.get("verify_email");
-**templateName:** `Management.EmailTemplateNameEnum` — Template name. Can be `verify_email`, `verify_email_by_code`, `reset_email`, `reset_email_by_code`, `welcome_email`, `blocked_account`, `stolen_credentials`, `enrollment_email`, `mfa_oob_code`, `user_invitation`, `async_approval`, `change_password` (legacy), or `password_reset` (legacy). +**id:** `string` — The id of the custom domain to update + +
+
+ +
+
+ +**request:** `Management.UpdateCustomDomainRequestContent`
@@ -2714,7 +2702,7 @@ await client.emailTemplates.get("verify_email");
-**requestOptions:** `EmailTemplates.RequestOptions` +**requestOptions:** `CustomDomainsClient.RequestOptions`
@@ -2725,7 +2713,7 @@ await client.emailTemplates.get("verify_email");
-
client.emailTemplates.set(templateName, { ...params }) -> Management.SetEmailTemplateResponseContent +
client.customDomains.test(id) -> Management.TestCustomDomainResponseContent
@@ -2737,7 +2725,7 @@ await client.emailTemplates.get("verify_email");
-Update an email template. +Run the test process on a custom domain.
@@ -2753,9 +2741,7 @@ Update an email template.
```typescript -await client.emailTemplates.set("verify_email", { - template: "verify_email", -}); +await client.customDomains.test("id"); ```
@@ -2771,15 +2757,7 @@ await client.emailTemplates.set("verify_email", {
-**templateName:** `Management.EmailTemplateNameEnum` — Template name. Can be `verify_email`, `verify_email_by_code`, `reset_email`, `reset_email_by_code`, `welcome_email`, `blocked_account`, `stolen_credentials`, `enrollment_email`, `mfa_oob_code`, `user_invitation`, `async_approval`, `change_password` (legacy), or `password_reset` (legacy). - -
-
- -
-
- -**request:** `Management.SetEmailTemplateRequestContent` +**id:** `string` — ID of the custom domain to test.
@@ -2787,7 +2765,7 @@ await client.emailTemplates.set("verify_email", {
-**requestOptions:** `EmailTemplates.RequestOptions` +**requestOptions:** `CustomDomainsClient.RequestOptions`
@@ -2798,7 +2776,7 @@ await client.emailTemplates.set("verify_email", {
-
client.emailTemplates.update(templateName, { ...params }) -> Management.UpdateEmailTemplateResponseContent +
client.customDomains.verify(id) -> Management.VerifyCustomDomainResponseContent
@@ -2810,7 +2788,14 @@ await client.emailTemplates.set("verify_email", {
-Modify an email template. +Run the verification process on a custom domain. + +Note: Check the status field to see its verification status. Once verification is complete, it may take up to 10 minutes before the custom domain can start accepting requests. + +For self_managed_certs, when the custom domain is verified for the first time, the response will also include the cname_api_key which you will need to configure your proxy. This key must be kept secret, and is used to validate the proxy requests. + +Learn more about verifying custom domains that use Auth0 Managed certificates. +Learn more about verifying custom domains that use Self Managed certificates.
@@ -2826,7 +2811,7 @@ Modify an email template.
```typescript -await client.emailTemplates.update("verify_email"); +await client.customDomains.verify("id"); ```
@@ -2842,15 +2827,7 @@ await client.emailTemplates.update("verify_email");
-**templateName:** `Management.EmailTemplateNameEnum` — Template name. Can be `verify_email`, `verify_email_by_code`, `reset_email`, `reset_email_by_code`, `welcome_email`, `blocked_account`, `stolen_credentials`, `enrollment_email`, `mfa_oob_code`, `user_invitation`, `async_approval`, `change_password` (legacy), or `password_reset` (legacy). - -
-
- -
-
- -**request:** `Management.UpdateEmailTemplateRequestContent` +**id:** `string` — ID of the custom domain to verify.
@@ -2858,7 +2835,7 @@ await client.emailTemplates.update("verify_email");
-**requestOptions:** `EmailTemplates.RequestOptions` +**requestOptions:** `CustomDomainsClient.RequestOptions`
@@ -2869,12 +2846,27 @@ await client.emailTemplates.update("verify_email");
-## EventStreams +## DeviceCredentials + +
client.deviceCredentials.list({ ...params }) -> core.Page +
+
+ +#### 📝 Description + +
+
-
client.eventStreams.list({ ...params }) -> Management.EventStreamResponseContent[]
+Retrieve device credential information (public_key, refresh_token, or rotating_refresh_token) associated with a specific user. + +
+
+
+
+ #### 🔌 Usage
@@ -2884,10 +2876,37 @@ await client.emailTemplates.update("verify_email");
```typescript -await client.eventStreams.list({ - from: "from", - take: 1, +const pageableResponse = await client.deviceCredentials.list({ + page: 1, + per_page: 1, + include_totals: true, + fields: "fields", + include_fields: true, + user_id: "user_id", + client_id: "client_id", + type: "public_key", +}); +for await (const item of pageableResponse) { + console.log(item); +} + +// Or you can manually iterate page-by-page +let page = await client.deviceCredentials.list({ + page: 1, + per_page: 1, + include_totals: true, + fields: "fields", + include_fields: true, + user_id: "user_id", + client_id: "client_id", + type: "public_key", }); +while (page.hasNextPage()) { + page = page.getNextPage(); +} + +// You can also access the underlying response +const response = page.response; ```
@@ -2903,7 +2922,7 @@ await client.eventStreams.list({
-**request:** `Management.ListEventStreamsRequestParameters` +**request:** `Management.ListDeviceCredentialsRequestParameters`
@@ -2911,7 +2930,7 @@ await client.eventStreams.list({
-**requestOptions:** `EventStreams.RequestOptions` +**requestOptions:** `DeviceCredentialsClient.RequestOptions`
@@ -2922,11 +2941,11 @@ await client.eventStreams.list({
-
client.eventStreams.create({ ...params }) -> Management.CreateEventStreamResponseContent +
client.deviceCredentials.createPublicKey({ ...params }) -> Management.CreatePublicKeyDeviceCredentialResponseContent
-#### 🔌 Usage +#### 📝 Description
@@ -2934,18 +2953,28 @@ await client.eventStreams.list({
-```typescript -await client.eventStreams.create({ - destination: { - type: "webhook", - configuration: { - webhook_endpoint: "webhook_endpoint", - webhook_authorization: { - method: "basic", - username: "username", - }, - }, - }, +Create a device credential public key to manage refresh token rotation for a given user_id. Device Credentials APIs are designed for ad-hoc administrative use only and paging is by default enabled for GET requests. + +When refresh token rotation is enabled, the endpoint becomes consistent. For more information, read Signing Keys. + +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```typescript +await client.deviceCredentials.createPublicKey({ + device_name: "device_name", + value: "value", + device_id: "device_id", }); ``` @@ -2962,7 +2991,7 @@ await client.eventStreams.create({
-**request:** `Management.EventStreamsCreateRequest` +**request:** `Management.CreatePublicKeyDeviceCredentialRequestContent`
@@ -2970,7 +2999,7 @@ await client.eventStreams.create({
-**requestOptions:** `EventStreams.RequestOptions` +**requestOptions:** `DeviceCredentialsClient.RequestOptions`
@@ -2981,10 +3010,25 @@ await client.eventStreams.create({
-
client.eventStreams.get(id) -> Management.GetEventStreamResponseContent +
client.deviceCredentials.delete(id) -> void +
+
+ +#### 📝 Description + +
+
+
+Permanently delete a device credential (such as a refresh token or public key) with the given ID. + +
+
+
+
+ #### 🔌 Usage
@@ -2994,7 +3038,7 @@ await client.eventStreams.create({
```typescript -await client.eventStreams.get("id"); +await client.deviceCredentials.delete("id"); ```
@@ -3010,7 +3054,7 @@ await client.eventStreams.get("id");
-**id:** `string` — Unique identifier for the event stream. +**id:** `string` — ID of the credential to delete.
@@ -3018,7 +3062,7 @@ await client.eventStreams.get("id");
-**requestOptions:** `EventStreams.RequestOptions` +**requestOptions:** `DeviceCredentialsClient.RequestOptions`
@@ -3029,10 +3073,27 @@ await client.eventStreams.get("id");
-
client.eventStreams.delete(id) -> void +## EmailTemplates + +
client.emailTemplates.create({ ...params }) -> Management.CreateEmailTemplateResponseContent +
+
+ +#### 📝 Description + +
+
+
+Create an email template. + +
+
+
+
+ #### 🔌 Usage
@@ -3042,7 +3103,9 @@ await client.eventStreams.get("id");
```typescript -await client.eventStreams.delete("id"); +await client.emailTemplates.create({ + template: "verify_email", +}); ```
@@ -3058,7 +3121,7 @@ await client.eventStreams.delete("id");
-**id:** `string` — Unique identifier for the event stream. +**request:** `Management.CreateEmailTemplateRequestContent`
@@ -3066,7 +3129,7 @@ await client.eventStreams.delete("id");
-**requestOptions:** `EventStreams.RequestOptions` +**requestOptions:** `EmailTemplatesClient.RequestOptions`
@@ -3077,11 +3140,11 @@ await client.eventStreams.delete("id");
-
client.eventStreams.update(id, { ...params }) -> Management.UpdateEventStreamResponseContent +
client.emailTemplates.get(templateName) -> Management.GetEmailTemplateResponseContent
-#### 🔌 Usage +#### 📝 Description
@@ -3089,16 +3152,14 @@ await client.eventStreams.delete("id");
-```typescript -await client.eventStreams.update("id"); -``` +Retrieve an email template by pre-defined name. These names are `verify_email`, `verify_email_by_code`, `reset_email`, `reset_email_by_code`, `welcome_email`, `blocked_account`, `stolen_credentials`, `enrollment_email`, `mfa_oob_code`, `user_invitation`, and `async_approval`. The names `change_password`, and `password_reset` are also supported for legacy scenarios.
-#### ⚙️ Parameters +#### 🔌 Usage
@@ -3106,15 +3167,24 @@ await client.eventStreams.update("id");
-**id:** `string` — Unique identifier for the event stream. +```typescript +await client.emailTemplates.get("verify_email"); +```
+
+
+ +#### ⚙️ Parameters
-**request:** `Management.UpdateEventStreamRequestContent` +
+
+ +**templateName:** `Management.EmailTemplateNameEnum` — Template name. Can be `verify_email`, `verify_email_by_code`, `reset_email`, `reset_email_by_code`, `welcome_email`, `blocked_account`, `stolen_credentials`, `enrollment_email`, `mfa_oob_code`, `user_invitation`, `async_approval`, `change_password` (legacy), or `password_reset` (legacy).
@@ -3122,7 +3192,7 @@ await client.eventStreams.update("id");
-**requestOptions:** `EventStreams.RequestOptions` +**requestOptions:** `EmailTemplatesClient.RequestOptions`
@@ -3133,10 +3203,25 @@ await client.eventStreams.update("id");
-
client.eventStreams.test(id, { ...params }) -> Management.CreateEventStreamTestEventResponseContent +
client.emailTemplates.set(templateName, { ...params }) -> Management.SetEmailTemplateResponseContent +
+
+ +#### 📝 Description +
+
+
+ +Update an email template. + +
+
+
+
+ #### 🔌 Usage
@@ -3146,8 +3231,8 @@ await client.eventStreams.update("id");
```typescript -await client.eventStreams.test("id", { - event_type: "user.created", +await client.emailTemplates.set("verify_email", { + template: "verify_email", }); ``` @@ -3164,7 +3249,7 @@ await client.eventStreams.test("id", {
-**id:** `string` — Unique identifier for the event stream. +**templateName:** `Management.EmailTemplateNameEnum` — Template name. Can be `verify_email`, `verify_email_by_code`, `reset_email`, `reset_email_by_code`, `welcome_email`, `blocked_account`, `stolen_credentials`, `enrollment_email`, `mfa_oob_code`, `user_invitation`, `async_approval`, `change_password` (legacy), or `password_reset` (legacy).
@@ -3172,7 +3257,7 @@ await client.eventStreams.test("id", {
-**request:** `Management.CreateEventStreamTestEventRequestContent` +**request:** `Management.SetEmailTemplateRequestContent`
@@ -3180,7 +3265,7 @@ await client.eventStreams.test("id", {
-**requestOptions:** `EventStreams.RequestOptions` +**requestOptions:** `EmailTemplatesClient.RequestOptions`
@@ -3191,12 +3276,25 @@ await client.eventStreams.test("id", {
-## Flows +
client.emailTemplates.update(templateName, { ...params }) -> Management.UpdateEmailTemplateResponseContent +
+
+ +#### 📝 Description + +
+
-
client.flows.list({ ...params }) -> core.Page
+Modify an email template. + +
+
+
+
+ #### 🔌 Usage
@@ -3206,29 +3304,7 @@ await client.eventStreams.test("id", {
```typescript -const pageableResponse = await client.flows.list({ - page: 1, - per_page: 1, - include_totals: true, - synchronous: true, -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.flows.list({ - page: 1, - per_page: 1, - include_totals: true, - synchronous: true, -}); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; +await client.emailTemplates.update("verify_email"); ```
@@ -3244,7 +3320,15 @@ const response = page.response;
-**request:** `Management.FlowsListRequest` +**templateName:** `Management.EmailTemplateNameEnum` — Template name. Can be `verify_email`, `verify_email_by_code`, `reset_email`, `reset_email_by_code`, `welcome_email`, `blocked_account`, `stolen_credentials`, `enrollment_email`, `mfa_oob_code`, `user_invitation`, `async_approval`, `change_password` (legacy), or `password_reset` (legacy). + +
+
+ +
+
+ +**request:** `Management.UpdateEmailTemplateRequestContent`
@@ -3252,7 +3336,7 @@ const response = page.response;
-**requestOptions:** `Flows.RequestOptions` +**requestOptions:** `EmailTemplatesClient.RequestOptions`
@@ -3263,7 +3347,9 @@ const response = page.response;
-
client.flows.create({ ...params }) -> Management.CreateFlowResponseContent +## EventStreams + +
client.eventStreams.list({ ...params }) -> Management.EventStreamResponseContent[]
@@ -3276,8 +3362,9 @@ const response = page.response;
```typescript -await client.flows.create({ - name: "name", +await client.eventStreams.list({ + from: "from", + take: 1, }); ``` @@ -3294,7 +3381,7 @@ await client.flows.create({
-**request:** `Management.CreateFlowRequestContent` +**request:** `Management.ListEventStreamsRequestParameters`
@@ -3302,7 +3389,7 @@ await client.flows.create({
-**requestOptions:** `Flows.RequestOptions` +**requestOptions:** `EventStreamsClient.RequestOptions`
@@ -3313,7 +3400,7 @@ await client.flows.create({
-
client.flows.get(id, { ...params }) -> Management.GetFlowResponseContent +
client.eventStreams.create({ ...params }) -> Management.CreateEventStreamResponseContent
@@ -3326,7 +3413,18 @@ await client.flows.create({
```typescript -await client.flows.get("id"); +await client.eventStreams.create({ + destination: { + type: "webhook", + configuration: { + webhook_endpoint: "webhook_endpoint", + webhook_authorization: { + method: "basic", + username: "username", + }, + }, + }, +}); ```
@@ -3342,15 +3440,7 @@ await client.flows.get("id");
-**id:** `string` — Flow identifier - -
-
- -
-
- -**request:** `Management.GetFlowRequestParameters` +**request:** `Management.EventStreamsCreateRequest`
@@ -3358,7 +3448,7 @@ await client.flows.get("id");
-**requestOptions:** `Flows.RequestOptions` +**requestOptions:** `EventStreamsClient.RequestOptions`
@@ -3369,7 +3459,7 @@ await client.flows.get("id");
-
client.flows.delete(id) -> void +
client.eventStreams.get(id) -> Management.GetEventStreamResponseContent
@@ -3382,7 +3472,7 @@ await client.flows.get("id");
```typescript -await client.flows.delete("id"); +await client.eventStreams.get("id"); ```
@@ -3398,7 +3488,7 @@ await client.flows.delete("id");
-**id:** `string` — Flow id +**id:** `string` — Unique identifier for the event stream.
@@ -3406,7 +3496,7 @@ await client.flows.delete("id");
-**requestOptions:** `Flows.RequestOptions` +**requestOptions:** `EventStreamsClient.RequestOptions`
@@ -3417,7 +3507,7 @@ await client.flows.delete("id");
-
client.flows.update(id, { ...params }) -> Management.UpdateFlowResponseContent +
client.eventStreams.delete(id) -> void
@@ -3430,7 +3520,7 @@ await client.flows.delete("id");
```typescript -await client.flows.update("id"); +await client.eventStreams.delete("id"); ```
@@ -3446,15 +3536,7 @@ await client.flows.update("id");
-**id:** `string` — Flow identifier - -
-
- -
-
- -**request:** `Management.UpdateFlowRequestContent` +**id:** `string` — Unique identifier for the event stream.
@@ -3462,7 +3544,7 @@ await client.flows.update("id");
-**requestOptions:** `Flows.RequestOptions` +**requestOptions:** `EventStreamsClient.RequestOptions`
@@ -3473,9 +3555,7 @@ await client.flows.update("id");
-## Forms - -
client.forms.list({ ...params }) -> core.Page +
client.eventStreams.update(id, { ...params }) -> Management.UpdateEventStreamResponseContent
@@ -3488,27 +3568,7 @@ await client.flows.update("id");
```typescript -const pageableResponse = await client.forms.list({ - page: 1, - per_page: 1, - include_totals: true, -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.forms.list({ - page: 1, - per_page: 1, - include_totals: true, -}); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; +await client.eventStreams.update("id"); ```
@@ -3524,57 +3584,15 @@ const response = page.response;
-**request:** `Management.ListFormsRequestParameters` - -
-
- -
-
- -**requestOptions:** `Forms.RequestOptions` - -
-
- -
- - - -
- -
client.forms.create({ ...params }) -> Management.CreateFormResponseContent -
-
- -#### 🔌 Usage - -
-
- -
-
- -```typescript -await client.forms.create({ - name: "name", -}); -``` +**id:** `string` — Unique identifier for the event stream.
-
-
- -#### ⚙️ Parameters - -
-
-**request:** `Management.CreateFormRequestContent` +**request:** `Management.UpdateEventStreamRequestContent`
@@ -3582,7 +3600,7 @@ await client.forms.create({
-**requestOptions:** `Forms.RequestOptions` +**requestOptions:** `EventStreamsClient.RequestOptions`
@@ -3593,7 +3611,7 @@ await client.forms.create({
-
client.forms.get(id, { ...params }) -> Management.GetFormResponseContent +
client.eventStreams.test(id, { ...params }) -> Management.CreateEventStreamTestEventResponseContent
@@ -3606,7 +3624,9 @@ await client.forms.create({
```typescript -await client.forms.get("id"); +await client.eventStreams.test("id", { + event_type: "user.created", +}); ```
@@ -3622,7 +3642,7 @@ await client.forms.get("id");
-**id:** `string` — The ID of the form to retrieve. +**id:** `string` — Unique identifier for the event stream.
@@ -3630,7 +3650,7 @@ await client.forms.get("id");
-**request:** `Management.GetFormRequestParameters` +**request:** `Management.CreateEventStreamTestEventRequestContent`
@@ -3638,7 +3658,7 @@ await client.forms.get("id");
-**requestOptions:** `Forms.RequestOptions` +**requestOptions:** `EventStreamsClient.RequestOptions`
@@ -3649,7 +3669,9 @@ await client.forms.get("id");
-
client.forms.delete(id) -> void +## Flows + +
client.flows.list({ ...params }) -> core.Page
@@ -3662,7 +3684,29 @@ await client.forms.get("id");
```typescript -await client.forms.delete("id"); +const pageableResponse = await client.flows.list({ + page: 1, + per_page: 1, + include_totals: true, + synchronous: true, +}); +for await (const item of pageableResponse) { + console.log(item); +} + +// Or you can manually iterate page-by-page +let page = await client.flows.list({ + page: 1, + per_page: 1, + include_totals: true, + synchronous: true, +}); +while (page.hasNextPage()) { + page = page.getNextPage(); +} + +// You can also access the underlying response +const response = page.response; ```
@@ -3678,7 +3722,7 @@ await client.forms.delete("id");
-**id:** `string` — The ID of the form to delete. +**request:** `Management.FlowsListRequest`
@@ -3686,7 +3730,7 @@ await client.forms.delete("id");
-**requestOptions:** `Forms.RequestOptions` +**requestOptions:** `FlowsClient.RequestOptions`
@@ -3697,7 +3741,7 @@ await client.forms.delete("id");
-
client.forms.update(id, { ...params }) -> Management.UpdateFormResponseContent +
client.flows.create({ ...params }) -> Management.CreateFlowResponseContent
@@ -3710,7 +3754,9 @@ await client.forms.delete("id");
```typescript -await client.forms.update("id"); +await client.flows.create({ + name: "name", +}); ```
@@ -3726,15 +3772,7 @@ await client.forms.update("id");
-**id:** `string` — The ID of the form to update. - -
-
- -
-
- -**request:** `Management.UpdateFormRequestContent` +**request:** `Management.CreateFlowRequestContent`
@@ -3742,7 +3780,7 @@ await client.forms.update("id");
-**requestOptions:** `Forms.RequestOptions` +**requestOptions:** `FlowsClient.RequestOptions`
@@ -3753,13 +3791,11 @@ await client.forms.update("id");
-## UserGrants - -
client.userGrants.list({ ...params }) -> core.Page +
client.flows.get(id, { ...params }) -> Management.GetFlowResponseContent
-#### 📝 Description +#### 🔌 Usage
@@ -3767,14 +3803,16 @@ await client.forms.update("id");
-Retrieve the grants associated with your account. +```typescript +await client.flows.get("id"); +```
-#### 🔌 Usage +#### ⚙️ Parameters
@@ -3782,50 +3820,15 @@ Retrieve the g
-```typescript -const pageableResponse = await client.userGrants.list({ - per_page: 1, - page: 1, - include_totals: true, - user_id: "user_id", - client_id: "client_id", - audience: "audience", -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.userGrants.list({ - per_page: 1, - page: 1, - include_totals: true, - user_id: "user_id", - client_id: "client_id", - audience: "audience", -}); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; -``` +**id:** `string` — Flow identifier -
-
-#### ⚙️ Parameters - -
-
-
-**request:** `Management.ListUserGrantsRequestParameters` +**request:** `Management.GetFlowRequestParameters`
@@ -3833,7 +3836,7 @@ const response = page.response;
-**requestOptions:** `UserGrants.RequestOptions` +**requestOptions:** `FlowsClient.RequestOptions`
@@ -3844,25 +3847,10 @@ const response = page.response;
-
client.userGrants.deleteByUserId({ ...params }) -> void -
-
- -#### 📝 Description - -
-
- +
client.flows.delete(id) -> void
-Delete a grant associated with your account. - -
-
-
-
- #### 🔌 Usage
@@ -3872,9 +3860,7 @@ Delete a grant associated with your account.
```typescript -await client.userGrants.deleteByUserId({ - user_id: "user_id", -}); +await client.flows.delete("id"); ```
@@ -3890,7 +3876,7 @@ await client.userGrants.deleteByUserId({
-**request:** `Management.DeleteUserGrantByUserIdRequestParameters` +**id:** `string` — Flow id
@@ -3898,7 +3884,7 @@ await client.userGrants.deleteByUserId({
-**requestOptions:** `UserGrants.RequestOptions` +**requestOptions:** `FlowsClient.RequestOptions`
@@ -3909,11 +3895,11 @@ await client.userGrants.deleteByUserId({
-
client.userGrants.delete(id) -> void +
client.flows.update(id, { ...params }) -> Management.UpdateFlowResponseContent
-#### 📝 Description +#### 🔌 Usage
@@ -3921,14 +3907,16 @@ await client.userGrants.deleteByUserId({
-Delete a grant associated with your account. +```typescript +await client.flows.update("id"); +```
-#### 🔌 Usage +#### ⚙️ Parameters
@@ -3936,24 +3924,15 @@ Delete a grant associated with your account.
-```typescript -await client.userGrants.delete("id"); -``` +**id:** `string` — Flow identifier
-
-
- -#### ⚙️ Parameters
-
-
- -**id:** `string` — ID of the grant to delete. +**request:** `Management.UpdateFlowRequestContent`
@@ -3961,7 +3940,7 @@ await client.userGrants.delete("id");
-**requestOptions:** `UserGrants.RequestOptions` +**requestOptions:** `FlowsClient.RequestOptions`
@@ -3972,27 +3951,12 @@ await client.userGrants.delete("id");
-## Hooks - -
client.hooks.list({ ...params }) -> core.Page -
-
- -#### 📝 Description - -
-
+## Forms +
client.forms.list({ ...params }) -> core.Page
-Retrieve all hooks. Accepts a list of fields to include or exclude in the result. - -
-
-
-
- #### 🔌 Usage
@@ -4002,26 +3966,20 @@ Retrieve all hooks. Accepts a list of
```typescript -const pageableResponse = await client.hooks.list({ +const pageableResponse = await client.forms.list({ page: 1, per_page: 1, include_totals: true, - enabled: true, - fields: "fields", - triggerId: "credentials-exchange", }); for await (const item of pageableResponse) { console.log(item); } // Or you can manually iterate page-by-page -let page = await client.hooks.list({ +let page = await client.forms.list({ page: 1, per_page: 1, include_totals: true, - enabled: true, - fields: "fields", - triggerId: "credentials-exchange", }); while (page.hasNextPage()) { page = page.getNextPage(); @@ -4044,7 +4002,7 @@ const response = page.response;
-**request:** `Management.ListHooksRequestParameters` +**request:** `Management.ListFormsRequestParameters`
@@ -4052,7 +4010,7 @@ const response = page.response;
-**requestOptions:** `Hooks.RequestOptions` +**requestOptions:** `FormsClient.RequestOptions`
@@ -4063,25 +4021,10 @@ const response = page.response;
-
client.hooks.create({ ...params }) -> Management.CreateHookResponseContent -
-
- -#### 📝 Description - -
-
- +
client.forms.create({ ...params }) -> Management.CreateFormResponseContent
-Create a new hook. - -
-
-
-
- #### 🔌 Usage
@@ -4091,10 +4034,8 @@ Create a new hook.
```typescript -await client.hooks.create({ +await client.forms.create({ name: "name", - script: "script", - triggerId: "credentials-exchange", }); ``` @@ -4111,7 +4052,7 @@ await client.hooks.create({
-**request:** `Management.CreateHookRequestContent` +**request:** `Management.CreateFormRequestContent`
@@ -4119,7 +4060,7 @@ await client.hooks.create({
-**requestOptions:** `Hooks.RequestOptions` +**requestOptions:** `FormsClient.RequestOptions`
@@ -4130,11 +4071,11 @@ await client.hooks.create({
-
client.hooks.get(id, { ...params }) -> Management.GetHookResponseContent +
client.forms.get(id, { ...params }) -> Management.GetFormResponseContent
-#### 📝 Description +#### 🔌 Usage
@@ -4142,7 +4083,544 @@ await client.hooks.create({
-Retrieve a hook by its ID. Accepts a list of fields to include in the result. +```typescript +await client.forms.get("id"); +``` + +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `string` — The ID of the form to retrieve. + +
+
+ +
+
+ +**request:** `Management.GetFormRequestParameters` + +
+
+ +
+
+ +**requestOptions:** `FormsClient.RequestOptions` + +
+
+
+
+ +
+
+
+ +
client.forms.delete(id) -> void +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```typescript +await client.forms.delete("id"); +``` + +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `string` — The ID of the form to delete. + +
+
+ +
+
+ +**requestOptions:** `FormsClient.RequestOptions` + +
+
+
+
+ +
+
+
+ +
client.forms.update(id, { ...params }) -> Management.UpdateFormResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```typescript +await client.forms.update("id"); +``` + +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `string` — The ID of the form to update. + +
+
+ +
+
+ +**request:** `Management.UpdateFormRequestContent` + +
+
+ +
+
+ +**requestOptions:** `FormsClient.RequestOptions` + +
+
+
+
+ +
+
+
+ +## UserGrants + +
client.userGrants.list({ ...params }) -> core.Page +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve the grants associated with your account. + +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```typescript +const pageableResponse = await client.userGrants.list({ + per_page: 1, + page: 1, + include_totals: true, + user_id: "user_id", + client_id: "client_id", + audience: "audience", +}); +for await (const item of pageableResponse) { + console.log(item); +} + +// Or you can manually iterate page-by-page +let page = await client.userGrants.list({ + per_page: 1, + page: 1, + include_totals: true, + user_id: "user_id", + client_id: "client_id", + audience: "audience", +}); +while (page.hasNextPage()) { + page = page.getNextPage(); +} + +// You can also access the underlying response +const response = page.response; +``` + +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request:** `Management.ListUserGrantsRequestParameters` + +
+
+ +
+
+ +**requestOptions:** `UserGrantsClient.RequestOptions` + +
+
+
+
+ +
+
+
+ +
client.userGrants.deleteByUserId({ ...params }) -> void +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete a grant associated with your account. + +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```typescript +await client.userGrants.deleteByUserId({ + user_id: "user_id", +}); +``` + +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request:** `Management.DeleteUserGrantByUserIdRequestParameters` + +
+
+ +
+
+ +**requestOptions:** `UserGrantsClient.RequestOptions` + +
+
+
+
+ +
+
+
+ +
client.userGrants.delete(id) -> void +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete a grant associated with your account. + +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```typescript +await client.userGrants.delete("id"); +``` + +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `string` — ID of the grant to delete. + +
+
+ +
+
+ +**requestOptions:** `UserGrantsClient.RequestOptions` + +
+
+
+
+ +
+
+
+ +## Hooks + +
client.hooks.list({ ...params }) -> core.Page +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve all hooks. Accepts a list of fields to include or exclude in the result. + +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```typescript +const pageableResponse = await client.hooks.list({ + page: 1, + per_page: 1, + include_totals: true, + enabled: true, + fields: "fields", + triggerId: "credentials-exchange", +}); +for await (const item of pageableResponse) { + console.log(item); +} + +// Or you can manually iterate page-by-page +let page = await client.hooks.list({ + page: 1, + per_page: 1, + include_totals: true, + enabled: true, + fields: "fields", + triggerId: "credentials-exchange", +}); +while (page.hasNextPage()) { + page = page.getNextPage(); +} + +// You can also access the underlying response +const response = page.response; +``` + +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request:** `Management.ListHooksRequestParameters` + +
+
+ +
+
+ +**requestOptions:** `HooksClient.RequestOptions` + +
+
+
+
+ +
+
+
+ +
client.hooks.create({ ...params }) -> Management.CreateHookResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a new hook. + +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```typescript +await client.hooks.create({ + name: "name", + script: "script", + triggerId: "credentials-exchange", +}); +``` + +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request:** `Management.CreateHookRequestContent` + +
+
+ +
+
+ +**requestOptions:** `HooksClient.RequestOptions` + +
+
+
+
+ +
+
+
+ +
client.hooks.get(id, { ...params }) -> Management.GetHookResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve a hook by its ID. Accepts a list of fields to include in the result.
@@ -4192,7 +4670,7 @@ await client.hooks.get("id", {
-**requestOptions:** `Hooks.RequestOptions` +**requestOptions:** `HooksClient.RequestOptions`
@@ -4255,7 +4733,7 @@ await client.hooks.delete("id");
-**requestOptions:** `Hooks.RequestOptions` +**requestOptions:** `HooksClient.RequestOptions`
@@ -4326,7 +4804,7 @@ await client.hooks.update("id");
-**requestOptions:** `Hooks.RequestOptions` +**requestOptions:** `HooksClient.RequestOptions`
@@ -4391,7 +4869,7 @@ await client.jobs.get("id");
-**requestOptions:** `Jobs.RequestOptions` +**requestOptions:** `JobsClient.RequestOptions`
@@ -4513,7 +4991,7 @@ await client.logStreams.list();
-**requestOptions:** `LogStreams.RequestOptions` +**requestOptions:** `LogStreamsClient.RequestOptions`
@@ -4706,7 +5184,7 @@ await client.logStreams.create({
-**requestOptions:** `LogStreams.RequestOptions` +**requestOptions:** `LogStreamsClient.RequestOptions`
@@ -4867,7 +5345,7 @@ await client.logStreams.get("id");
-**requestOptions:** `LogStreams.RequestOptions` +**requestOptions:** `LogStreamsClient.RequestOptions`
@@ -4930,7 +5408,7 @@ await client.logStreams.delete("id");
-**requestOptions:** `LogStreams.RequestOptions` +**requestOptions:** `LogStreamsClient.RequestOptions`
@@ -5035,7 +5513,7 @@ await client.logStreams.update("id");
-**requestOptions:** `LogStreams.RequestOptions` +**requestOptions:** `LogStreamsClient.RequestOptions`
@@ -5156,7 +5634,7 @@ const response = page.response;
-**requestOptions:** `Logs.RequestOptions` +**requestOptions:** `LogsClient.RequestOptions`
@@ -5219,7 +5697,7 @@ await client.logs.get("id");
-**requestOptions:** `Logs.RequestOptions` +**requestOptions:** `LogsClient.RequestOptions`
@@ -5304,7 +5782,7 @@ const response = page.response;
-**requestOptions:** `NetworkAcls.RequestOptions` +**requestOptions:** `NetworkAclsClient.RequestOptions`
@@ -5375,7 +5853,7 @@ await client.networkAcls.create({
-**requestOptions:** `NetworkAcls.RequestOptions` +**requestOptions:** `NetworkAclsClient.RequestOptions`
@@ -5438,7 +5916,7 @@ await client.networkAcls.get("id");
-**requestOptions:** `NetworkAcls.RequestOptions` +**requestOptions:** `NetworkAclsClient.RequestOptions`
@@ -5517,7 +5995,7 @@ await client.networkAcls.set("id", {
-**requestOptions:** `NetworkAcls.RequestOptions` +**requestOptions:** `NetworkAclsClient.RequestOptions`
@@ -5580,7 +6058,7 @@ await client.networkAcls.delete("id");
-**requestOptions:** `NetworkAcls.RequestOptions` +**requestOptions:** `NetworkAclsClient.RequestOptions`
@@ -5651,7 +6129,7 @@ await client.networkAcls.update("id");
-**requestOptions:** `NetworkAcls.RequestOptions` +**requestOptions:** `NetworkAclsClient.RequestOptions`
@@ -5756,7 +6234,7 @@ const response = page.response;
-**requestOptions:** `Organizations.RequestOptions` +**requestOptions:** `OrganizationsClient.RequestOptions`
@@ -5821,7 +6299,7 @@ await client.organizations.create({
-**requestOptions:** `Organizations.RequestOptions` +**requestOptions:** `OrganizationsClient.RequestOptions`
@@ -5884,7 +6362,7 @@ await client.organizations.getByName("name");
-**requestOptions:** `Organizations.RequestOptions` +**requestOptions:** `OrganizationsClient.RequestOptions`
@@ -5947,7 +6425,7 @@ await client.organizations.get("id");
-**requestOptions:** `Organizations.RequestOptions` +**requestOptions:** `OrganizationsClient.RequestOptions`
@@ -6012,7 +6490,7 @@ await client.organizations.delete("id");
-**requestOptions:** `Organizations.RequestOptions` +**requestOptions:** `OrganizationsClient.RequestOptions`
@@ -6083,7 +6561,7 @@ await client.organizations.update("id");
-**requestOptions:** `Organizations.RequestOptions` +**requestOptions:** `OrganizationsClient.RequestOptions`
@@ -6140,7 +6618,7 @@ await client.prompts.getSettings();
-**requestOptions:** `Prompts.RequestOptions` +**requestOptions:** `PromptsClient.RequestOptions`
@@ -6203,7 +6681,7 @@ await client.prompts.updateSettings();
-**requestOptions:** `Prompts.RequestOptions` +**requestOptions:** `PromptsClient.RequestOptions`
@@ -6268,7 +6746,7 @@ await client.refreshTokens.get("id");
-**requestOptions:** `RefreshTokens.RequestOptions` +**requestOptions:** `RefreshTokensClient.RequestOptions`
@@ -6331,7 +6809,7 @@ await client.refreshTokens.delete("id");
-**requestOptions:** `RefreshTokens.RequestOptions` +**requestOptions:** `RefreshTokensClient.RequestOptions`
@@ -6418,7 +6896,7 @@ const response = page.response;
-**requestOptions:** `ResourceServers.RequestOptions` +**requestOptions:** `ResourceServersClient.RequestOptions`
@@ -6483,7 +6961,7 @@ await client.resourceServers.create({
-**requestOptions:** `ResourceServers.RequestOptions` +**requestOptions:** `ResourceServersClient.RequestOptions`
@@ -6556,7 +7034,7 @@ await client.resourceServers.get("id", {
-**requestOptions:** `ResourceServers.RequestOptions` +**requestOptions:** `ResourceServersClient.RequestOptions`
@@ -6619,7 +7097,7 @@ await client.resourceServers.delete("id");
-**requestOptions:** `ResourceServers.RequestOptions` +**requestOptions:** `ResourceServersClient.RequestOptions`
@@ -6690,7 +7168,7 @@ await client.resourceServers.update("id");
-**requestOptions:** `ResourceServers.RequestOptions` +**requestOptions:** `ResourceServersClient.RequestOptions`
@@ -6779,7 +7257,7 @@ const response = page.response;
-**requestOptions:** `Roles.RequestOptions` +**requestOptions:** `RolesClient.RequestOptions`
@@ -6846,7 +7324,7 @@ await client.roles.create({
-**requestOptions:** `Roles.RequestOptions` +**requestOptions:** `RolesClient.RequestOptions`
@@ -6909,7 +7387,7 @@ await client.roles.get("id");
-**requestOptions:** `Roles.RequestOptions` +**requestOptions:** `RolesClient.RequestOptions`
@@ -6972,7 +7450,7 @@ await client.roles.delete("id");
-**requestOptions:** `Roles.RequestOptions` +**requestOptions:** `RolesClient.RequestOptions`
@@ -7043,7 +7521,7 @@ await client.roles.update("id");
-**requestOptions:** `Roles.RequestOptions` +**requestOptions:** `RolesClient.RequestOptions`
@@ -7134,7 +7612,7 @@ const response = page.response;
-**requestOptions:** `Rules.RequestOptions` +**requestOptions:** `RulesClient.RequestOptions`
@@ -7202,7 +7680,7 @@ await client.rules.create({
-**requestOptions:** `Rules.RequestOptions` +**requestOptions:** `RulesClient.RequestOptions`
@@ -7276,7 +7754,7 @@ await client.rules.get("id", {
-**requestOptions:** `Rules.RequestOptions` +**requestOptions:** `RulesClient.RequestOptions`
@@ -7339,7 +7817,7 @@ await client.rules.delete("id");
-**requestOptions:** `Rules.RequestOptions` +**requestOptions:** `RulesClient.RequestOptions`
@@ -7410,7 +7888,7 @@ await client.rules.update("id");
-**requestOptions:** `Rules.RequestOptions` +**requestOptions:** `RulesClient.RequestOptions`
@@ -7469,7 +7947,7 @@ await client.rulesConfigs.list();
-**requestOptions:** `RulesConfigs.RequestOptions` +**requestOptions:** `RulesConfigsClient.RequestOptions`
@@ -7542,7 +8020,7 @@ await client.rulesConfigs.set("key", {
-**requestOptions:** `RulesConfigs.RequestOptions` +**requestOptions:** `RulesConfigsClient.RequestOptions`
@@ -7605,7 +8083,7 @@ await client.rulesConfigs.delete("key");
-**requestOptions:** `RulesConfigs.RequestOptions` +**requestOptions:** `RulesConfigsClient.RequestOptions`
@@ -7690,7 +8168,7 @@ const response = page.response;
-**requestOptions:** `SelfServiceProfiles.RequestOptions` +**requestOptions:** `SelfServiceProfilesClient.RequestOptions`
@@ -7755,7 +8233,7 @@ await client.selfServiceProfiles.create({
-**requestOptions:** `SelfServiceProfiles.RequestOptions` +**requestOptions:** `SelfServiceProfilesClient.RequestOptions`
@@ -7818,7 +8296,7 @@ await client.selfServiceProfiles.get("id");
-**requestOptions:** `SelfServiceProfiles.RequestOptions` +**requestOptions:** `SelfServiceProfilesClient.RequestOptions`
@@ -7881,7 +8359,7 @@ await client.selfServiceProfiles.delete("id");
-**requestOptions:** `SelfServiceProfiles.RequestOptions` +**requestOptions:** `SelfServiceProfilesClient.RequestOptions`
@@ -7952,7 +8430,7 @@ await client.selfServiceProfiles.update("id");
-**requestOptions:** `SelfServiceProfiles.RequestOptions` +**requestOptions:** `SelfServiceProfilesClient.RequestOptions`
@@ -8017,7 +8495,7 @@ await client.sessions.get("id");
-**requestOptions:** `Sessions.RequestOptions` +**requestOptions:** `SessionsClient.RequestOptions`
@@ -8080,7 +8558,7 @@ await client.sessions.delete("id");
-**requestOptions:** `Sessions.RequestOptions` +**requestOptions:** `SessionsClient.RequestOptions`
@@ -8151,7 +8629,7 @@ await client.sessions.update("id");
-**requestOptions:** `Sessions.RequestOptions` +**requestOptions:** `SessionsClient.RequestOptions`
@@ -8214,7 +8692,7 @@ await client.sessions.revoke("id");
-**requestOptions:** `Sessions.RequestOptions` +**requestOptions:** `SessionsClient.RequestOptions`
@@ -8271,7 +8749,7 @@ await client.stats.getActiveUsersCount();
-**requestOptions:** `Stats.RequestOptions` +**requestOptions:** `StatsClient.RequestOptions`
@@ -8337,7 +8815,7 @@ await client.stats.getDaily({
-**requestOptions:** `Stats.RequestOptions` +**requestOptions:** `StatsClient.RequestOptions`
@@ -8394,7 +8872,7 @@ await client.supplementalSignals.get();
-**requestOptions:** `SupplementalSignals.RequestOptions` +**requestOptions:** `SupplementalSignalsClient.RequestOptions`
@@ -8459,7 +8937,7 @@ await client.supplementalSignals.patch({
-**requestOptions:** `SupplementalSignals.RequestOptions` +**requestOptions:** `SupplementalSignalsClient.RequestOptions`
@@ -8526,7 +9004,7 @@ await client.tickets.verifyEmail({
-**requestOptions:** `Tickets.RequestOptions` +**requestOptions:** `TicketsClient.RequestOptions`
@@ -8591,7 +9069,7 @@ await client.tickets.changePassword();
-**requestOptions:** `Tickets.RequestOptions` +**requestOptions:** `TicketsClient.RequestOptions`
@@ -8618,6 +9096,8 @@ await client.tickets.changePassword(); Retrieve a list of all Token Exchange Profiles available in your tenant. +By using this feature, you agree to the applicable Free Trial terms in Okta’s Master Subscription Agreement. It is your responsibility to securely validate the user’s subject_token. See User Guide for more details. + This endpoint supports Checkpoint pagination. To search by checkpoint, use the following parameters:
    @@ -8683,7 +9163,7 @@ const response = page.response;
    -**requestOptions:** `TokenExchangeProfiles.RequestOptions` +**requestOptions:** `TokenExchangeProfilesClient.RequestOptions`
    @@ -8708,6 +9188,8 @@ const response = page.response; Create a new Token Exchange Profile within your tenant. +By using this feature, you agree to the applicable Free Trial terms in Okta’s Master Subscription Agreement. It is your responsibility to securely validate the user’s subject_token. See User Guide for more details. +
@@ -8750,7 +9232,7 @@ await client.tokenExchangeProfiles.create({
-**requestOptions:** `TokenExchangeProfiles.RequestOptions` +**requestOptions:** `TokenExchangeProfilesClient.RequestOptions`
@@ -8775,6 +9257,8 @@ await client.tokenExchangeProfiles.create({ Retrieve details about a single Token Exchange Profile specified by ID. +By using this feature, you agree to the applicable Free Trial terms in Okta’s Master Subscription Agreement. It is your responsibility to securely validate the user’s subject_token. See User Guide for more details. +
@@ -8813,7 +9297,7 @@ await client.tokenExchangeProfiles.get("id");
-**requestOptions:** `TokenExchangeProfiles.RequestOptions` +**requestOptions:** `TokenExchangeProfilesClient.RequestOptions`
@@ -8838,6 +9322,8 @@ await client.tokenExchangeProfiles.get("id"); Delete a Token Exchange Profile within your tenant. +By using this feature, you agree to the applicable Free Trial terms in Okta's Master Subscription Agreement. It is your responsibility to securely validate the user's subject_token. See User Guide for more details. + @@ -8876,7 +9362,7 @@ await client.tokenExchangeProfiles.delete("id");
-**requestOptions:** `TokenExchangeProfiles.RequestOptions` +**requestOptions:** `TokenExchangeProfilesClient.RequestOptions`
@@ -8901,6 +9387,8 @@ await client.tokenExchangeProfiles.delete("id"); Update a Token Exchange Profile within your tenant. +By using this feature, you agree to the applicable Free Trial terms in Okta's Master Subscription Agreement. It is your responsibility to securely validate the user's subject_token. See User Guide for more details. + @@ -8947,7 +9435,7 @@ await client.tokenExchangeProfiles.update("id");
-**requestOptions:** `TokenExchangeProfiles.RequestOptions` +**requestOptions:** `TokenExchangeProfilesClient.RequestOptions`
@@ -9030,7 +9518,7 @@ const response = page.response;
-**requestOptions:** `UserAttributeProfiles.RequestOptions` +**requestOptions:** `UserAttributeProfilesClient.RequestOptions`
@@ -9103,7 +9591,7 @@ await client.userAttributeProfiles.create({
-**requestOptions:** `UserAttributeProfiles.RequestOptions` +**requestOptions:** `UserAttributeProfilesClient.RequestOptions`
@@ -9158,7 +9646,7 @@ await client.userAttributeProfiles.listTemplates();
-**requestOptions:** `UserAttributeProfiles.RequestOptions` +**requestOptions:** `UserAttributeProfilesClient.RequestOptions`
@@ -9221,7 +9709,7 @@ await client.userAttributeProfiles.getTemplate("id");
-**requestOptions:** `UserAttributeProfiles.RequestOptions` +**requestOptions:** `UserAttributeProfilesClient.RequestOptions`
@@ -9284,7 +9772,7 @@ await client.userAttributeProfiles.get("id");
-**requestOptions:** `UserAttributeProfiles.RequestOptions` +**requestOptions:** `UserAttributeProfilesClient.RequestOptions`
@@ -9347,7 +9835,7 @@ await client.userAttributeProfiles.delete("id");
-**requestOptions:** `UserAttributeProfiles.RequestOptions` +**requestOptions:** `UserAttributeProfilesClient.RequestOptions`
@@ -9418,7 +9906,7 @@ await client.userAttributeProfiles.update("id");
-**requestOptions:** `UserAttributeProfiles.RequestOptions` +**requestOptions:** `UserAttributeProfilesClient.RequestOptions`
@@ -9486,7 +9974,7 @@ await client.userBlocks.listByIdentifier({
-**requestOptions:** `UserBlocks.RequestOptions` +**requestOptions:** `UserBlocksClient.RequestOptions`
@@ -9553,7 +10041,7 @@ await client.userBlocks.deleteByIdentifier({
-**requestOptions:** `UserBlocks.RequestOptions` +**requestOptions:** `UserBlocksClient.RequestOptions`
@@ -9626,7 +10114,7 @@ await client.userBlocks.list("id", {
-**requestOptions:** `UserBlocks.RequestOptions` +**requestOptions:** `UserBlocksClient.RequestOptions`
@@ -9691,7 +10179,7 @@ await client.userBlocks.delete("id");
-**requestOptions:** `UserBlocks.RequestOptions` +**requestOptions:** `UserBlocksClient.RequestOptions`
@@ -9803,7 +10291,7 @@ const response = page.response;
-**requestOptions:** `Users.RequestOptions` +**requestOptions:** `UsersClient.RequestOptions`
@@ -9870,7 +10358,7 @@ await client.users.create({
-**requestOptions:** `Users.RequestOptions` +**requestOptions:** `UsersClient.RequestOptions`
@@ -9941,7 +10429,7 @@ await client.users.listUsersByEmail({
-**requestOptions:** `Users.RequestOptions` +**requestOptions:** `UsersClient.RequestOptions`
@@ -10015,7 +10503,7 @@ await client.users.get("id", {
-**requestOptions:** `Users.RequestOptions` +**requestOptions:** `UsersClient.RequestOptions`
@@ -10078,7 +10566,7 @@ await client.users.delete("id");
-**requestOptions:** `Users.RequestOptions` +**requestOptions:** `UsersClient.RequestOptions`
@@ -10220,7 +10708,7 @@ await client.users.update("id");
-**requestOptions:** `Users.RequestOptions` +**requestOptions:** `UsersClient.RequestOptions`
@@ -10283,7 +10771,7 @@ await client.users.regenerateRecoveryCode("id");
-**requestOptions:** `Users.RequestOptions` +**requestOptions:** `UsersClient.RequestOptions`
@@ -10354,7 +10842,7 @@ await client.users.revokeAccess("id");
-**requestOptions:** `Users.RequestOptions` +**requestOptions:** `UsersClient.RequestOptions`
@@ -10445,7 +10933,7 @@ const response = page.response;
-**requestOptions:** `Versions.RequestOptions` +**requestOptions:** `VersionsClient.RequestOptions`
@@ -10516,7 +11004,7 @@ await client.actions.versions.get("actionId", "id");
-**requestOptions:** `Versions.RequestOptions` +**requestOptions:** `VersionsClient.RequestOptions`
@@ -10595,7 +11083,7 @@ await client.actions.versions.deploy("actionId", "id");
-**requestOptions:** `Versions.RequestOptions` +**requestOptions:** `VersionsClient.RequestOptions`
@@ -10660,7 +11148,7 @@ await client.actions.executions.get("id");
-**requestOptions:** `Executions.RequestOptions` +**requestOptions:** `ExecutionsClient.RequestOptions`
@@ -10717,7 +11205,7 @@ await client.actions.triggers.list();
-**requestOptions:** `Triggers.RequestOptions` +**requestOptions:** `TriggersClient.RequestOptions`
@@ -10808,7 +11296,7 @@ const response = page.response;
-**requestOptions:** `Bindings.RequestOptions` +**requestOptions:** `BindingsClient.RequestOptions`
@@ -10879,7 +11367,7 @@ await client.actions.triggers.bindings.updateMany("triggerId");
-**requestOptions:** `Bindings.RequestOptions` +**requestOptions:** `BindingsClient.RequestOptions`
@@ -10944,7 +11432,7 @@ await client.anomaly.blocks.checkIp("id");
-**requestOptions:** `Blocks.RequestOptions` +**requestOptions:** `BlocksClient.RequestOptions`
@@ -11007,7 +11495,7 @@ await client.anomaly.blocks.unblockIp("id");
-**requestOptions:** `Blocks.RequestOptions` +**requestOptions:** `BlocksClient.RequestOptions`
@@ -11064,7 +11552,7 @@ await client.attackProtection.botDetection.get();
-**requestOptions:** `BotDetection.RequestOptions` +**requestOptions:** `BotDetectionClient.RequestOptions`
@@ -11127,7 +11615,7 @@ await client.attackProtection.botDetection.update();
-**requestOptions:** `BotDetection.RequestOptions` +**requestOptions:** `BotDetectionClient.RequestOptions`
@@ -11184,7 +11672,7 @@ await client.attackProtection.breachedPasswordDetection.get();
-**requestOptions:** `BreachedPasswordDetection.RequestOptions` +**requestOptions:** `BreachedPasswordDetectionClient.RequestOptions`
@@ -11247,7 +11735,7 @@ await client.attackProtection.breachedPasswordDetection.update();
-**requestOptions:** `BreachedPasswordDetection.RequestOptions` +**requestOptions:** `BreachedPasswordDetectionClient.RequestOptions`
@@ -11304,7 +11792,7 @@ await client.attackProtection.bruteForceProtection.get();
-**requestOptions:** `BruteForceProtection.RequestOptions` +**requestOptions:** `BruteForceProtectionClient.RequestOptions`
@@ -11367,7 +11855,7 @@ await client.attackProtection.bruteForceProtection.update();
-**requestOptions:** `BruteForceProtection.RequestOptions` +**requestOptions:** `BruteForceProtectionClient.RequestOptions`
@@ -11424,7 +11912,7 @@ await client.attackProtection.captcha.get();
-**requestOptions:** `Captcha.RequestOptions` +**requestOptions:** `CaptchaClient.RequestOptions`
@@ -11487,7 +11975,7 @@ await client.attackProtection.captcha.update();
-**requestOptions:** `Captcha.RequestOptions` +**requestOptions:** `CaptchaClient.RequestOptions`
@@ -11544,7 +12032,7 @@ await client.attackProtection.suspiciousIpThrottling.get();
-**requestOptions:** `SuspiciousIpThrottling.RequestOptions` +**requestOptions:** `SuspiciousIpThrottlingClient.RequestOptions`
@@ -11607,7 +12095,7 @@ await client.attackProtection.suspiciousIpThrottling.update();
-**requestOptions:** `SuspiciousIpThrottling.RequestOptions` +**requestOptions:** `SuspiciousIpThrottlingClient.RequestOptions`
@@ -11649,7 +12137,7 @@ await client.branding.templates.getUniversalLogin();
-**requestOptions:** `Templates.RequestOptions` +**requestOptions:** `TemplatesClient.RequestOptions`
@@ -11734,7 +12222,7 @@ await client.branding.templates.updateUniversalLogin("string");
-**requestOptions:** `Templates.RequestOptions` +**requestOptions:** `TemplatesClient.RequestOptions`
@@ -11774,7 +12262,7 @@ await client.branding.templates.deleteUniversalLogin();
-**requestOptions:** `Templates.RequestOptions` +**requestOptions:** `TemplatesClient.RequestOptions`
@@ -11910,7 +12398,7 @@ await client.branding.themes.create({
-**requestOptions:** `Themes.RequestOptions` +**requestOptions:** `ThemesClient.RequestOptions`
@@ -11965,7 +12453,7 @@ await client.branding.themes.getDefault();
-**requestOptions:** `Themes.RequestOptions` +**requestOptions:** `ThemesClient.RequestOptions`
@@ -12028,7 +12516,7 @@ await client.branding.themes.get("themeId");
-**requestOptions:** `Themes.RequestOptions` +**requestOptions:** `ThemesClient.RequestOptions`
@@ -12091,7 +12579,7 @@ await client.branding.themes.delete("themeId");
-**requestOptions:** `Themes.RequestOptions` +**requestOptions:** `ThemesClient.RequestOptions`
@@ -12225,7 +12713,206 @@ await client.branding.themes.update("themeId", {
-**request:** `Management.UpdateBrandingThemeRequestContent` +**request:** `Management.UpdateBrandingThemeRequestContent` + +
+
+ +
+
+ +**requestOptions:** `ThemesClient.RequestOptions` + +
+
+ + + + + +
+ +## Branding Phone Providers + +
client.branding.phone.providers.list({ ...params }) -> Management.ListBrandingPhoneProvidersResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve a list of phone providers details set for a Tenant. A list of fields to include or exclude may also be specified. + +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```typescript +await client.branding.phone.providers.list({ + disabled: true, +}); +``` + +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request:** `Management.ListBrandingPhoneProvidersRequestParameters` + +
+
+ +
+
+ +**requestOptions:** `ProvidersClient.RequestOptions` + +
+
+
+
+ +
+
+
+ +
client.branding.phone.providers.create({ ...params }) -> Management.CreateBrandingPhoneProviderResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a phone provider. +The credentials object requires different properties depending on the phone provider (which is specified using the name property). + +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```typescript +await client.branding.phone.providers.create({ + name: "twilio", + credentials: { + auth_token: "auth_token", + }, +}); +``` + +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request:** `Management.CreateBrandingPhoneProviderRequestContent` + +
+
+ +
+
+ +**requestOptions:** `ProvidersClient.RequestOptions` + +
+
+
+
+ +
+
+
+ +
client.branding.phone.providers.get(id) -> Management.GetBrandingPhoneProviderResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve phone provider details. A list of fields to include or exclude may also be specified. + +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```typescript +await client.branding.phone.providers.get("id"); +``` + +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `string`
@@ -12233,7 +12920,7 @@ await client.branding.themes.update("themeId", {
-**requestOptions:** `Themes.RequestOptions` +**requestOptions:** `ProvidersClient.RequestOptions`
@@ -12244,9 +12931,7 @@ await client.branding.themes.update("themeId", {
-## Branding Phone Providers - -
client.branding.phone.providers.list({ ...params }) -> Management.ListBrandingPhoneProvidersResponseContent +
client.branding.phone.providers.delete(id) -> void
@@ -12258,7 +12943,7 @@ await client.branding.themes.update("themeId", {
-Retrieve a list of phone providers details set for a Tenant. A list of fields to include or exclude may also be specified. +Delete the configured phone provider.
@@ -12274,9 +12959,7 @@ Retrieve a list of @@ -12292,7 +12975,7 @@ await client.branding.phone.providers.list({
-**request:** `Management.ListBrandingPhoneProvidersRequestParameters` +**id:** `string`
@@ -12300,7 +12983,7 @@ await client.branding.phone.providers.list({
-**requestOptions:** `Providers.RequestOptions` +**requestOptions:** `ProvidersClient.RequestOptions`
@@ -12311,7 +12994,7 @@ await client.branding.phone.providers.list({
-
client.branding.phone.providers.create({ ...params }) -> Management.CreateBrandingPhoneProviderResponseContent +
client.branding.phone.providers.update(id, { ...params }) -> Management.UpdateBrandingPhoneProviderResponseContent
@@ -12323,7 +13006,7 @@ await client.branding.phone.providers.list({
-Create a phone provider. +Update a phone provider. The credentials object requires different properties depending on the phone provider (which is specified using the name property).
@@ -12340,12 +13023,7 @@ The credentials object requires different properties depending on t
```typescript -await client.branding.phone.providers.create({ - name: "twilio", - credentials: { - auth_token: "auth_token", - }, -}); +await client.branding.phone.providers.update("id"); ```
@@ -12361,7 +13039,15 @@ await client.branding.phone.providers.create({
-**request:** `Management.CreateBrandingPhoneProviderRequestContent` +**id:** `string` + +
+
+ +
+
+ +**request:** `Management.UpdateBrandingPhoneProviderRequestContent`
@@ -12369,7 +13055,7 @@ await client.branding.phone.providers.create({
-**requestOptions:** `Providers.RequestOptions` +**requestOptions:** `ProvidersClient.RequestOptions`
@@ -12380,11 +13066,11 @@ await client.branding.phone.providers.create({
-
client.branding.phone.providers.get(id) -> Management.GetBrandingPhoneProviderResponseContent +
client.branding.phone.providers.test(id, { ...params }) -> Management.CreatePhoneProviderSendTestResponseContent
-#### 📝 Description +#### 🔌 Usage
@@ -12392,12 +13078,57 @@ await client.branding.phone.providers.create({
-Retrieve phone provider details. A list of fields to include or exclude may also be specified. +```typescript +await client.branding.phone.providers.test("id", { + to: "to", +}); +``` + +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `string` + +
+
+ +
+
+ +**request:** `Management.CreatePhoneProviderSendTestRequestContent` + +
+
+ +
+
+**requestOptions:** `ProvidersClient.RequestOptions` + +
+
+
+
+ +## Branding Phone Templates + +
client.branding.phone.templates.list({ ...params }) -> Management.ListPhoneTemplatesResponseContent +
+
#### 🔌 Usage @@ -12408,7 +13139,9 @@ Retrieve @@ -12424,7 +13157,7 @@ await client.branding.phone.providers.get("id");
-**id:** `string` +**request:** `Management.ListPhoneTemplatesRequestParameters`
@@ -12432,7 +13165,7 @@ await client.branding.phone.providers.get("id");
-**requestOptions:** `Providers.RequestOptions` +**requestOptions:** `TemplatesClient.RequestOptions`
@@ -12443,11 +13176,11 @@ await client.branding.phone.providers.get("id");
-
client.branding.phone.providers.delete(id) -> void +
client.branding.phone.templates.create({ ...params }) -> Management.CreatePhoneTemplateResponseContent
-#### 📝 Description +#### 🔌 Usage
@@ -12455,12 +13188,45 @@ await client.branding.phone.providers.get("id");
-Delete the configured phone provider. +```typescript +await client.branding.phone.templates.create(); +``` + +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+**request:** `Management.CreatePhoneTemplateRequestContent` + +
+
+ +
+
+ +**requestOptions:** `TemplatesClient.RequestOptions` + +
+
+
+
+ +
client.branding.phone.templates.get(id) -> Management.GetPhoneTemplateResponseContent +
+
#### 🔌 Usage @@ -12471,7 +13237,7 @@ Delete the configured phone provider.
```typescript -await client.branding.phone.providers.delete("id"); +await client.branding.phone.templates.get("id"); ```
@@ -12495,7 +13261,7 @@ await client.branding.phone.providers.delete("id");
-**requestOptions:** `Providers.RequestOptions` +**requestOptions:** `TemplatesClient.RequestOptions`
@@ -12506,11 +13272,11 @@ await client.branding.phone.providers.delete("id");
-
client.branding.phone.providers.update(id, { ...params }) -> Management.UpdateBrandingPhoneProviderResponseContent +
client.branding.phone.templates.delete(id) -> void
-#### 📝 Description +#### 🔌 Usage
@@ -12518,14 +13284,46 @@ await client.branding.phone.providers.delete("id");
-Update a phone provider. -The credentials object requires different properties depending on the phone provider (which is specified using the name property). +```typescript +await client.branding.phone.templates.delete("id"); +``` + +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `string` + +
+
+ +
+
+ +**requestOptions:** `TemplatesClient.RequestOptions`
+
+
+
+ +
client.branding.phone.templates.update(id, { ...params }) -> Management.UpdatePhoneTemplateResponseContent +
+
+ #### 🔌 Usage
@@ -12535,7 +13333,7 @@ The credentials object requires different properties depending on t
```typescript -await client.branding.phone.providers.update("id"); +await client.branding.phone.templates.update("id"); ```
@@ -12559,7 +13357,7 @@ await client.branding.phone.providers.update("id");
-**request:** `Management.UpdateBrandingPhoneProviderRequestContent` +**request:** `Management.UpdatePhoneTemplateRequestContent`
@@ -12567,7 +13365,7 @@ await client.branding.phone.providers.update("id");
-**requestOptions:** `Providers.RequestOptions` +**requestOptions:** `TemplatesClient.RequestOptions`
@@ -12578,7 +13376,7 @@ await client.branding.phone.providers.update("id");
-
client.branding.phone.providers.test(id, { ...params }) -> Management.CreatePhoneProviderSendTestResponseContent +
client.branding.phone.templates.reset(id, { ...params }) -> Management.ResetPhoneTemplateResponseContent
@@ -12591,8 +13389,8 @@ await client.branding.phone.providers.update("id");
```typescript -await client.branding.phone.providers.test("id", { - to: "to", +await client.branding.phone.templates.reset("id", { + key: "value", }); ``` @@ -12617,7 +13415,7 @@ await client.branding.phone.providers.test("id", {
-**request:** `Management.CreatePhoneProviderSendTestRequestContent` +**request:** `Management.ResetPhoneTemplateRequestContent`
@@ -12625,7 +13423,7 @@ await client.branding.phone.providers.test("id", {
-**requestOptions:** `Providers.RequestOptions` +**requestOptions:** `TemplatesClient.RequestOptions`
@@ -12636,9 +13434,7 @@ await client.branding.phone.providers.test("id", {
-## Branding Phone Templates - -
client.branding.phone.templates.list({ ...params }) -> Management.ListPhoneTemplatesResponseContent +
client.branding.phone.templates.test(id, { ...params }) -> Management.CreatePhoneTemplateTestNotificationResponseContent
@@ -12651,8 +13447,8 @@ await client.branding.phone.providers.test("id", {
```typescript -await client.branding.phone.templates.list({ - disabled: true, +await client.branding.phone.templates.test("id", { + to: "to", }); ``` @@ -12669,7 +13465,7 @@ await client.branding.phone.templates.list({
-**request:** `Management.ListPhoneTemplatesRequestParameters` +**id:** `string`
@@ -12677,7 +13473,15 @@ await client.branding.phone.templates.list({
-**requestOptions:** `Templates.RequestOptions` +**request:** `Management.CreatePhoneTemplateTestNotificationRequestContent` + +
+
+ +
+
+ +**requestOptions:** `TemplatesClient.RequestOptions`
@@ -12688,7 +13492,9 @@ await client.branding.phone.templates.list({
-
client.branding.phone.templates.create({ ...params }) -> Management.CreatePhoneTemplateResponseContent +## ClientGrants Organizations + +
client.clientGrants.organizations.list(id, { ...params }) -> core.Page
@@ -12701,7 +13507,25 @@ await client.branding.phone.templates.list({
```typescript -await client.branding.phone.templates.create(); +const pageableResponse = await client.clientGrants.organizations.list("id", { + from: "from", + take: 1, +}); +for await (const item of pageableResponse) { + console.log(item); +} + +// Or you can manually iterate page-by-page +let page = await client.clientGrants.organizations.list("id", { + from: "from", + take: 1, +}); +while (page.hasNextPage()) { + page = page.getNextPage(); +} + +// You can also access the underlying response +const response = page.response; ```
@@ -12717,29 +13541,56 @@ await client.branding.phone.templates.create();
-**request:** `Management.CreatePhoneTemplateRequestContent` +**id:** `string` — ID of the client grant + +
+
+ +
+
+ +**request:** `Management.ListClientGrantOrganizationsRequestParameters` + +
+
+ +
+
+ +**requestOptions:** `OrganizationsClient.RequestOptions` + +
+
+ +
+
+ +## Clients Credentials + +
client.clients.credentials.list(client_id) -> Management.ClientCredential[] +
+
+ +#### 📝 Description + +
+
-**requestOptions:** `Templates.RequestOptions` +Get the details of a client credential. + +Important: To enable credentials to be used for a client authentication method, set the client_authentication_methods property on the client. To enable credentials to be used for JWT-Secured Authorization requests set the signed_request_object property on the client.
-
-
-
- -
client.branding.phone.templates.get(id) -> Management.GetPhoneTemplateResponseContent -
-
- #### 🔌 Usage
@@ -12749,7 +13600,7 @@ await client.branding.phone.templates.create();
```typescript -await client.branding.phone.templates.get("id"); +await client.clients.credentials.list("client_id"); ```
@@ -12765,7 +13616,7 @@ await client.branding.phone.templates.get("id");
-**id:** `string` +**client_id:** `string` — ID of the client.
@@ -12773,7 +13624,7 @@ await client.branding.phone.templates.get("id");
-**requestOptions:** `Templates.RequestOptions` +**requestOptions:** `CredentialsClient.RequestOptions`
@@ -12784,11 +13635,11 @@ await client.branding.phone.templates.get("id");
-
client.branding.phone.templates.delete(id) -> void +
client.clients.credentials.create(client_id, { ...params }) -> Management.PostClientCredentialResponseContent
-#### 🔌 Usage +#### 📝 Description
@@ -12796,46 +13647,46 @@ await client.branding.phone.templates.get("id");
-```typescript -await client.branding.phone.templates.delete("id"); -``` - -
-
-
-
- -#### ⚙️ Parameters - -
-
+Create a client credential associated to your application. Credentials can be used to configure Private Key JWT and mTLS authentication methods, as well as for JWT-secured Authorization requests. -
-
+
Public Key
Public Key credentials can be used to set up Private Key JWT client authentication and JWT-secured Authorization requests. -**id:** `string` +Sample:
{
+"credential_type": "public_key",
+"name": "string",
+"pem": "string",
+"alg": "RS256",
+"parse_expiry_from_cert": false,
+"expires_at": "2022-12-31T23:59:59Z"
+}
-
-
+
Certificate (CA-signed & self-signed)
Certificate credentials can be used to set up mTLS client authentication. CA-signed certificates can be configured either with a signed certificate or with just the certificate Subject DN. -
-
+CA-signed Certificate Sample (pem):
{
+"credential_type": "x509_cert",
+"name": "string",
+"pem": "string"
+}
CA-signed Certificate Sample (subject_dn):
{
+"credential_type": "cert_subject_dn",
+"name": "string",
+"subject_dn": "string"
+}
Self-signed Certificate Sample:
{
+"credential_type": "cert_subject_dn",
+"name": "string",
+"pem": "string"
+}
-**requestOptions:** `Templates.RequestOptions` +The credential will be created but not yet enabled for use until you set the corresponding properties in the client: +
-
-
-
- -
client.branding.phone.templates.update(id, { ...params }) -> Management.UpdatePhoneTemplateResponseContent -
-
- #### 🔌 Usage
@@ -12845,7 +13696,9 @@ await client.branding.phone.templates.delete("id");
```typescript -await client.branding.phone.templates.update("id"); +await client.clients.credentials.create("client_id", { + credential_type: "public_key", +}); ```
@@ -12861,7 +13714,7 @@ await client.branding.phone.templates.update("id");
-**id:** `string` +**client_id:** `string` — ID of the client.
@@ -12869,7 +13722,7 @@ await client.branding.phone.templates.update("id");
-**request:** `Management.UpdatePhoneTemplateRequestContent` +**request:** `Management.PostClientCredentialRequestContent`
@@ -12877,7 +13730,7 @@ await client.branding.phone.templates.update("id");
-**requestOptions:** `Templates.RequestOptions` +**requestOptions:** `CredentialsClient.RequestOptions`
@@ -12888,10 +13741,27 @@ await client.branding.phone.templates.update("id");
-
client.branding.phone.templates.reset(id, { ...params }) -> Management.ResetPhoneTemplateResponseContent +
client.clients.credentials.get(client_id, credential_id) -> Management.GetClientCredentialResponseContent +
+
+ +#### 📝 Description +
+
+
+ +Get the details of a client credential. + +Important: To enable credentials to be used for a client authentication method, set the client_authentication_methods property on the client. To enable credentials to be used for JWT-Secured Authorization requests set the signed_request_object property on the client. + +
+
+
+
+ #### 🔌 Usage
@@ -12901,9 +13771,7 @@ await client.branding.phone.templates.update("id");
```typescript -await client.branding.phone.templates.reset("id", { - key: "value", -}); +await client.clients.credentials.get("client_id", "credential_id"); ```
@@ -12919,7 +13787,7 @@ await client.branding.phone.templates.reset("id", {
-**id:** `string` +**client_id:** `string` — ID of the client.
@@ -12927,7 +13795,7 @@ await client.branding.phone.templates.reset("id", {
-**request:** `Management.ResetPhoneTemplateRequestContent` +**credential_id:** `string` — ID of the credential.
@@ -12935,7 +13803,7 @@ await client.branding.phone.templates.reset("id", {
-**requestOptions:** `Templates.RequestOptions` +**requestOptions:** `CredentialsClient.RequestOptions`
@@ -12946,10 +13814,25 @@ await client.branding.phone.templates.reset("id", {
-
client.branding.phone.templates.test(id, { ...params }) -> Management.CreatePhoneTemplateTestNotificationResponseContent +
client.clients.credentials.delete(client_id, credential_id) -> void +
+
+ +#### 📝 Description +
+
+
+ +Delete a client credential you previously created. May be enabled or disabled. For more information, read Client Credential Flow. + +
+
+
+
+ #### 🔌 Usage
@@ -12959,9 +13842,7 @@ await client.branding.phone.templates.reset("id", {
```typescript -await client.branding.phone.templates.test("id", { - to: "to", -}); +await client.clients.credentials.delete("client_id", "credential_id"); ```
@@ -12977,7 +13858,7 @@ await client.branding.phone.templates.test("id", {
-**id:** `string` +**client_id:** `string` — ID of the client.
@@ -12985,7 +13866,7 @@ await client.branding.phone.templates.test("id", {
-**request:** `Management.CreatePhoneTemplateTestNotificationRequestContent` +**credential_id:** `string` — ID of the credential to delete.
@@ -12993,7 +13874,7 @@ await client.branding.phone.templates.test("id", {
-**requestOptions:** `Templates.RequestOptions` +**requestOptions:** `CredentialsClient.RequestOptions`
@@ -13004,12 +13885,25 @@ await client.branding.phone.templates.test("id", {
-## ClientGrants Organizations +
client.clients.credentials.update(client_id, credential_id, { ...params }) -> Management.PatchClientCredentialResponseContent +
+
+ +#### 📝 Description + +
+
-
client.clientGrants.organizations.list(id, { ...params }) -> core.Page
+Change a client credential you previously created. May be enabled or disabled. For more information, read Client Credential Flow. + +
+
+
+
+ #### 🔌 Usage
@@ -13019,25 +13913,7 @@ await client.branding.phone.templates.test("id", {
```typescript -const pageableResponse = await client.clientGrants.organizations.list("id", { - from: "from", - take: 1, -}); -for await (const item of pageableResponse) { - console.log(item); -} - -// Or you can manually iterate page-by-page -let page = await client.clientGrants.organizations.list("id", { - from: "from", - take: 1, -}); -while (page.hasNextPage()) { - page = page.getNextPage(); -} - -// You can also access the underlying response -const response = page.response; +await client.clients.credentials.update("client_id", "credential_id"); ```
@@ -13053,7 +13929,7 @@ const response = page.response;
-**id:** `string` — ID of the client grant +**client_id:** `string` — ID of the client.
@@ -13061,7 +13937,15 @@ const response = page.response;
-**request:** `Management.ListClientGrantOrganizationsRequestParameters` +**credential_id:** `string` — ID of the credential. + +
+
+ +
+
+ +**request:** `Management.PatchClientCredentialRequestContent`
@@ -13069,7 +13953,7 @@ const response = page.response;
-**requestOptions:** `Organizations.RequestOptions` +**requestOptions:** `CredentialsClient.RequestOptions`
@@ -13080,9 +13964,9 @@ const response = page.response;
-## Clients Credentials +## Clients Connections -
client.clients.credentials.list(clientId) -> Management.ClientCredential[] +
client.clients.connections.get(id, { ...params }) -> core.Page
@@ -13094,10 +13978,16 @@ const response = page.response;
-Get the details of a client credential. - -Important: To enable credentials to be used for a client authentication method, set the client_authentication_methods property on the client. To enable credentials to be used for JWT-Secured Authorization requests set the signed_request_object property on the client. +Retrieve all connections that are enabled for the specified Application, using checkpoint pagination. A list of fields to include or exclude for each connection may also be specified. +
    +
  • + This endpoint requires the read:connections scope and any one of read:clients or read:client_summary. +
  • +
  • + Note: The first time you call this endpoint, omit the from parameter. If there are more results, a next value is included in the response. You can use this for subsequent API calls. When next is no longer included in the response, no further results are remaining. +
  • +
@@ -13112,7 +14002,29 @@ Get the details of a client credential.
```typescript -await client.clients.credentials.list("client_id"); +const pageableResponse = await client.clients.connections.get("id", { + from: "from", + take: 1, + fields: "fields", + include_fields: true, +}); +for await (const item of pageableResponse) { + console.log(item); +} + +// Or you can manually iterate page-by-page +let page = await client.clients.connections.get("id", { + from: "from", + take: 1, + fields: "fields", + include_fields: true, +}); +while (page.hasNextPage()) { + page = page.getNextPage(); +} + +// You can also access the underlying response +const response = page.response; ```
@@ -13128,7 +14040,15 @@ await client.clients.credentials.list("client_id");
-**clientId:** `string` — ID of the client. +**id:** `string` — ID of the client for which to retrieve enabled connections. + +
+
+ +
+
+ +**request:** `Management.ConnectionsGetRequest`
@@ -13136,7 +14056,7 @@ await client.clients.credentials.list("client_id");
-**requestOptions:** `Credentials.RequestOptions` +**requestOptions:** `ConnectionsClient.RequestOptions`
@@ -13147,7 +14067,9 @@ await client.clients.credentials.list("client_id");
-
client.clients.credentials.create(clientId, { ...params }) -> Management.PostClientCredentialResponseContent +## Connections Clients + +
client.connections.clients.get(id, { ...params }) -> core.Page
@@ -13156,44 +14078,13 @@ await client.clients.credentials.list("client_id");
-
-
- -Create a client credential associated to your application. Credentials can be used to configure Private Key JWT and mTLS authentication methods, as well as for JWT-secured Authorization requests. - -
Public Key
Public Key credentials can be used to set up Private Key JWT client authentication and JWT-secured Authorization requests. - -Sample:
{
-"credential_type": "public_key",
-"name": "string",
-"pem": "string",
-"alg": "RS256",
-"parse_expiry_from_cert": false,
-"expires_at": "2022-12-31T23:59:59Z"
-}
- -
Certificate (CA-signed & self-signed)
Certificate credentials can be used to set up mTLS client authentication. CA-signed certificates can be configured either with a signed certificate or with just the certificate Subject DN. - -CA-signed Certificate Sample (pem):
{
-"credential_type": "x509_cert",
-"name": "string",
-"pem": "string"
-}
CA-signed Certificate Sample (subject_dn):
{
-"credential_type": "cert_subject_dn",
-"name": "string",
-"subject_dn": "string"
-}
Self-signed Certificate Sample:
{
-"credential_type": "cert_subject_dn",
-"name": "string",
-"pem": "string"
-}
+
+
-The credential will be created but not yet enabled for use until you set the corresponding properties in the client: +Retrieve all clients that have the specified connection enabled. + +Note: The first time you call this endpoint, omit the from parameter. If there are more results, a next value is included in the response. You can use this for subsequent API calls. When next is no longer included in the response, no further results are remaining. -
@@ -13208,9 +14099,25 @@ The credential will be created but not yet enabled for use until you set the cor
```typescript -await client.clients.credentials.create("client_id", { - credential_type: "public_key", +const pageableResponse = await client.connections.clients.get("id", { + take: 1, + from: "from", +}); +for await (const item of pageableResponse) { + console.log(item); +} + +// Or you can manually iterate page-by-page +let page = await client.connections.clients.get("id", { + take: 1, + from: "from", }); +while (page.hasNextPage()) { + page = page.getNextPage(); +} + +// You can also access the underlying response +const response = page.response; ```
@@ -13226,7 +14133,7 @@ await client.clients.credentials.create("client_id", {
-**clientId:** `string` — ID of the client. +**id:** `string` — The id of the connection for which enabled clients are to be retrieved
@@ -13234,7 +14141,7 @@ await client.clients.credentials.create("client_id", {
-**request:** `Management.PostClientCredentialRequestContent` +**request:** `Management.GetConnectionEnabledClientsRequestParameters`
@@ -13242,7 +14149,7 @@ await client.clients.credentials.create("client_id", {
-**requestOptions:** `Credentials.RequestOptions` +**requestOptions:** `ClientsClient.RequestOptions`
@@ -13253,27 +14160,10 @@ await client.clients.credentials.create("client_id", {
-
client.clients.credentials.get(clientId, credentialId) -> Management.GetClientCredentialResponseContent -
-
- -#### 📝 Description - -
-
- +
client.connections.clients.update(id, { ...params }) -> void
-Get the details of a client credential. - -Important: To enable credentials to be used for a client authentication method, set the client_authentication_methods property on the client. To enable credentials to be used for JWT-Secured Authorization requests set the signed_request_object property on the client. - -
-
-
-
- #### 🔌 Usage
@@ -13283,7 +14173,12 @@ Get the details of a client credential.
```typescript -await client.clients.credentials.get("client_id", "credential_id"); +await client.connections.clients.update("id", [ + { + client_id: "client_id", + status: true, + }, +]); ```
@@ -13299,7 +14194,7 @@ await client.clients.credentials.get("client_id", "credential_id");
-**clientId:** `string` — ID of the client. +**id:** `string` — The id of the connection to modify
@@ -13307,7 +14202,7 @@ await client.clients.credentials.get("client_id", "credential_id");
-**credentialId:** `string` — ID of the credential. +**request:** `Management.UpdateEnabledClientConnectionsRequestContent`
@@ -13315,7 +14210,7 @@ await client.clients.credentials.get("client_id", "credential_id");
-**requestOptions:** `Credentials.RequestOptions` +**requestOptions:** `ClientsClient.RequestOptions`
@@ -13326,7 +14221,9 @@ await client.clients.credentials.get("client_id", "credential_id");
-
client.clients.credentials.delete(clientId, credentialId) -> void +## Connections DirectoryProvisioning + +
client.connections.directoryProvisioning.get(id) -> Management.GetDirectoryProvisioningResponseContent
@@ -13338,7 +14235,7 @@ await client.clients.credentials.get("client_id", "credential_id");
-Delete a client credential you previously created. May be enabled or disabled. For more information, read Client Credential Flow. +Retrieve the directory provisioning configuration of a connection.
@@ -13354,7 +14251,7 @@ Delete a client credential you previously created. May be enabled or disabled. F
```typescript -await client.clients.credentials.delete("client_id", "credential_id"); +await client.connections.directoryProvisioning.get("id"); ```
@@ -13370,15 +14267,7 @@ await client.clients.credentials.delete("client_id", "credential_id");
-**clientId:** `string` — ID of the client. - -
-
- -
-
- -**credentialId:** `string` — ID of the credential to delete. +**id:** `string` — The id of the connection to retrieve its directory provisioning configuration
@@ -13386,7 +14275,7 @@ await client.clients.credentials.delete("client_id", "credential_id");
-**requestOptions:** `Credentials.RequestOptions` +**requestOptions:** `DirectoryProvisioningClient.RequestOptions`
@@ -13397,7 +14286,7 @@ await client.clients.credentials.delete("client_id", "credential_id");
-
client.clients.credentials.update(clientId, credentialId, { ...params }) -> Management.PatchClientCredentialResponseContent +
client.connections.directoryProvisioning.create(id, { ...params }) -> Management.CreateDirectoryProvisioningResponseContent
@@ -13409,7 +14298,7 @@ await client.clients.credentials.delete("client_id", "credential_id");
-Change a client credential you previously created. May be enabled or disabled. For more information, read Client Credential Flow. +Create a directory provisioning configuration for a connection.
@@ -13425,7 +14314,7 @@ Change a client credential you previously created. May be enabled or disabled. F
```typescript -await client.clients.credentials.update("client_id", "credential_id"); +await client.connections.directoryProvisioning.create("id"); ```
@@ -13441,7 +14330,7 @@ await client.clients.credentials.update("client_id", "credential_id");
-**clientId:** `string` — ID of the client. +**id:** `string` — The id of the connection to create its directory provisioning configuration
@@ -13449,15 +14338,7 @@ await client.clients.credentials.update("client_id", "credential_id");
-**credentialId:** `string` — ID of the credential. - -
-
- -
-
- -**request:** `Management.PatchClientCredentialRequestContent` +**request:** `Management.CreateDirectoryProvisioningRequestContent | null`
@@ -13465,7 +14346,7 @@ await client.clients.credentials.update("client_id", "credential_id");
-**requestOptions:** `Credentials.RequestOptions` +**requestOptions:** `DirectoryProvisioningClient.RequestOptions`
@@ -13476,9 +14357,7 @@ await client.clients.credentials.update("client_id", "credential_id");
-## Clients Connections - -
client.clients.connections.get(id, { ...params }) -> core.Page +
client.connections.directoryProvisioning.delete(id) -> void
@@ -13490,16 +14369,8 @@ await client.clients.credentials.update("client_id", "credential_id");
-Retrieve all connections that are enabled for the specified Application, using checkpoint pagination. A list of fields to include or exclude for each connection may also be specified. +Delete the directory provisioning configuration of a connection. -
    -
  • - This endpoint requires the read:connections scope and any one of read:clients or read:client_summary. -
  • -
  • - Note: The first time you call this endpoint, omit the from parameter. If there are more results, a next value is included in the response. You can use this for subsequent API calls. When next is no longer included in the response, no further results are remaining. -
  • -
@@ -13514,29 +14385,7 @@ Retrieve all connections that are enabled for the specified @@ -13552,15 +14401,7 @@ const response = page.response;
-**id:** `string` — ID of the client for which to retrieve enabled connections. - -
-
- -
-
- -**request:** `Management.ConnectionsGetRequest` +**id:** `string` — The id of the connection to delete its directory provisioning configuration
@@ -13568,7 +14409,7 @@ const response = page.response;
-**requestOptions:** `Connections.RequestOptions` +**requestOptions:** `DirectoryProvisioningClient.RequestOptions`
@@ -13579,9 +14420,7 @@ const response = page.response;
-## Connections Clients - -
client.connections.clients.get(id, { ...params }) -> core.Page +
client.connections.directoryProvisioning.update(id, { ...params }) -> Management.UpdateDirectoryProvisioningResponseContent
@@ -13593,9 +14432,7 @@ const response = page.response;
-Retrieve all clients that have the specified connection enabled. - -Note: The first time you call this endpoint, omit the from parameter. If there are more results, a next value is included in the response. You can use this for subsequent API calls. When next is no longer included in the response, no further results are remaining. +Update the directory provisioning configuration of a connection.
@@ -13611,25 +14448,7 @@ Retrieve all clients that have the specified @@ -13645,7 +14464,7 @@ const response = page.response;
-**id:** `string` — The id of the connection for which enabled clients are to be retrieved +**id:** `string` — The id of the connection to create its directory provisioning configuration
@@ -13653,7 +14472,7 @@ const response = page.response;
-**request:** `Management.GetConnectionEnabledClientsRequestParameters` +**request:** `Management.UpdateDirectoryProvisioningRequestContent | null`
@@ -13661,7 +14480,7 @@ const response = page.response;
-**requestOptions:** `Clients.RequestOptions` +**requestOptions:** `DirectoryProvisioningClient.RequestOptions`
@@ -13672,11 +14491,11 @@ const response = page.response;
-
client.connections.clients.update(id, { ...params }) -> void +
client.connections.directoryProvisioning.getDefaultMapping(id) -> Management.GetDirectoryProvisioningDefaultMappingResponseContent
-#### 🔌 Usage +#### 📝 Description
@@ -13684,21 +14503,14 @@ const response = page.response;
-```typescript -await client.connections.clients.update("id", [ - { - client_id: "client_id", - status: true, - }, -]); -``` +Retrieve the directory provisioning default attribute mapping of a connection.
-#### ⚙️ Parameters +#### 🔌 Usage
@@ -13706,15 +14518,24 @@ await client.connections.clients.update("id", [
-**id:** `string` — The id of the connection to modify +```typescript +await client.connections.directoryProvisioning.getDefaultMapping("id"); +```
+
+
+ +#### ⚙️ Parameters
-**request:** `Management.UpdateEnabledClientConnectionsRequestContent` +
+
+ +**id:** `string` — The id of the connection to retrieve its directory provisioning configuration
@@ -13722,7 +14543,7 @@ await client.connections.clients.update("id", [
-**requestOptions:** `Clients.RequestOptions` +**requestOptions:** `DirectoryProvisioningClient.RequestOptions`
@@ -13787,7 +14608,7 @@ await client.connections.keys.get("id");
-**requestOptions:** `Keys.RequestOptions` +**requestOptions:** `KeysClient.RequestOptions`
@@ -13858,7 +14679,7 @@ await client.connections.keys.rotate("id");
-**requestOptions:** `Keys.RequestOptions` +**requestOptions:** `KeysClient.RequestOptions`
@@ -13923,7 +14744,7 @@ await client.connections.scimConfiguration.get("id");
-**requestOptions:** `ScimConfiguration.RequestOptions` +**requestOptions:** `ScimConfigurationClient.RequestOptions`
@@ -13994,7 +14815,7 @@ await client.connections.scimConfiguration.create("id");
-**requestOptions:** `ScimConfiguration.RequestOptions` +**requestOptions:** `ScimConfigurationClient.RequestOptions`
@@ -14057,7 +14878,7 @@ await client.connections.scimConfiguration.delete("id");
-**requestOptions:** `ScimConfiguration.RequestOptions` +**requestOptions:** `ScimConfigurationClient.RequestOptions`
@@ -14131,7 +14952,7 @@ await client.connections.scimConfiguration.update("id", {
-**requestOptions:** `ScimConfiguration.RequestOptions` +**requestOptions:** `ScimConfigurationClient.RequestOptions`
@@ -14194,7 +15015,7 @@ await client.connections.scimConfiguration.getDefaultMapping("id");
-**requestOptions:** `ScimConfiguration.RequestOptions` +**requestOptions:** `ScimConfigurationClient.RequestOptions`
@@ -14269,7 +15090,72 @@ await client.connections.users.deleteByEmail("id", {
-**requestOptions:** `Users.RequestOptions` +**requestOptions:** `UsersClient.RequestOptions` + +
+
+
+
+ +
+
+
+ +## Connections DirectoryProvisioning Synchronizations + +
client.connections.directoryProvisioning.synchronizations.create(id) -> Management.CreateDirectorySynchronizationResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Request an on-demand synchronization of the directory. + +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```typescript +await client.connections.directoryProvisioning.synchronizations.create("id"); +``` + +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `string` — The id of the connection to trigger synchronization for + +
+
+ +
+
+ +**requestOptions:** `SynchronizationsClient.RequestOptions`
@@ -14334,7 +15220,7 @@ await client.connections.scimConfiguration.tokens.get("id");
-**requestOptions:** `Tokens.RequestOptions` +**requestOptions:** `TokensClient.RequestOptions`
@@ -14405,7 +15291,7 @@ await client.connections.scimConfiguration.tokens.create("id");
-**requestOptions:** `Tokens.RequestOptions` +**requestOptions:** `TokensClient.RequestOptions`
@@ -14476,7 +15362,7 @@ await client.connections.scimConfiguration.tokens.delete("id", "tokenId");
-**requestOptions:** `Tokens.RequestOptions` +**requestOptions:** `TokensClient.RequestOptions`
@@ -14544,7 +15430,7 @@ await client.emails.provider.get({
-**requestOptions:** `Provider.RequestOptions` +**requestOptions:** `ProviderClient.RequestOptions`
@@ -14653,7 +15539,7 @@ await client.emails.provider.create({
-**requestOptions:** `Provider.RequestOptions` +**requestOptions:** `ProviderClient.RequestOptions`
@@ -14708,7 +15594,7 @@ await client.emails.provider.delete();
-**requestOptions:** `Provider.RequestOptions` +**requestOptions:** `ProviderClient.RequestOptions`
@@ -14810,7 +15696,7 @@ await client.emails.provider.update();
-**requestOptions:** `Provider.RequestOptions` +**requestOptions:** `ProviderClient.RequestOptions`
@@ -14875,7 +15761,7 @@ await client.eventStreams.deliveries.list("id", {
-**requestOptions:** `Deliveries.RequestOptions` +**requestOptions:** `DeliveriesClient.RequestOptions`
@@ -14886,7 +15772,7 @@ await client.eventStreams.deliveries.list("id", {
-
client.eventStreams.deliveries.getHistory(id, eventId) -> Management.GetEventStreamDeliveryHistoryResponseContent +
client.eventStreams.deliveries.getHistory(id, event_id) -> Management.GetEventStreamDeliveryHistoryResponseContent
@@ -14923,7 +15809,7 @@ await client.eventStreams.deliveries.getHistory("id", "event_id");
-**eventId:** `string` — Unique identifier for the event +**event_id:** `string` — Unique identifier for the event
@@ -14931,7 +15817,7 @@ await client.eventStreams.deliveries.getHistory("id", "event_id");
-**requestOptions:** `Deliveries.RequestOptions` +**requestOptions:** `DeliveriesClient.RequestOptions`
@@ -14989,7 +15875,7 @@ await client.eventStreams.redeliveries.create("id");
-**requestOptions:** `Redeliveries.RequestOptions` +**requestOptions:** `RedeliveriesClient.RequestOptions`
@@ -15000,7 +15886,7 @@ await client.eventStreams.redeliveries.create("id");
-
client.eventStreams.redeliveries.createById(id, eventId) -> void +
client.eventStreams.redeliveries.createById(id, event_id) -> void
@@ -15037,7 +15923,7 @@ await client.eventStreams.redeliveries.createById("id", "event_id");
-**eventId:** `string` — Unique identifier for the event +**event_id:** `string` — Unique identifier for the event
@@ -15045,7 +15931,7 @@ await client.eventStreams.redeliveries.createById("id", "event_id");
-**requestOptions:** `Redeliveries.RequestOptions` +**requestOptions:** `RedeliveriesClient.RequestOptions`
@@ -15058,7 +15944,7 @@ await client.eventStreams.redeliveries.createById("id", "event_id"); ## Flows Executions -
client.flows.executions.list(flowId, { ...params }) -> core.Page +
client.flows.executions.list(flow_id, { ...params }) -> core.Page
@@ -15105,7 +15991,7 @@ const response = page.response;
-**flowId:** `string` — Flow id +**flow_id:** `string` — Flow id
@@ -15121,7 +16007,7 @@ const response = page.response;
-**requestOptions:** `Executions.RequestOptions` +**requestOptions:** `ExecutionsClient.RequestOptions`
@@ -15132,7 +16018,7 @@ const response = page.response;
-
client.flows.executions.get(flowId, executionId, { ...params }) -> Management.GetFlowExecutionResponseContent +
client.flows.executions.get(flow_id, execution_id, { ...params }) -> Management.GetFlowExecutionResponseContent
@@ -15161,7 +16047,7 @@ await client.flows.executions.get("flow_id", "execution_id");
-**flowId:** `string` — Flow id +**flow_id:** `string` — Flow id
@@ -15169,7 +16055,7 @@ await client.flows.executions.get("flow_id", "execution_id");
-**executionId:** `string` — Flow execution id +**execution_id:** `string` — Flow execution id
@@ -15185,7 +16071,7 @@ await client.flows.executions.get("flow_id", "execution_id");
-**requestOptions:** `Executions.RequestOptions` +**requestOptions:** `ExecutionsClient.RequestOptions`
@@ -15196,7 +16082,7 @@ await client.flows.executions.get("flow_id", "execution_id");
-
client.flows.executions.delete(flowId, executionId) -> void +
client.flows.executions.delete(flow_id, execution_id) -> void
@@ -15225,7 +16111,7 @@ await client.flows.executions.delete("flow_id", "execution_id");
-**flowId:** `string` — Flows id +**flow_id:** `string` — Flows id
@@ -15233,7 +16119,7 @@ await client.flows.executions.delete("flow_id", "execution_id");
-**executionId:** `string` — Flow execution identifier +**execution_id:** `string` — Flow execution identifier
@@ -15241,7 +16127,7 @@ await client.flows.executions.delete("flow_id", "execution_id");
-**requestOptions:** `Executions.RequestOptions` +**requestOptions:** `ExecutionsClient.RequestOptions`
@@ -15311,7 +16197,7 @@ const response = page.response;
-**requestOptions:** `Connections.RequestOptions` +**requestOptions:** `ConnectionsClient.RequestOptions`
@@ -15367,7 +16253,7 @@ await client.flows.vault.connections.create({
-**requestOptions:** `Connections.RequestOptions` +**requestOptions:** `ConnectionsClient.RequestOptions`
@@ -15415,7 +16301,7 @@ await client.flows.vault.connections.get("id");
-**requestOptions:** `Connections.RequestOptions` +**requestOptions:** `ConnectionsClient.RequestOptions`
@@ -15463,7 +16349,7 @@ await client.flows.vault.connections.delete("id");
-**requestOptions:** `Connections.RequestOptions` +**requestOptions:** `ConnectionsClient.RequestOptions`
@@ -15519,7 +16405,7 @@ await client.flows.vault.connections.update("id");
-**requestOptions:** `Connections.RequestOptions` +**requestOptions:** `ConnectionsClient.RequestOptions`
@@ -15589,7 +16475,7 @@ await client.guardian.enrollments.createTicket({
-**requestOptions:** `Enrollments.RequestOptions` +**requestOptions:** `EnrollmentsClient.RequestOptions`
@@ -15652,7 +16538,7 @@ await client.guardian.enrollments.get("id");
-**requestOptions:** `Enrollments.RequestOptions` +**requestOptions:** `EnrollmentsClient.RequestOptions`
@@ -15715,7 +16601,7 @@ await client.guardian.enrollments.delete("id");
-**requestOptions:** `Enrollments.RequestOptions` +**requestOptions:** `EnrollmentsClient.RequestOptions`
@@ -15772,7 +16658,7 @@ await client.guardian.factors.list();
-**requestOptions:** `Factors.RequestOptions` +**requestOptions:** `FactorsClient.RequestOptions`
@@ -15845,7 +16731,7 @@ await client.guardian.factors.set("push-notification", {
-**requestOptions:** `Factors.RequestOptions` +**requestOptions:** `FactorsClient.RequestOptions`
@@ -15911,7 +16797,7 @@ await client.guardian.policies.list();
-**requestOptions:** `Policies.RequestOptions` +**requestOptions:** `PoliciesClient.RequestOptions`
@@ -15983,7 +16869,7 @@ await client.guardian.policies.set(["all-applications"]);
-**requestOptions:** `Policies.RequestOptions` +**requestOptions:** `PoliciesClient.RequestOptions`
@@ -16040,7 +16926,7 @@ await client.guardian.factors.phone.getMessageTypes();
-**requestOptions:** `Phone.RequestOptions` +**requestOptions:** `PhoneClient.RequestOptions`
@@ -16105,7 +16991,7 @@ await client.guardian.factors.phone.setMessageTypes({
-**requestOptions:** `Phone.RequestOptions` +**requestOptions:** `PhoneClient.RequestOptions`
@@ -16160,7 +17046,7 @@ await client.guardian.factors.phone.getTwilioProvider();
-**requestOptions:** `Phone.RequestOptions` +**requestOptions:** `PhoneClient.RequestOptions`
@@ -16223,7 +17109,7 @@ await client.guardian.factors.phone.setTwilioProvider();
-**requestOptions:** `Phone.RequestOptions` +**requestOptions:** `PhoneClient.RequestOptions`
@@ -16278,7 +17164,7 @@ await client.guardian.factors.phone.getSelectedProvider();
-**requestOptions:** `Phone.RequestOptions` +**requestOptions:** `PhoneClient.RequestOptions`
@@ -16328,7 +17214,7 @@ await client.guardian.factors.phone.setProvider({
-**requestOptions:** `Phone.RequestOptions` +**requestOptions:** `PhoneClient.RequestOptions`
@@ -16383,7 +17269,7 @@ await client.guardian.factors.phone.getTemplates();
-**requestOptions:** `Phone.RequestOptions` +**requestOptions:** `PhoneClient.RequestOptions`
@@ -16449,7 +17335,7 @@ await client.guardian.factors.phone.setTemplates({
-**requestOptions:** `Phone.RequestOptions` +**requestOptions:** `PhoneClient.RequestOptions`
@@ -16506,7 +17392,7 @@ await client.guardian.factors.pushNotification.getApnsProvider();
-**requestOptions:** `PushNotification.RequestOptions` +**requestOptions:** `PushNotificationClient.RequestOptions`
@@ -16569,7 +17455,7 @@ await client.guardian.factors.pushNotification.setApnsProvider({});
-**requestOptions:** `PushNotification.RequestOptions` +**requestOptions:** `PushNotificationClient.RequestOptions`
@@ -16632,7 +17518,7 @@ await client.guardian.factors.pushNotification.setFcmProvider({});
-**requestOptions:** `PushNotification.RequestOptions` +**requestOptions:** `PushNotificationClient.RequestOptions`
@@ -16695,7 +17581,7 @@ await client.guardian.factors.pushNotification.setFcmv1Provider({});
-**requestOptions:** `PushNotification.RequestOptions` +**requestOptions:** `PushNotificationClient.RequestOptions`
@@ -16750,7 +17636,7 @@ await client.guardian.factors.pushNotification.getSnsProvider();
-**requestOptions:** `PushNotification.RequestOptions` +**requestOptions:** `PushNotificationClient.RequestOptions`
@@ -16813,7 +17699,7 @@ await client.guardian.factors.pushNotification.setSnsProvider();
-**requestOptions:** `PushNotification.RequestOptions` +**requestOptions:** `PushNotificationClient.RequestOptions`
@@ -16876,7 +17762,7 @@ await client.guardian.factors.pushNotification.updateSnsProvider();
-**requestOptions:** `PushNotification.RequestOptions` +**requestOptions:** `PushNotificationClient.RequestOptions`
@@ -16931,7 +17817,7 @@ await client.guardian.factors.pushNotification.getSelectedProvider();
-**requestOptions:** `PushNotification.RequestOptions` +**requestOptions:** `PushNotificationClient.RequestOptions`
@@ -16996,7 +17882,7 @@ await client.guardian.factors.pushNotification.setProvider({
-**requestOptions:** `PushNotification.RequestOptions` +**requestOptions:** `PushNotificationClient.RequestOptions`
@@ -17055,7 +17941,7 @@ await client.guardian.factors.sms.getTwilioProvider();
-**requestOptions:** `Sms.RequestOptions` +**requestOptions:** `SmsClient.RequestOptions`
@@ -17120,7 +18006,7 @@ await client.guardian.factors.sms.setTwilioProvider();
-**requestOptions:** `Sms.RequestOptions` +**requestOptions:** `SmsClient.RequestOptions`
@@ -17177,7 +18063,7 @@ await client.guardian.factors.sms.getSelectedProvider();
-**requestOptions:** `Sms.RequestOptions` +**requestOptions:** `SmsClient.RequestOptions`
@@ -17244,7 +18130,7 @@ await client.guardian.factors.sms.setProvider({
-**requestOptions:** `Sms.RequestOptions` +**requestOptions:** `SmsClient.RequestOptions`
@@ -17301,7 +18187,7 @@ await client.guardian.factors.sms.getTemplates();
-**requestOptions:** `Sms.RequestOptions` +**requestOptions:** `SmsClient.RequestOptions`
@@ -17369,7 +18255,7 @@ await client.guardian.factors.sms.setTemplates({
-**requestOptions:** `Sms.RequestOptions` +**requestOptions:** `SmsClient.RequestOptions`
@@ -17426,7 +18312,7 @@ await client.guardian.factors.duo.settings.get();
-**requestOptions:** `Settings.RequestOptions` +**requestOptions:** `SettingsClient.RequestOptions`
@@ -17489,7 +18375,7 @@ await client.guardian.factors.duo.settings.set();
-**requestOptions:** `Settings.RequestOptions` +**requestOptions:** `SettingsClient.RequestOptions`
@@ -17537,7 +18423,7 @@ await client.guardian.factors.duo.settings.update();
-**requestOptions:** `Settings.RequestOptions` +**requestOptions:** `SettingsClient.RequestOptions`
@@ -17602,7 +18488,7 @@ await client.hooks.secrets.get("id");
-**requestOptions:** `Secrets.RequestOptions` +**requestOptions:** `SecretsClient.RequestOptions`
@@ -17675,7 +18561,7 @@ await client.hooks.secrets.create("id", {
-**requestOptions:** `Secrets.RequestOptions` +**requestOptions:** `SecretsClient.RequestOptions`
@@ -17746,7 +18632,7 @@ await client.hooks.secrets.delete("id", ["string"]);
-**requestOptions:** `Secrets.RequestOptions` +**requestOptions:** `SecretsClient.RequestOptions`
@@ -17819,7 +18705,7 @@ await client.hooks.secrets.update("id", {
-**requestOptions:** `Secrets.RequestOptions` +**requestOptions:** `SecretsClient.RequestOptions`
@@ -17884,7 +18770,7 @@ await client.jobs.usersExports.create();
-**requestOptions:** `UsersExports.RequestOptions` +**requestOptions:** `UsersExportsClient.RequestOptions`
@@ -17952,7 +18838,7 @@ await client.jobs.usersImports.create({
-**requestOptions:** `UsersImports.RequestOptions` +**requestOptions:** `UsersImportsClient.RequestOptions`
@@ -18021,7 +18907,7 @@ await client.jobs.verificationEmail.create({
-**requestOptions:** `VerificationEmail.RequestOptions` +**requestOptions:** `VerificationEmailClient.RequestOptions`
@@ -18086,7 +18972,7 @@ await client.jobs.errors.get("id");
-**requestOptions:** `Errors.RequestOptions` +**requestOptions:** `ErrorsClient.RequestOptions`
@@ -18143,7 +19029,7 @@ await client.keys.customSigning.get();
-**requestOptions:** `CustomSigning.RequestOptions` +**requestOptions:** `CustomSigningClient.RequestOptions`
@@ -18212,7 +19098,7 @@ await client.keys.customSigning.set({
-**requestOptions:** `CustomSigning.RequestOptions` +**requestOptions:** `CustomSigningClient.RequestOptions`
@@ -18267,7 +19153,7 @@ await client.keys.customSigning.delete();
-**requestOptions:** `CustomSigning.RequestOptions` +**requestOptions:** `CustomSigningClient.RequestOptions`
@@ -18352,7 +19238,7 @@ const response = page.response;
-**requestOptions:** `Encryption.RequestOptions` +**requestOptions:** `EncryptionClient.RequestOptions`
@@ -18417,7 +19303,7 @@ await client.keys.encryption.create({
-**requestOptions:** `Encryption.RequestOptions` +**requestOptions:** `EncryptionClient.RequestOptions`
@@ -18472,7 +19358,7 @@ await client.keys.encryption.rekey();
-**requestOptions:** `Encryption.RequestOptions` +**requestOptions:** `EncryptionClient.RequestOptions`
@@ -18535,7 +19421,7 @@ await client.keys.encryption.get("kid");
-**requestOptions:** `Encryption.RequestOptions` +**requestOptions:** `EncryptionClient.RequestOptions`
@@ -18608,7 +19494,7 @@ await client.keys.encryption.import("kid", {
-**requestOptions:** `Encryption.RequestOptions` +**requestOptions:** `EncryptionClient.RequestOptions`
@@ -18671,7 +19557,7 @@ await client.keys.encryption.delete("kid");
-**requestOptions:** `Encryption.RequestOptions` +**requestOptions:** `EncryptionClient.RequestOptions`
@@ -18734,7 +19620,7 @@ await client.keys.encryption.createPublicWrappingKey("kid");
-**requestOptions:** `Encryption.RequestOptions` +**requestOptions:** `EncryptionClient.RequestOptions`
@@ -18791,7 +19677,7 @@ await client.keys.signing.list();
-**requestOptions:** `Signing.RequestOptions` +**requestOptions:** `SigningClient.RequestOptions`
@@ -18846,7 +19732,7 @@ await client.keys.signing.rotate();
-**requestOptions:** `Signing.RequestOptions` +**requestOptions:** `SigningClient.RequestOptions`
@@ -18909,7 +19795,7 @@ await client.keys.signing.get("kid");
-**requestOptions:** `Signing.RequestOptions` +**requestOptions:** `SigningClient.RequestOptions`
@@ -18972,7 +19858,7 @@ await client.keys.signing.revoke("kid");
-**requestOptions:** `Signing.RequestOptions` +**requestOptions:** `SigningClient.RequestOptions`
@@ -19054,7 +19940,7 @@ const response = page.response;
-**requestOptions:** `ClientGrants.RequestOptions` +**requestOptions:** `ClientGrantsClient.RequestOptions`
@@ -19112,7 +19998,7 @@ await client.organizations.clientGrants.create("id", {
-**requestOptions:** `ClientGrants.RequestOptions` +**requestOptions:** `ClientGrantsClient.RequestOptions`
@@ -19123,7 +20009,7 @@ await client.organizations.clientGrants.create("id", {
-
client.organizations.clientGrants.delete(id, grantId) -> void +
client.organizations.clientGrants.delete(id, grant_id) -> void
@@ -19160,7 +20046,7 @@ await client.organizations.clientGrants.delete("id", "grant_id");
-**grantId:** `string` — The Client Grant ID to remove from the organization +**grant_id:** `string` — The Client Grant ID to remove from the organization
@@ -19168,7 +20054,7 @@ await client.organizations.clientGrants.delete("id", "grant_id");
-**requestOptions:** `ClientGrants.RequestOptions` +**requestOptions:** `ClientGrantsClient.RequestOptions`
@@ -19259,7 +20145,7 @@ const response = page.response;
-**requestOptions:** `DiscoveryDomains.RequestOptions` +**requestOptions:** `DiscoveryDomainsClient.RequestOptions`
@@ -19332,7 +20218,7 @@ await client.organizations.discoveryDomains.create("id", {
-**requestOptions:** `DiscoveryDomains.RequestOptions` +**requestOptions:** `DiscoveryDomainsClient.RequestOptions`
@@ -19343,7 +20229,7 @@ await client.organizations.discoveryDomains.create("id", {
-
client.organizations.discoveryDomains.get(id, discoveryDomainId) -> Management.GetOrganizationDiscoveryDomainResponseContent +
client.organizations.discoveryDomains.get(id, discovery_domain_id) -> Management.GetOrganizationDiscoveryDomainResponseContent
@@ -19395,7 +20281,7 @@ await client.organizations.discoveryDomains.get("id", "discovery_domain_id");
-**discoveryDomainId:** `string` — ID of the discovery domain. +**discovery_domain_id:** `string` — ID of the discovery domain.
@@ -19403,7 +20289,7 @@ await client.organizations.discoveryDomains.get("id", "discovery_domain_id");
-**requestOptions:** `DiscoveryDomains.RequestOptions` +**requestOptions:** `DiscoveryDomainsClient.RequestOptions`
@@ -19414,7 +20300,7 @@ await client.organizations.discoveryDomains.get("id", "discovery_domain_id");
-
client.organizations.discoveryDomains.delete(id, discoveryDomainId) -> void +
client.organizations.discoveryDomains.delete(id, discovery_domain_id) -> void
@@ -19466,7 +20352,7 @@ await client.organizations.discoveryDomains.delete("id", "discovery_domain_id");
-**discoveryDomainId:** `string` — ID of the discovery domain. +**discovery_domain_id:** `string` — ID of the discovery domain.
@@ -19474,7 +20360,7 @@ await client.organizations.discoveryDomains.delete("id", "discovery_domain_id");
-**requestOptions:** `DiscoveryDomains.RequestOptions` +**requestOptions:** `DiscoveryDomainsClient.RequestOptions`
@@ -19485,7 +20371,7 @@ await client.organizations.discoveryDomains.delete("id", "discovery_domain_id");
-
client.organizations.discoveryDomains.update(id, discoveryDomainId, { ...params }) -> Management.UpdateOrganizationDiscoveryDomainResponseContent +
client.organizations.discoveryDomains.update(id, discovery_domain_id, { ...params }) -> Management.UpdateOrganizationDiscoveryDomainResponseContent
@@ -19537,7 +20423,7 @@ await client.organizations.discoveryDomains.update("id", "discovery_domain_id");
-**discoveryDomainId:** `string` — ID of the discovery domain to update. +**discovery_domain_id:** `string` — ID of the discovery domain to update.
@@ -19553,7 +20439,7 @@ await client.organizations.discoveryDomains.update("id", "discovery_domain_id");
-**requestOptions:** `DiscoveryDomains.RequestOptions` +**requestOptions:** `DiscoveryDomainsClient.RequestOptions`
@@ -19646,7 +20532,7 @@ const response = page.response;
-**requestOptions:** `EnabledConnections.RequestOptions` +**requestOptions:** `EnabledConnectionsClient.RequestOptions`
@@ -19721,7 +20607,7 @@ await client.organizations.enabledConnections.add("id", {
-**requestOptions:** `EnabledConnections.RequestOptions` +**requestOptions:** `EnabledConnectionsClient.RequestOptions`
@@ -19792,7 +20678,7 @@ await client.organizations.enabledConnections.get("id", "connectionId");
-**requestOptions:** `EnabledConnections.RequestOptions` +**requestOptions:** `EnabledConnectionsClient.RequestOptions`
@@ -19865,7 +20751,7 @@ await client.organizations.enabledConnections.delete("id", "connectionId");
-**requestOptions:** `EnabledConnections.RequestOptions` +**requestOptions:** `EnabledConnectionsClient.RequestOptions`
@@ -19944,7 +20830,7 @@ await client.organizations.enabledConnections.update("id", "connectionId");
-**requestOptions:** `EnabledConnections.RequestOptions` +**requestOptions:** `EnabledConnectionsClient.RequestOptions`
@@ -20043,7 +20929,7 @@ const response = page.response;
-**requestOptions:** `Invitations.RequestOptions` +**requestOptions:** `InvitationsClient.RequestOptions`
@@ -20122,7 +21008,7 @@ await client.organizations.invitations.create("id", {
-**requestOptions:** `Invitations.RequestOptions` +**requestOptions:** `InvitationsClient.RequestOptions`
@@ -20133,7 +21019,7 @@ await client.organizations.invitations.create("id", {
-
client.organizations.invitations.get(id, invitationId, { ...params }) -> Management.GetOrganizationInvitationResponseContent +
client.organizations.invitations.get(id, invitation_id, { ...params }) -> Management.GetOrganizationInvitationResponseContent
@@ -20173,7 +21059,7 @@ await client.organizations.invitations.get("id", "invitation_id", {
-**invitationId:** `string` — The id of the user invitation. +**invitation_id:** `string` — The id of the user invitation.
@@ -20189,7 +21075,7 @@ await client.organizations.invitations.get("id", "invitation_id", {
-**requestOptions:** `Invitations.RequestOptions` +**requestOptions:** `InvitationsClient.RequestOptions`
@@ -20200,7 +21086,7 @@ await client.organizations.invitations.get("id", "invitation_id", {
-
client.organizations.invitations.delete(id, invitationId) -> void +
client.organizations.invitations.delete(id, invitation_id) -> void
@@ -20237,7 +21123,7 @@ await client.organizations.invitations.delete("id", "invitation_id");
-**invitationId:** `string` — The id of the user invitation. +**invitation_id:** `string` — The id of the user invitation.
@@ -20245,7 +21131,7 @@ await client.organizations.invitations.delete("id", "invitation_id");
-**requestOptions:** `Invitations.RequestOptions` +**requestOptions:** `InvitationsClient.RequestOptions`
@@ -20361,7 +21247,7 @@ const response = page.response;
-**requestOptions:** `Members.RequestOptions` +**requestOptions:** `MembersClient.RequestOptions`
@@ -20436,7 +21322,7 @@ await client.organizations.members.create("id", {
-**requestOptions:** `Members.RequestOptions` +**requestOptions:** `MembersClient.RequestOptions`
@@ -20494,7 +21380,7 @@ await client.organizations.members.delete("id", {
-**requestOptions:** `Members.RequestOptions` +**requestOptions:** `MembersClient.RequestOptions`
@@ -20507,7 +21393,7 @@ await client.organizations.members.delete("id", { ## Organizations Members Roles -
client.organizations.members.roles.list(id, userId, { ...params }) -> core.Page +
client.organizations.members.roles.list(id, user_id, { ...params }) -> core.Page
@@ -20581,7 +21467,7 @@ const response = page.response;
-**userId:** `string` — ID of the user to associate roles with. +**user_id:** `string` — ID of the user to associate roles with.
@@ -20597,7 +21483,7 @@ const response = page.response;
-**requestOptions:** `Roles.RequestOptions` +**requestOptions:** `RolesClient.RequestOptions`
@@ -20608,7 +21494,7 @@ const response = page.response;
-
client.organizations.members.roles.assign(id, userId, { ...params }) -> void +
client.organizations.members.roles.assign(id, user_id, { ...params }) -> void
@@ -20664,7 +21550,7 @@ await client.organizations.members.roles.assign("id", "user_id", {
-**userId:** `string` — ID of the user to associate roles with. +**user_id:** `string` — ID of the user to associate roles with.
@@ -20680,7 +21566,7 @@ await client.organizations.members.roles.assign("id", "user_id", {
-**requestOptions:** `Roles.RequestOptions` +**requestOptions:** `RolesClient.RequestOptions`
@@ -20691,7 +21577,7 @@ await client.organizations.members.roles.assign("id", "user_id", {
-
client.organizations.members.roles.delete(id, userId, { ...params }) -> void +
client.organizations.members.roles.delete(id, user_id, { ...params }) -> void
@@ -20747,7 +21633,7 @@ await client.organizations.members.roles.delete("id", "user_id", {
-**userId:** `string` — User ID of the organization member to remove roles from. +**user_id:** `string` — User ID of the organization member to remove roles from.
@@ -20763,7 +21649,7 @@ await client.organizations.members.roles.delete("id", "user_id", {
-**requestOptions:** `Roles.RequestOptions` +**requestOptions:** `RolesClient.RequestOptions`
@@ -20858,7 +21744,7 @@ const response = page.response;
-**requestOptions:** `Rendering.RequestOptions` +**requestOptions:** `RenderingClient.RequestOptions`
@@ -20883,32 +21769,6 @@ const response = page.response; Learn more about configuring render settings for advanced customization. -

- Example head_tags array. See our documentation on using Liquid variables within head tags. -

-
{
-  "head_tags": [
-    {
-      "tag": "script",
-      "attributes": {
-        "defer": true,
-        "src": "URL_TO_ASSET",
-        "async": true,
-        "integrity": [
-          "ASSET_SHA"
-        ]
-      }
-    },
-    {
-      "tag": "link",
-      "attributes": {
-        "href": "URL_TO_ASSET",
-        "rel": "stylesheet"
-      }
-    }
-  ]
-}
-
@@ -20928,8 +21788,6 @@ await client.prompts.rendering.bulkUpdate({ { prompt: "login", screen: "login", - rendering_mode: "advanced", - head_tags: [{}], }, ], }); @@ -20956,7 +21814,7 @@ await client.prompts.rendering.bulkUpdate({
-**requestOptions:** `Rendering.RequestOptions` +**requestOptions:** `RenderingClient.RequestOptions`
@@ -21027,7 +21885,7 @@ await client.prompts.rendering.get("login", "login");
-**requestOptions:** `Rendering.RequestOptions` +**requestOptions:** `RenderingClient.RequestOptions`
@@ -21052,32 +21910,6 @@ await client.prompts.rendering.get("login", "login"); Learn more about configuring render settings for advanced customization. -

- Example head_tags array. See our documentation on using Liquid variables within head tags. -

-
{
-  "head_tags": [
-    {
-      "tag": "script",
-      "attributes": {
-        "defer": true,
-        "src": "URL_TO_ASSET",
-        "async": true,
-        "integrity": [
-          "ASSET_SHA"
-        ]
-      }
-    },
-    {
-      "tag": "link",
-      "attributes": {
-        "href": "URL_TO_ASSET",
-        "rel": "stylesheet"
-      }
-    }
-  ]
-}
-
@@ -21092,10 +21924,7 @@ Learn more about | null | undefined>; } + +export type NormalizedClientOptions = T & { + logging: core.logging.Logger; + authProvider?: core.AuthProvider; +}; + +export type NormalizedClientOptionsWithAuth = NormalizedClientOptions & { + authProvider: core.AuthProvider; +}; + +export function normalizeClientOptions(options: T): NormalizedClientOptions { + return { + ...options, + logging: core.logging.createLogger(options?.logging), + } as NormalizedClientOptions; +} + +export function normalizeClientOptionsWithAuth( + options: T, +): NormalizedClientOptionsWithAuth { + const normalized = normalizeClientOptions(options) as NormalizedClientOptionsWithAuth; + const normalizedWithNoOpAuthProvider = withNoOpAuthProvider(normalized); + normalized.authProvider ??= new BearerAuthProvider(normalizedWithNoOpAuthProvider); + return normalized; +} + +function withNoOpAuthProvider( + options: NormalizedClientOptions, +): NormalizedClientOptionsWithAuth { + return { + ...options, + authProvider: new core.NoOpAuthProvider(), + }; +} diff --git a/src/management/Client.ts b/src/management/Client.ts index 27d27c180d..67fe3fb0a7 100644 --- a/src/management/Client.ts +++ b/src/management/Client.ts @@ -1,265 +1,272 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "./BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "./BaseClient.js"; import * as environments from "./environments.js"; import * as core from "./core/index.js"; -import { Actions } from "./api/resources/actions/client/Client.js"; -import { Branding } from "./api/resources/branding/client/Client.js"; -import { ClientGrants } from "./api/resources/clientGrants/client/Client.js"; -import { Clients } from "./api/resources/clients/client/Client.js"; -import { Connections } from "./api/resources/connections/client/Client.js"; -import { CustomDomains } from "./api/resources/customDomains/client/Client.js"; -import { DeviceCredentials } from "./api/resources/deviceCredentials/client/Client.js"; -import { EmailTemplates } from "./api/resources/emailTemplates/client/Client.js"; -import { EventStreams } from "./api/resources/eventStreams/client/Client.js"; -import { Flows } from "./api/resources/flows/client/Client.js"; -import { Forms } from "./api/resources/forms/client/Client.js"; -import { UserGrants } from "./api/resources/userGrants/client/Client.js"; -import { Hooks } from "./api/resources/hooks/client/Client.js"; -import { Jobs } from "./api/resources/jobs/client/Client.js"; -import { LogStreams } from "./api/resources/logStreams/client/Client.js"; -import { Logs } from "./api/resources/logs/client/Client.js"; -import { NetworkAcls } from "./api/resources/networkAcls/client/Client.js"; -import { Organizations } from "./api/resources/organizations/client/Client.js"; -import { Prompts } from "./api/resources/prompts/client/Client.js"; -import { RefreshTokens } from "./api/resources/refreshTokens/client/Client.js"; -import { ResourceServers } from "./api/resources/resourceServers/client/Client.js"; -import { Roles } from "./api/resources/roles/client/Client.js"; -import { Rules } from "./api/resources/rules/client/Client.js"; -import { RulesConfigs } from "./api/resources/rulesConfigs/client/Client.js"; -import { SelfServiceProfiles } from "./api/resources/selfServiceProfiles/client/Client.js"; -import { Sessions } from "./api/resources/sessions/client/Client.js"; -import { Stats } from "./api/resources/stats/client/Client.js"; -import { SupplementalSignals } from "./api/resources/supplementalSignals/client/Client.js"; -import { Tickets } from "./api/resources/tickets/client/Client.js"; -import { TokenExchangeProfiles } from "./api/resources/tokenExchangeProfiles/client/Client.js"; -import { UserAttributeProfiles } from "./api/resources/userAttributeProfiles/client/Client.js"; -import { UserBlocks } from "./api/resources/userBlocks/client/Client.js"; -import { Users } from "./api/resources/users/client/Client.js"; -import { Anomaly } from "./api/resources/anomaly/client/Client.js"; -import { AttackProtection } from "./api/resources/attackProtection/client/Client.js"; -import { Emails } from "./api/resources/emails/client/Client.js"; -import { Guardian } from "./api/resources/guardian/client/Client.js"; -import { Keys } from "./api/resources/keys/client/Client.js"; -import { RiskAssessments } from "./api/resources/riskAssessments/client/Client.js"; -import { Tenants } from "./api/resources/tenants/client/Client.js"; -import { VerifiableCredentials } from "./api/resources/verifiableCredentials/client/Client.js"; +import { ActionsClient } from "./api/resources/actions/client/Client.js"; +import { BrandingClient } from "./api/resources/branding/client/Client.js"; +import { ClientGrantsClient } from "./api/resources/clientGrants/client/Client.js"; +import { ClientsClient } from "./api/resources/clients/client/Client.js"; +import { ConnectionProfilesClient } from "./api/resources/connectionProfiles/client/Client.js"; +import { ConnectionsClient } from "./api/resources/connections/client/Client.js"; +import { CustomDomainsClient } from "./api/resources/customDomains/client/Client.js"; +import { DeviceCredentialsClient } from "./api/resources/deviceCredentials/client/Client.js"; +import { EmailTemplatesClient } from "./api/resources/emailTemplates/client/Client.js"; +import { EventStreamsClient } from "./api/resources/eventStreams/client/Client.js"; +import { FlowsClient } from "./api/resources/flows/client/Client.js"; +import { FormsClient } from "./api/resources/forms/client/Client.js"; +import { UserGrantsClient } from "./api/resources/userGrants/client/Client.js"; +import { HooksClient } from "./api/resources/hooks/client/Client.js"; +import { JobsClient } from "./api/resources/jobs/client/Client.js"; +import { LogStreamsClient } from "./api/resources/logStreams/client/Client.js"; +import { LogsClient } from "./api/resources/logs/client/Client.js"; +import { NetworkAclsClient } from "./api/resources/networkAcls/client/Client.js"; +import { OrganizationsClient } from "./api/resources/organizations/client/Client.js"; +import { PromptsClient } from "./api/resources/prompts/client/Client.js"; +import { RefreshTokensClient } from "./api/resources/refreshTokens/client/Client.js"; +import { ResourceServersClient } from "./api/resources/resourceServers/client/Client.js"; +import { RolesClient } from "./api/resources/roles/client/Client.js"; +import { RulesClient } from "./api/resources/rules/client/Client.js"; +import { RulesConfigsClient } from "./api/resources/rulesConfigs/client/Client.js"; +import { SelfServiceProfilesClient } from "./api/resources/selfServiceProfiles/client/Client.js"; +import { SessionsClient } from "./api/resources/sessions/client/Client.js"; +import { StatsClient } from "./api/resources/stats/client/Client.js"; +import { SupplementalSignalsClient } from "./api/resources/supplementalSignals/client/Client.js"; +import { TicketsClient } from "./api/resources/tickets/client/Client.js"; +import { TokenExchangeProfilesClient } from "./api/resources/tokenExchangeProfiles/client/Client.js"; +import { UserAttributeProfilesClient } from "./api/resources/userAttributeProfiles/client/Client.js"; +import { UserBlocksClient } from "./api/resources/userBlocks/client/Client.js"; +import { UsersClient } from "./api/resources/users/client/Client.js"; +import { AnomalyClient } from "./api/resources/anomaly/client/Client.js"; +import { AttackProtectionClient } from "./api/resources/attackProtection/client/Client.js"; +import { EmailsClient } from "./api/resources/emails/client/Client.js"; +import { GuardianClient } from "./api/resources/guardian/client/Client.js"; +import { KeysClient } from "./api/resources/keys/client/Client.js"; +import { RiskAssessmentsClient } from "./api/resources/riskAssessments/client/Client.js"; +import { TenantsClient } from "./api/resources/tenants/client/Client.js"; +import { VerifiableCredentialsClient } from "./api/resources/verifiableCredentials/client/Client.js"; export declare namespace ManagementClient { - export interface Options extends BaseClientOptions {} + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } export class ManagementClient { - protected readonly _options: ManagementClient.Options; - protected _actions: Actions | undefined; - protected _branding: Branding | undefined; - protected _clientGrants: ClientGrants | undefined; - protected _clients: Clients | undefined; - protected _connections: Connections | undefined; - protected _customDomains: CustomDomains | undefined; - protected _deviceCredentials: DeviceCredentials | undefined; - protected _emailTemplates: EmailTemplates | undefined; - protected _eventStreams: EventStreams | undefined; - protected _flows: Flows | undefined; - protected _forms: Forms | undefined; - protected _userGrants: UserGrants | undefined; - protected _hooks: Hooks | undefined; - protected _jobs: Jobs | undefined; - protected _logStreams: LogStreams | undefined; - protected _logs: Logs | undefined; - protected _networkAcls: NetworkAcls | undefined; - protected _organizations: Organizations | undefined; - protected _prompts: Prompts | undefined; - protected _refreshTokens: RefreshTokens | undefined; - protected _resourceServers: ResourceServers | undefined; - protected _roles: Roles | undefined; - protected _rules: Rules | undefined; - protected _rulesConfigs: RulesConfigs | undefined; - protected _selfServiceProfiles: SelfServiceProfiles | undefined; - protected _sessions: Sessions | undefined; - protected _stats: Stats | undefined; - protected _supplementalSignals: SupplementalSignals | undefined; - protected _tickets: Tickets | undefined; - protected _tokenExchangeProfiles: TokenExchangeProfiles | undefined; - protected _userAttributeProfiles: UserAttributeProfiles | undefined; - protected _userBlocks: UserBlocks | undefined; - protected _users: Users | undefined; - protected _anomaly: Anomaly | undefined; - protected _attackProtection: AttackProtection | undefined; - protected _emails: Emails | undefined; - protected _guardian: Guardian | undefined; - protected _keys: Keys | undefined; - protected _riskAssessments: RiskAssessments | undefined; - protected _tenants: Tenants | undefined; - protected _verifiableCredentials: VerifiableCredentials | undefined; + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _actions: ActionsClient | undefined; + protected _branding: BrandingClient | undefined; + protected _clientGrants: ClientGrantsClient | undefined; + protected _clients: ClientsClient | undefined; + protected _connectionProfiles: ConnectionProfilesClient | undefined; + protected _connections: ConnectionsClient | undefined; + protected _customDomains: CustomDomainsClient | undefined; + protected _deviceCredentials: DeviceCredentialsClient | undefined; + protected _emailTemplates: EmailTemplatesClient | undefined; + protected _eventStreams: EventStreamsClient | undefined; + protected _flows: FlowsClient | undefined; + protected _forms: FormsClient | undefined; + protected _userGrants: UserGrantsClient | undefined; + protected _hooks: HooksClient | undefined; + protected _jobs: JobsClient | undefined; + protected _logStreams: LogStreamsClient | undefined; + protected _logs: LogsClient | undefined; + protected _networkAcls: NetworkAclsClient | undefined; + protected _organizations: OrganizationsClient | undefined; + protected _prompts: PromptsClient | undefined; + protected _refreshTokens: RefreshTokensClient | undefined; + protected _resourceServers: ResourceServersClient | undefined; + protected _roles: RolesClient | undefined; + protected _rules: RulesClient | undefined; + protected _rulesConfigs: RulesConfigsClient | undefined; + protected _selfServiceProfiles: SelfServiceProfilesClient | undefined; + protected _sessions: SessionsClient | undefined; + protected _stats: StatsClient | undefined; + protected _supplementalSignals: SupplementalSignalsClient | undefined; + protected _tickets: TicketsClient | undefined; + protected _tokenExchangeProfiles: TokenExchangeProfilesClient | undefined; + protected _userAttributeProfiles: UserAttributeProfilesClient | undefined; + protected _userBlocks: UserBlocksClient | undefined; + protected _users: UsersClient | undefined; + protected _anomaly: AnomalyClient | undefined; + protected _attackProtection: AttackProtectionClient | undefined; + protected _emails: EmailsClient | undefined; + protected _guardian: GuardianClient | undefined; + protected _keys: KeysClient | undefined; + protected _riskAssessments: RiskAssessmentsClient | undefined; + protected _tenants: TenantsClient | undefined; + protected _verifiableCredentials: VerifiableCredentialsClient | undefined; - constructor(_options: ManagementClient.Options) { - this._options = _options; + constructor(options: ManagementClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get actions(): Actions { - return (this._actions ??= new Actions(this._options)); + public get actions(): ActionsClient { + return (this._actions ??= new ActionsClient(this._options)); } - public get branding(): Branding { - return (this._branding ??= new Branding(this._options)); + public get branding(): BrandingClient { + return (this._branding ??= new BrandingClient(this._options)); } - public get clientGrants(): ClientGrants { - return (this._clientGrants ??= new ClientGrants(this._options)); + public get clientGrants(): ClientGrantsClient { + return (this._clientGrants ??= new ClientGrantsClient(this._options)); } - public get clients(): Clients { - return (this._clients ??= new Clients(this._options)); + public get clients(): ClientsClient { + return (this._clients ??= new ClientsClient(this._options)); } - public get connections(): Connections { - return (this._connections ??= new Connections(this._options)); + public get connectionProfiles(): ConnectionProfilesClient { + return (this._connectionProfiles ??= new ConnectionProfilesClient(this._options)); } - public get customDomains(): CustomDomains { - return (this._customDomains ??= new CustomDomains(this._options)); + public get connections(): ConnectionsClient { + return (this._connections ??= new ConnectionsClient(this._options)); } - public get deviceCredentials(): DeviceCredentials { - return (this._deviceCredentials ??= new DeviceCredentials(this._options)); + public get customDomains(): CustomDomainsClient { + return (this._customDomains ??= new CustomDomainsClient(this._options)); } - public get emailTemplates(): EmailTemplates { - return (this._emailTemplates ??= new EmailTemplates(this._options)); + public get deviceCredentials(): DeviceCredentialsClient { + return (this._deviceCredentials ??= new DeviceCredentialsClient(this._options)); } - public get eventStreams(): EventStreams { - return (this._eventStreams ??= new EventStreams(this._options)); + public get emailTemplates(): EmailTemplatesClient { + return (this._emailTemplates ??= new EmailTemplatesClient(this._options)); } - public get flows(): Flows { - return (this._flows ??= new Flows(this._options)); + public get eventStreams(): EventStreamsClient { + return (this._eventStreams ??= new EventStreamsClient(this._options)); } - public get forms(): Forms { - return (this._forms ??= new Forms(this._options)); + public get flows(): FlowsClient { + return (this._flows ??= new FlowsClient(this._options)); } - public get userGrants(): UserGrants { - return (this._userGrants ??= new UserGrants(this._options)); + public get forms(): FormsClient { + return (this._forms ??= new FormsClient(this._options)); } - public get hooks(): Hooks { - return (this._hooks ??= new Hooks(this._options)); + public get userGrants(): UserGrantsClient { + return (this._userGrants ??= new UserGrantsClient(this._options)); } - public get jobs(): Jobs { - return (this._jobs ??= new Jobs(this._options)); + public get hooks(): HooksClient { + return (this._hooks ??= new HooksClient(this._options)); } - public get logStreams(): LogStreams { - return (this._logStreams ??= new LogStreams(this._options)); + public get jobs(): JobsClient { + return (this._jobs ??= new JobsClient(this._options)); } - public get logs(): Logs { - return (this._logs ??= new Logs(this._options)); + public get logStreams(): LogStreamsClient { + return (this._logStreams ??= new LogStreamsClient(this._options)); } - public get networkAcls(): NetworkAcls { - return (this._networkAcls ??= new NetworkAcls(this._options)); + public get logs(): LogsClient { + return (this._logs ??= new LogsClient(this._options)); } - public get organizations(): Organizations { - return (this._organizations ??= new Organizations(this._options)); + public get networkAcls(): NetworkAclsClient { + return (this._networkAcls ??= new NetworkAclsClient(this._options)); } - public get prompts(): Prompts { - return (this._prompts ??= new Prompts(this._options)); + public get organizations(): OrganizationsClient { + return (this._organizations ??= new OrganizationsClient(this._options)); } - public get refreshTokens(): RefreshTokens { - return (this._refreshTokens ??= new RefreshTokens(this._options)); + public get prompts(): PromptsClient { + return (this._prompts ??= new PromptsClient(this._options)); } - public get resourceServers(): ResourceServers { - return (this._resourceServers ??= new ResourceServers(this._options)); + public get refreshTokens(): RefreshTokensClient { + return (this._refreshTokens ??= new RefreshTokensClient(this._options)); } - public get roles(): Roles { - return (this._roles ??= new Roles(this._options)); + public get resourceServers(): ResourceServersClient { + return (this._resourceServers ??= new ResourceServersClient(this._options)); } - public get rules(): Rules { - return (this._rules ??= new Rules(this._options)); + public get roles(): RolesClient { + return (this._roles ??= new RolesClient(this._options)); } - public get rulesConfigs(): RulesConfigs { - return (this._rulesConfigs ??= new RulesConfigs(this._options)); + public get rules(): RulesClient { + return (this._rules ??= new RulesClient(this._options)); } - public get selfServiceProfiles(): SelfServiceProfiles { - return (this._selfServiceProfiles ??= new SelfServiceProfiles(this._options)); + public get rulesConfigs(): RulesConfigsClient { + return (this._rulesConfigs ??= new RulesConfigsClient(this._options)); } - public get sessions(): Sessions { - return (this._sessions ??= new Sessions(this._options)); + public get selfServiceProfiles(): SelfServiceProfilesClient { + return (this._selfServiceProfiles ??= new SelfServiceProfilesClient(this._options)); } - public get stats(): Stats { - return (this._stats ??= new Stats(this._options)); + public get sessions(): SessionsClient { + return (this._sessions ??= new SessionsClient(this._options)); } - public get supplementalSignals(): SupplementalSignals { - return (this._supplementalSignals ??= new SupplementalSignals(this._options)); + public get stats(): StatsClient { + return (this._stats ??= new StatsClient(this._options)); } - public get tickets(): Tickets { - return (this._tickets ??= new Tickets(this._options)); + public get supplementalSignals(): SupplementalSignalsClient { + return (this._supplementalSignals ??= new SupplementalSignalsClient(this._options)); } - public get tokenExchangeProfiles(): TokenExchangeProfiles { - return (this._tokenExchangeProfiles ??= new TokenExchangeProfiles(this._options)); + public get tickets(): TicketsClient { + return (this._tickets ??= new TicketsClient(this._options)); } - public get userAttributeProfiles(): UserAttributeProfiles { - return (this._userAttributeProfiles ??= new UserAttributeProfiles(this._options)); + public get tokenExchangeProfiles(): TokenExchangeProfilesClient { + return (this._tokenExchangeProfiles ??= new TokenExchangeProfilesClient(this._options)); } - public get userBlocks(): UserBlocks { - return (this._userBlocks ??= new UserBlocks(this._options)); + public get userAttributeProfiles(): UserAttributeProfilesClient { + return (this._userAttributeProfiles ??= new UserAttributeProfilesClient(this._options)); } - public get users(): Users { - return (this._users ??= new Users(this._options)); + public get userBlocks(): UserBlocksClient { + return (this._userBlocks ??= new UserBlocksClient(this._options)); } - public get anomaly(): Anomaly { - return (this._anomaly ??= new Anomaly(this._options)); + public get users(): UsersClient { + return (this._users ??= new UsersClient(this._options)); } - public get attackProtection(): AttackProtection { - return (this._attackProtection ??= new AttackProtection(this._options)); + public get anomaly(): AnomalyClient { + return (this._anomaly ??= new AnomalyClient(this._options)); } - public get emails(): Emails { - return (this._emails ??= new Emails(this._options)); + public get attackProtection(): AttackProtectionClient { + return (this._attackProtection ??= new AttackProtectionClient(this._options)); } - public get guardian(): Guardian { - return (this._guardian ??= new Guardian(this._options)); + public get emails(): EmailsClient { + return (this._emails ??= new EmailsClient(this._options)); } - public get keys(): Keys { - return (this._keys ??= new Keys(this._options)); + public get guardian(): GuardianClient { + return (this._guardian ??= new GuardianClient(this._options)); } - public get riskAssessments(): RiskAssessments { - return (this._riskAssessments ??= new RiskAssessments(this._options)); + public get keys(): KeysClient { + return (this._keys ??= new KeysClient(this._options)); } - public get tenants(): Tenants { - return (this._tenants ??= new Tenants(this._options)); + public get riskAssessments(): RiskAssessmentsClient { + return (this._riskAssessments ??= new RiskAssessmentsClient(this._options)); } - public get verifiableCredentials(): VerifiableCredentials { - return (this._verifiableCredentials ??= new VerifiableCredentials(this._options)); + public get tenants(): TenantsClient { + return (this._tenants ??= new TenantsClient(this._options)); + } + + public get verifiableCredentials(): VerifiableCredentialsClient { + return (this._verifiableCredentials ??= new VerifiableCredentialsClient(this._options)); } } diff --git a/src/management/api/errors/BadRequestError.ts b/src/management/api/errors/BadRequestError.ts index 79fe19853b..ec9157f989 100644 --- a/src/management/api/errors/BadRequestError.ts +++ b/src/management/api/errors/BadRequestError.ts @@ -11,6 +11,11 @@ export class BadRequestError extends errors.ManagementError { body: body, rawResponse: rawResponse, }); - Object.setPrototypeOf(this, BadRequestError.prototype); + Object.setPrototypeOf(this, new.target.prototype); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = this.constructor.name; } } diff --git a/src/management/api/errors/ConflictError.ts b/src/management/api/errors/ConflictError.ts index 92267320d9..30f81cb018 100644 --- a/src/management/api/errors/ConflictError.ts +++ b/src/management/api/errors/ConflictError.ts @@ -11,6 +11,11 @@ export class ConflictError extends errors.ManagementError { body: body, rawResponse: rawResponse, }); - Object.setPrototypeOf(this, ConflictError.prototype); + Object.setPrototypeOf(this, new.target.prototype); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = this.constructor.name; } } diff --git a/src/management/api/errors/ContentTooLargeError.ts b/src/management/api/errors/ContentTooLargeError.ts index d93249c9c9..cad6296125 100644 --- a/src/management/api/errors/ContentTooLargeError.ts +++ b/src/management/api/errors/ContentTooLargeError.ts @@ -11,6 +11,11 @@ export class ContentTooLargeError extends errors.ManagementError { body: body, rawResponse: rawResponse, }); - Object.setPrototypeOf(this, ContentTooLargeError.prototype); + Object.setPrototypeOf(this, new.target.prototype); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = this.constructor.name; } } diff --git a/src/management/api/errors/ForbiddenError.ts b/src/management/api/errors/ForbiddenError.ts index 79c69a14d7..0b727503d8 100644 --- a/src/management/api/errors/ForbiddenError.ts +++ b/src/management/api/errors/ForbiddenError.ts @@ -11,6 +11,11 @@ export class ForbiddenError extends errors.ManagementError { body: body, rawResponse: rawResponse, }); - Object.setPrototypeOf(this, ForbiddenError.prototype); + Object.setPrototypeOf(this, new.target.prototype); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = this.constructor.name; } } diff --git a/src/management/api/errors/InternalServerError.ts b/src/management/api/errors/InternalServerError.ts index cba6978e3c..fcf94549f3 100644 --- a/src/management/api/errors/InternalServerError.ts +++ b/src/management/api/errors/InternalServerError.ts @@ -11,6 +11,11 @@ export class InternalServerError extends errors.ManagementError { body: body, rawResponse: rawResponse, }); - Object.setPrototypeOf(this, InternalServerError.prototype); + Object.setPrototypeOf(this, new.target.prototype); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = this.constructor.name; } } diff --git a/src/management/api/errors/NotFoundError.ts b/src/management/api/errors/NotFoundError.ts index 0eeb7776b3..365f815734 100644 --- a/src/management/api/errors/NotFoundError.ts +++ b/src/management/api/errors/NotFoundError.ts @@ -11,6 +11,11 @@ export class NotFoundError extends errors.ManagementError { body: body, rawResponse: rawResponse, }); - Object.setPrototypeOf(this, NotFoundError.prototype); + Object.setPrototypeOf(this, new.target.prototype); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = this.constructor.name; } } diff --git a/src/management/api/errors/PaymentRequiredError.ts b/src/management/api/errors/PaymentRequiredError.ts index 66a8906795..f0c0a9b117 100644 --- a/src/management/api/errors/PaymentRequiredError.ts +++ b/src/management/api/errors/PaymentRequiredError.ts @@ -11,6 +11,11 @@ export class PaymentRequiredError extends errors.ManagementError { body: body, rawResponse: rawResponse, }); - Object.setPrototypeOf(this, PaymentRequiredError.prototype); + Object.setPrototypeOf(this, new.target.prototype); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = this.constructor.name; } } diff --git a/src/management/api/errors/ServiceUnavailableError.ts b/src/management/api/errors/ServiceUnavailableError.ts index 899fcc9aa4..a76ff716e9 100644 --- a/src/management/api/errors/ServiceUnavailableError.ts +++ b/src/management/api/errors/ServiceUnavailableError.ts @@ -11,6 +11,11 @@ export class ServiceUnavailableError extends errors.ManagementError { body: body, rawResponse: rawResponse, }); - Object.setPrototypeOf(this, ServiceUnavailableError.prototype); + Object.setPrototypeOf(this, new.target.prototype); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = this.constructor.name; } } diff --git a/src/management/api/errors/TooManyRequestsError.ts b/src/management/api/errors/TooManyRequestsError.ts index 2eae718162..10a8a0e0c7 100644 --- a/src/management/api/errors/TooManyRequestsError.ts +++ b/src/management/api/errors/TooManyRequestsError.ts @@ -11,6 +11,11 @@ export class TooManyRequestsError extends errors.ManagementError { body: body, rawResponse: rawResponse, }); - Object.setPrototypeOf(this, TooManyRequestsError.prototype); + Object.setPrototypeOf(this, new.target.prototype); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = this.constructor.name; } } diff --git a/src/management/api/errors/UnauthorizedError.ts b/src/management/api/errors/UnauthorizedError.ts index 9b0b1ae0cc..ac9fb7b229 100644 --- a/src/management/api/errors/UnauthorizedError.ts +++ b/src/management/api/errors/UnauthorizedError.ts @@ -11,6 +11,11 @@ export class UnauthorizedError extends errors.ManagementError { body: body, rawResponse: rawResponse, }); - Object.setPrototypeOf(this, UnauthorizedError.prototype); + Object.setPrototypeOf(this, new.target.prototype); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = this.constructor.name; } } diff --git a/src/management/api/requests/requests.ts b/src/management/api/requests/requests.ts index 0a5ad8bfef..18c5a7cba3 100644 --- a/src/management/api/requests/requests.ts +++ b/src/management/api/requests/requests.ts @@ -289,11 +289,13 @@ export interface CreateClientRequestContent { * See https://auth0.com/docs/secure/security-guidance/measures-against-app-impersonation for more information. */ skip_non_verifiable_callback_uri_confirmation_prompt?: boolean; + token_exchange?: Management.ClientTokenExchangeConfiguration; /** Specifies how long, in seconds, a Pushed Authorization Request URI remains valid */ par_request_expiry?: number | null; token_quota?: Management.CreateTokenQuota; /** The identifier of the resource server that this client is linked to. */ resource_server_identifier?: string; + express_configuration?: Management.ExpressConfiguration; async_approval_notification_channels?: Management.ClientAsyncApprovalNotificationsChannelsApiPostConfiguration; } @@ -392,11 +394,55 @@ export interface UpdateClientRequestContent { * See https://auth0.com/docs/secure/security-guidance/measures-against-app-impersonation for more information. */ skip_non_verifiable_callback_uri_confirmation_prompt?: boolean | null; + token_exchange?: Management.ClientTokenExchangeConfigurationOrNull | null; /** Specifies how long, in seconds, a Pushed Authorization Request URI remains valid */ par_request_expiry?: number | null; + express_configuration?: Management.ExpressConfigurationOrNull | null; async_approval_notification_channels?: Management.ClientAsyncApprovalNotificationsChannelsApiPatchConfiguration; } +/** + * @example + * { + * from: "from", + * take: 1 + * } + */ +export interface ListConnectionProfileRequestParameters { + /** Optional Id from which to start selection. */ + from?: string | null; + /** Number of results per page. Defaults to 5. */ + take?: number | null; +} + +/** + * @example + * { + * name: "name" + * } + */ +export interface CreateConnectionProfileRequestContent { + name: Management.ConnectionProfileName; + organization?: Management.ConnectionProfileOrganization; + connection_name_prefix_template?: Management.ConnectionNamePrefixTemplate; + enabled_features?: Management.ConnectionProfileEnabledFeatures; + connection_config?: Management.ConnectionProfileConfig; + strategy_overrides?: Management.ConnectionProfileStrategyOverrides; +} + +/** + * @example + * {} + */ +export interface UpdateConnectionProfileRequestContent { + name?: Management.ConnectionProfileName; + organization?: Management.ConnectionProfileOrganization; + connection_name_prefix_template?: Management.ConnectionNamePrefixTemplate; + enabled_features?: Management.ConnectionProfileEnabledFeatures; + connection_config?: Management.ConnectionProfileConfig; + strategy_overrides?: Management.ConnectionProfileStrategyOverrides; +} + /** * @example * { @@ -484,6 +530,32 @@ export interface UpdateConnectionRequestContent { connected_accounts?: Management.ConnectionConnectedAccountsPurpose; } +/** + * @example + * { + * take: 1, + * from: "from", + * q: "q", + * fields: "fields", + * include_fields: true, + * sort: "sort" + * } + */ +export interface ListCustomDomainsRequestParameters { + /** Number of results per page. Defaults to 50. */ + take?: number | null; + /** Optional Id from which to start selection. */ + from?: string | null; + /** Query in Lucene query string syntax. */ + q?: string | null; + /** Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields. */ + fields?: string | null; + /** Whether specified fields are to be included (true) or excluded (false). */ + include_fields?: boolean | null; + /** Field to sort by. Only domain:1 (ascending order by domain) is supported at this time. */ + sort?: string | null; +} + /** * @example * { @@ -498,6 +570,7 @@ export interface CreateCustomDomainRequestContent { verification_method?: Management.CustomDomainVerificationMethodEnum; tls_policy?: Management.CustomDomainTlsPolicyEnum; custom_client_ip_header?: Management.CustomDomainCustomClientIpHeader | undefined; + domain_metadata?: Management.DomainMetadata; } /** @@ -507,6 +580,7 @@ export interface CreateCustomDomainRequestContent { export interface UpdateCustomDomainRequestContent { tls_policy?: Management.CustomDomainTlsPolicyEnum; custom_client_ip_header?: Management.CustomDomainCustomClientIpHeader | undefined; + domain_metadata?: Management.DomainMetadata; } /** @@ -1432,6 +1506,7 @@ export interface ChangePasswordTicketRequestContent { mark_email_as_verified?: boolean; /** Whether to include the email address as part of the returnUrl in the reset_email (true), or not (false). */ includeEmailInRedirect?: boolean; + identity?: Management.ChangePasswordTicketIdentity; } /** @@ -2971,9 +3046,7 @@ export interface ListAculsRequestParameters { * { * configs: [{ * prompt: "login", - * screen: "login", - * rendering_mode: "advanced", - * head_tags: [{}] + * screen: "login" * }] * } */ @@ -2983,22 +3056,18 @@ export interface BulkUpdateAculRequestContent { /** * @example - * { - * rendering_mode: "advanced", - * head_tags: [{}] - * } + * {} */ export interface UpdateAculRequestContent { - rendering_mode: Management.AculRenderingModeEnum; - /** Context values to make available */ - context_configuration?: string[]; + rendering_mode?: Management.AculRenderingModeEnum; + context_configuration?: Management.AculContextConfiguration; /** Override Universal Login default head tags */ default_head_tags_disabled?: boolean | null; - /** An array of head tags */ - head_tags: Management.AculHeadTag[]; - filters?: Management.AculFilters | null; /** Use page template with ACUL */ use_page_template?: boolean | null; + /** An array of head tags */ + head_tags?: Management.AculHeadTag[]; + filters?: Management.AculFilters | null; } /** @@ -3186,6 +3255,7 @@ export interface UpdateTenantSettingsRequestContent { * See https://auth0.com/docs/secure/security-guidance/measures-against-app-impersonation for more information. */ skip_non_verifiable_callback_uri_confirmation_prompt?: boolean | null; + resource_parameter_profile?: Management.TenantSettingsResourceParameterProfile; } export namespace UpdateTenantSettingsRequestContent { diff --git a/src/management/api/resources/actions/client/Client.ts b/src/management/api/resources/actions/client/Client.ts index f4c582ddc3..a011f1b7cb 100644 --- a/src/management/api/resources/actions/client/Client.ts +++ b/src/management/api/resources/actions/client/Client.ts @@ -1,48 +1,50 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; -import { Versions } from "../resources/versions/client/Client.js"; -import { Executions } from "../resources/executions/client/Client.js"; -import { Triggers } from "../resources/triggers/client/Client.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; +import { VersionsClient } from "../resources/versions/client/Client.js"; +import { ExecutionsClient } from "../resources/executions/client/Client.js"; +import { TriggersClient } from "../resources/triggers/client/Client.js"; -export declare namespace Actions { - export interface Options extends BaseClientOptions {} +export declare namespace ActionsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Actions { - protected readonly _options: Actions.Options; - protected _versions: Versions | undefined; - protected _executions: Executions | undefined; - protected _triggers: Triggers | undefined; +export class ActionsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _versions: VersionsClient | undefined; + protected _executions: ExecutionsClient | undefined; + protected _triggers: TriggersClient | undefined; - constructor(_options: Actions.Options) { - this._options = _options; + constructor(options: ActionsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get versions(): Versions { - return (this._versions ??= new Versions(this._options)); + public get versions(): VersionsClient { + return (this._versions ??= new VersionsClient(this._options)); } - public get executions(): Executions { - return (this._executions ??= new Executions(this._options)); + public get executions(): ExecutionsClient { + return (this._executions ??= new ExecutionsClient(this._options)); } - public get triggers(): Triggers { - return (this._triggers ??= new Triggers(this._options)); + public get triggers(): TriggersClient { + return (this._triggers ??= new TriggersClient(this._options)); } /** * Retrieve all actions. * * @param {Management.ListActionsRequestParameters} request - * @param {Actions.RequestOptions} requestOptions - Request-specific configuration. + * @param {ActionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -61,7 +63,7 @@ export class Actions { */ public async list( request: Management.ListActionsRequestParameters = {}, - requestOptions?: Actions.RequestOptions, + requestOptions?: ActionsClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -87,9 +89,10 @@ export class Actions { if (installed !== undefined) { _queryParams["installed"] = installed?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -106,6 +109,7 @@ export class Actions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -140,21 +144,7 @@ export class Actions { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /actions/actions."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/actions/actions"); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -162,10 +152,10 @@ export class Actions { return new core.Page({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.actions ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.actions ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.actions ?? [], - loadPage: (response) => { - _offset += response?.actions != null ? response.actions.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -175,7 +165,7 @@ export class Actions { * Create an action. Once an action is created, it must be deployed, and then bound to a trigger before it will be executed as part of a flow. * * @param {Management.CreateActionRequestContent} request - * @param {Actions.RequestOptions} requestOptions - Request-specific configuration. + * @param {ActionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -192,18 +182,19 @@ export class Actions { */ public create( request: Management.CreateActionRequestContent, - requestOptions?: Actions.RequestOptions, + requestOptions?: ActionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateActionRequestContent, - requestOptions?: Actions.RequestOptions, + requestOptions?: ActionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -223,6 +214,7 @@ export class Actions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -250,28 +242,14 @@ export class Actions { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /actions/actions."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/actions/actions"); } /** * Retrieve an action by its ID. * * @param {string} id - The ID of the action to retrieve. - * @param {Actions.RequestOptions} requestOptions - Request-specific configuration. + * @param {ActionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -284,18 +262,19 @@ export class Actions { */ public get( id: string, - requestOptions?: Actions.RequestOptions, + requestOptions?: ActionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: Actions.RequestOptions, + requestOptions?: ActionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -312,6 +291,7 @@ export class Actions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.GetActionResponseContent, rawResponse: _response.rawResponse }; @@ -338,21 +318,7 @@ export class Actions { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /actions/actions/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/actions/actions/{id}"); } /** @@ -360,7 +326,7 @@ export class Actions { * * @param {string} id - The ID of the action to delete. * @param {Management.DeleteActionRequestParameters} request - * @param {Actions.RequestOptions} requestOptions - Request-specific configuration. + * @param {ActionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -376,7 +342,7 @@ export class Actions { public delete( id: string, request: Management.DeleteActionRequestParameters = {}, - requestOptions?: Actions.RequestOptions, + requestOptions?: ActionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, request, requestOptions)); } @@ -384,7 +350,7 @@ export class Actions { private async __delete( id: string, request: Management.DeleteActionRequestParameters = {}, - requestOptions?: Actions.RequestOptions, + requestOptions?: ActionsClient.RequestOptions, ): Promise> { const { force } = request; const _queryParams: Record = {}; @@ -392,9 +358,10 @@ export class Actions { _queryParams["force"] = force?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -411,6 +378,7 @@ export class Actions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -437,21 +405,7 @@ export class Actions { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /actions/actions/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/actions/actions/{id}"); } /** @@ -459,7 +413,7 @@ export class Actions { * * @param {string} id - The id of the action to update. * @param {Management.UpdateActionRequestContent} request - * @param {Actions.RequestOptions} requestOptions - Request-specific configuration. + * @param {ActionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -473,7 +427,7 @@ export class Actions { public update( id: string, request: Management.UpdateActionRequestContent = {}, - requestOptions?: Actions.RequestOptions, + requestOptions?: ActionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -481,11 +435,12 @@ export class Actions { private async __update( id: string, request: Management.UpdateActionRequestContent = {}, - requestOptions?: Actions.RequestOptions, + requestOptions?: ActionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -505,6 +460,7 @@ export class Actions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -534,28 +490,14 @@ export class Actions { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PATCH /actions/actions/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/actions/actions/{id}"); } /** * Deploy an action. Deploying an action will create a new immutable version of the action. If the action is currently bound to a trigger, then the system will begin executing the newly deployed version of the action immediately. Otherwise, the action will only be executed as a part of a flow once it is bound to that flow. * * @param {string} id - The ID of an action. - * @param {Actions.RequestOptions} requestOptions - Request-specific configuration. + * @param {ActionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -567,18 +509,19 @@ export class Actions { */ public deploy( id: string, - requestOptions?: Actions.RequestOptions, + requestOptions?: ActionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__deploy(id, requestOptions)); } private async __deploy( id: string, - requestOptions?: Actions.RequestOptions, + requestOptions?: ActionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -595,6 +538,7 @@ export class Actions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -622,23 +566,7 @@ export class Actions { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /actions/actions/{id}/deploy.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/actions/actions/{id}/deploy"); } /** @@ -646,7 +574,7 @@ export class Actions { * * @param {string} id - The id of the action to test. * @param {Management.TestActionRequestContent} request - * @param {Actions.RequestOptions} requestOptions - Request-specific configuration. + * @param {ActionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -663,7 +591,7 @@ export class Actions { public test( id: string, request: Management.TestActionRequestContent, - requestOptions?: Actions.RequestOptions, + requestOptions?: ActionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__test(id, request, requestOptions)); } @@ -671,11 +599,12 @@ export class Actions { private async __test( id: string, request: Management.TestActionRequestContent, - requestOptions?: Actions.RequestOptions, + requestOptions?: ActionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -695,6 +624,7 @@ export class Actions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.TestActionResponseContent, rawResponse: _response.rawResponse }; @@ -719,26 +649,6 @@ export class Actions { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /actions/actions/{id}/test.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/actions/actions/{id}/test"); } } diff --git a/src/management/api/resources/actions/resources/executions/client/Client.ts b/src/management/api/resources/actions/resources/executions/client/Client.ts index c534f0e428..99ecfb9fdc 100644 --- a/src/management/api/resources/actions/resources/executions/client/Client.ts +++ b/src/management/api/resources/actions/resources/executions/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Executions { - export interface Options extends BaseClientOptions {} +export declare namespace ExecutionsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Executions { - protected readonly _options: Executions.Options; +export class ExecutionsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Executions.Options) { - this._options = _options; + constructor(options: ExecutionsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve information about a specific execution of a trigger. Relevant execution IDs will be included in tenant logs generated as part of that authentication flow. Executions will only be stored for 10 days after their creation. * * @param {string} id - The ID of the execution to retrieve. - * @param {Executions.RequestOptions} requestOptions - Request-specific configuration. + * @param {ExecutionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -37,18 +39,19 @@ export class Executions { */ public get( id: string, - requestOptions?: Executions.RequestOptions, + requestOptions?: ExecutionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: Executions.RequestOptions, + requestOptions?: ExecutionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -65,6 +68,7 @@ export class Executions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -94,24 +98,6 @@ export class Executions { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /actions/executions/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/actions/executions/{id}"); } } diff --git a/src/management/api/resources/actions/resources/triggers/client/Client.ts b/src/management/api/resources/actions/resources/triggers/client/Client.ts index 18213fcb59..34a41c1516 100644 --- a/src/management/api/resources/actions/resources/triggers/client/Client.ts +++ b/src/management/api/resources/actions/resources/triggers/client/Client.ts @@ -1,35 +1,37 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; -import { Bindings } from "../resources/bindings/client/Client.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; +import { BindingsClient } from "../resources/bindings/client/Client.js"; -export declare namespace Triggers { - export interface Options extends BaseClientOptions {} +export declare namespace TriggersClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Triggers { - protected readonly _options: Triggers.Options; - protected _bindings: Bindings | undefined; +export class TriggersClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _bindings: BindingsClient | undefined; - constructor(_options: Triggers.Options) { - this._options = _options; + constructor(options: TriggersClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get bindings(): Bindings { - return (this._bindings ??= new Bindings(this._options)); + public get bindings(): BindingsClient { + return (this._bindings ??= new BindingsClient(this._options)); } /** * Retrieve the set of triggers currently available within actions. A trigger is an extensibility point to which actions can be bound. * - * @param {Triggers.RequestOptions} requestOptions - Request-specific configuration. + * @param {TriggersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -40,17 +42,18 @@ export class Triggers { * await client.actions.triggers.list() */ public list( - requestOptions?: Triggers.RequestOptions, + requestOptions?: TriggersClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__list(requestOptions)); } private async __list( - requestOptions?: Triggers.RequestOptions, + requestOptions?: TriggersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -67,6 +70,7 @@ export class Triggers { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -94,24 +98,6 @@ export class Triggers { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /actions/triggers."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/actions/triggers"); } } diff --git a/src/management/api/resources/actions/resources/triggers/resources/bindings/client/Client.ts b/src/management/api/resources/actions/resources/triggers/resources/bindings/client/Client.ts index a3d94c44c4..06648c216d 100644 --- a/src/management/api/resources/actions/resources/triggers/resources/bindings/client/Client.ts +++ b/src/management/api/resources/actions/resources/triggers/resources/bindings/client/Client.ts @@ -1,23 +1,28 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../../../BaseClient.js"; +import { + type NormalizedClientOptionsWithAuth, + normalizeClientOptionsWithAuth, +} from "../../../../../../../../BaseClient.js"; import * as environments from "../../../../../../../../environments.js"; import * as core from "../../../../../../../../core/index.js"; import * as Management from "../../../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../../../core/headers.js"; import * as errors from "../../../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Bindings { - export interface Options extends BaseClientOptions {} +export declare namespace BindingsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Bindings { - protected readonly _options: Bindings.Options; +export class BindingsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Bindings.Options) { - this._options = _options; + constructor(options: BindingsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -25,7 +30,7 @@ export class Bindings { * * @param {Management.ActionTriggerTypeEnum} triggerId - An actions extensibility point. * @param {Management.ListActionTriggerBindingsRequestParameters} request - * @param {Bindings.RequestOptions} requestOptions - Request-specific configuration. + * @param {BindingsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -41,7 +46,7 @@ export class Bindings { public async list( triggerId: Management.ActionTriggerTypeEnum, request: Management.ListActionTriggerBindingsRequestParameters = {}, - requestOptions?: Bindings.RequestOptions, + requestOptions?: BindingsClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -55,9 +60,10 @@ export class Bindings { if (perPage !== undefined) { _queryParams["per_page"] = perPage?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -74,6 +80,7 @@ export class Bindings { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -108,23 +115,12 @@ export class Bindings { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /actions/triggers/{triggerId}/bindings.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/actions/triggers/{triggerId}/bindings", + ); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -132,10 +128,10 @@ export class Bindings { return new core.Page({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.bindings ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.bindings ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.bindings ?? [], - loadPage: (response) => { - _offset += response?.bindings != null ? response.bindings.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -146,7 +142,7 @@ export class Bindings { * * @param {Management.ActionTriggerTypeEnum} triggerId - An actions extensibility point. * @param {Management.UpdateActionBindingsRequestContent} request - * @param {Bindings.RequestOptions} requestOptions - Request-specific configuration. + * @param {BindingsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -159,7 +155,7 @@ export class Bindings { public updateMany( triggerId: Management.ActionTriggerTypeEnum, request: Management.UpdateActionBindingsRequestContent = {}, - requestOptions?: Bindings.RequestOptions, + requestOptions?: BindingsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__updateMany(triggerId, request, requestOptions)); } @@ -167,11 +163,12 @@ export class Bindings { private async __updateMany( triggerId: Management.ActionTriggerTypeEnum, request: Management.UpdateActionBindingsRequestContent = {}, - requestOptions?: Bindings.RequestOptions, + requestOptions?: BindingsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -191,6 +188,7 @@ export class Bindings { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -218,26 +216,11 @@ export class Bindings { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /actions/triggers/{triggerId}/bindings.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/actions/triggers/{triggerId}/bindings", + ); } } diff --git a/src/management/api/resources/actions/resources/versions/client/Client.ts b/src/management/api/resources/actions/resources/versions/client/Client.ts index 285df46ea7..0f91b9f36b 100644 --- a/src/management/api/resources/actions/resources/versions/client/Client.ts +++ b/src/management/api/resources/actions/resources/versions/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Versions { - export interface Options extends BaseClientOptions {} +export declare namespace VersionsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Versions { - protected readonly _options: Versions.Options; +export class VersionsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Versions.Options) { - this._options = _options; + constructor(options: VersionsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -25,7 +27,7 @@ export class Versions { * * @param {string} actionId - The ID of the action. * @param {Management.ListActionVersionsRequestParameters} request - * @param {Versions.RequestOptions} requestOptions - Request-specific configuration. + * @param {VersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -41,7 +43,7 @@ export class Versions { public async list( actionId: string, request: Management.ListActionVersionsRequestParameters = {}, - requestOptions?: Versions.RequestOptions, + requestOptions?: VersionsClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -55,9 +57,10 @@ export class Versions { if (perPage !== undefined) { _queryParams["per_page"] = perPage?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -74,6 +77,7 @@ export class Versions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -108,23 +112,12 @@ export class Versions { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /actions/actions/{actionId}/versions.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/actions/actions/{actionId}/versions", + ); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -132,10 +125,10 @@ export class Versions { return new core.Page({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.versions ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.versions ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.versions ?? [], - loadPage: (response) => { - _offset += response?.versions != null ? response.versions.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -146,7 +139,7 @@ export class Versions { * * @param {string} actionId - The ID of the action. * @param {string} id - The ID of the action version. - * @param {Versions.RequestOptions} requestOptions - Request-specific configuration. + * @param {VersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -160,7 +153,7 @@ export class Versions { public get( actionId: string, id: string, - requestOptions?: Versions.RequestOptions, + requestOptions?: VersionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(actionId, id, requestOptions)); } @@ -168,11 +161,12 @@ export class Versions { private async __get( actionId: string, id: string, - requestOptions?: Versions.RequestOptions, + requestOptions?: VersionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -189,6 +183,7 @@ export class Versions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -218,23 +213,12 @@ export class Versions { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /actions/actions/{actionId}/versions/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/actions/actions/{actionId}/versions/{id}", + ); } /** @@ -243,7 +227,7 @@ export class Versions { * @param {string} actionId - The ID of an action. * @param {string} id - The ID of an action version. * @param {Management.DeployActionVersionRequestContent | undefined} request - * @param {Versions.RequestOptions} requestOptions - Request-specific configuration. + * @param {VersionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -257,7 +241,7 @@ export class Versions { actionId: string, id: string, request?: Management.DeployActionVersionRequestContent | undefined, - requestOptions?: Versions.RequestOptions, + requestOptions?: VersionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__deploy(actionId, id, request, requestOptions)); } @@ -266,11 +250,12 @@ export class Versions { actionId: string, id: string, request?: Management.DeployActionVersionRequestContent | undefined, - requestOptions?: Versions.RequestOptions, + requestOptions?: VersionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -290,6 +275,7 @@ export class Versions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -317,26 +303,11 @@ export class Versions { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /actions/actions/{actionId}/versions/{id}/deploy.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/actions/actions/{actionId}/versions/{id}/deploy", + ); } } diff --git a/src/management/api/resources/anomaly/client/Client.ts b/src/management/api/resources/anomaly/client/Client.ts index 0e7c7fe3b8..06e6ec3e4c 100644 --- a/src/management/api/resources/anomaly/client/Client.ts +++ b/src/management/api/resources/anomaly/client/Client.ts @@ -1,23 +1,24 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; -import { Blocks } from "../resources/blocks/client/Client.js"; +import { BlocksClient } from "../resources/blocks/client/Client.js"; -export declare namespace Anomaly { - export interface Options extends BaseClientOptions {} +export declare namespace AnomalyClient { + export type Options = BaseClientOptions; } -export class Anomaly { - protected readonly _options: Anomaly.Options; - protected _blocks: Blocks | undefined; +export class AnomalyClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _blocks: BlocksClient | undefined; - constructor(_options: Anomaly.Options) { - this._options = _options; + constructor(options: AnomalyClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get blocks(): Blocks { - return (this._blocks ??= new Blocks(this._options)); + public get blocks(): BlocksClient { + return (this._blocks ??= new BlocksClient(this._options)); } } diff --git a/src/management/api/resources/anomaly/resources/blocks/client/Client.ts b/src/management/api/resources/anomaly/resources/blocks/client/Client.ts index 586ea3c7d2..8a65b1495b 100644 --- a/src/management/api/resources/anomaly/resources/blocks/client/Client.ts +++ b/src/management/api/resources/anomaly/resources/blocks/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Blocks { - export interface Options extends BaseClientOptions {} +export declare namespace BlocksClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Blocks { - protected readonly _options: Blocks.Options; +export class BlocksClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Blocks.Options) { - this._options = _options; + constructor(options: BlocksClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Check if the given IP address is blocked via the Suspicious IP Throttling due to multiple suspicious attempts. * * @param {Management.AnomalyIpFormat} id - IP address to check. - * @param {Blocks.RequestOptions} requestOptions - Request-specific configuration. + * @param {BlocksClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -37,18 +39,19 @@ export class Blocks { */ public checkIp( id: Management.AnomalyIpFormat, - requestOptions?: Blocks.RequestOptions, + requestOptions?: BlocksClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__checkIp(id, requestOptions)); } private async __checkIp( id: Management.AnomalyIpFormat, - requestOptions?: Blocks.RequestOptions, + requestOptions?: BlocksClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -65,6 +68,7 @@ export class Blocks { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -91,28 +95,14 @@ export class Blocks { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /anomaly/blocks/ips/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/anomaly/blocks/ips/{id}"); } /** * Remove a block imposed by Suspicious IP Throttling for the given IP address. * * @param {Management.AnomalyIpFormat} id - IP address to unblock. - * @param {Blocks.RequestOptions} requestOptions - Request-specific configuration. + * @param {BlocksClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -124,18 +114,19 @@ export class Blocks { */ public unblockIp( id: Management.AnomalyIpFormat, - requestOptions?: Blocks.RequestOptions, + requestOptions?: BlocksClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__unblockIp(id, requestOptions)); } private async __unblockIp( id: Management.AnomalyIpFormat, - requestOptions?: Blocks.RequestOptions, + requestOptions?: BlocksClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -152,6 +143,7 @@ export class Blocks { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -176,26 +168,6 @@ export class Blocks { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /anomaly/blocks/ips/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/anomaly/blocks/ips/{id}"); } } diff --git a/src/management/api/resources/attackProtection/client/Client.ts b/src/management/api/resources/attackProtection/client/Client.ts index faa7f9ab1e..9a507993db 100644 --- a/src/management/api/resources/attackProtection/client/Client.ts +++ b/src/management/api/resources/attackProtection/client/Client.ts @@ -1,47 +1,48 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; -import { BotDetection } from "../resources/botDetection/client/Client.js"; -import { BreachedPasswordDetection } from "../resources/breachedPasswordDetection/client/Client.js"; -import { BruteForceProtection } from "../resources/bruteForceProtection/client/Client.js"; -import { Captcha } from "../resources/captcha/client/Client.js"; -import { SuspiciousIpThrottling } from "../resources/suspiciousIpThrottling/client/Client.js"; - -export declare namespace AttackProtection { - export interface Options extends BaseClientOptions {} +import { BotDetectionClient } from "../resources/botDetection/client/Client.js"; +import { BreachedPasswordDetectionClient } from "../resources/breachedPasswordDetection/client/Client.js"; +import { BruteForceProtectionClient } from "../resources/bruteForceProtection/client/Client.js"; +import { CaptchaClient } from "../resources/captcha/client/Client.js"; +import { SuspiciousIpThrottlingClient } from "../resources/suspiciousIpThrottling/client/Client.js"; + +export declare namespace AttackProtectionClient { + export type Options = BaseClientOptions; } -export class AttackProtection { - protected readonly _options: AttackProtection.Options; - protected _botDetection: BotDetection | undefined; - protected _breachedPasswordDetection: BreachedPasswordDetection | undefined; - protected _bruteForceProtection: BruteForceProtection | undefined; - protected _captcha: Captcha | undefined; - protected _suspiciousIpThrottling: SuspiciousIpThrottling | undefined; +export class AttackProtectionClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _botDetection: BotDetectionClient | undefined; + protected _breachedPasswordDetection: BreachedPasswordDetectionClient | undefined; + protected _bruteForceProtection: BruteForceProtectionClient | undefined; + protected _captcha: CaptchaClient | undefined; + protected _suspiciousIpThrottling: SuspiciousIpThrottlingClient | undefined; - constructor(_options: AttackProtection.Options) { - this._options = _options; + constructor(options: AttackProtectionClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get botDetection(): BotDetection { - return (this._botDetection ??= new BotDetection(this._options)); + public get botDetection(): BotDetectionClient { + return (this._botDetection ??= new BotDetectionClient(this._options)); } - public get breachedPasswordDetection(): BreachedPasswordDetection { - return (this._breachedPasswordDetection ??= new BreachedPasswordDetection(this._options)); + public get breachedPasswordDetection(): BreachedPasswordDetectionClient { + return (this._breachedPasswordDetection ??= new BreachedPasswordDetectionClient(this._options)); } - public get bruteForceProtection(): BruteForceProtection { - return (this._bruteForceProtection ??= new BruteForceProtection(this._options)); + public get bruteForceProtection(): BruteForceProtectionClient { + return (this._bruteForceProtection ??= new BruteForceProtectionClient(this._options)); } - public get captcha(): Captcha { - return (this._captcha ??= new Captcha(this._options)); + public get captcha(): CaptchaClient { + return (this._captcha ??= new CaptchaClient(this._options)); } - public get suspiciousIpThrottling(): SuspiciousIpThrottling { - return (this._suspiciousIpThrottling ??= new SuspiciousIpThrottling(this._options)); + public get suspiciousIpThrottling(): SuspiciousIpThrottlingClient { + return (this._suspiciousIpThrottling ??= new SuspiciousIpThrottlingClient(this._options)); } } diff --git a/src/management/api/resources/attackProtection/resources/botDetection/client/Client.ts b/src/management/api/resources/attackProtection/resources/botDetection/client/Client.ts index e192f77da5..d070d24b4c 100644 --- a/src/management/api/resources/attackProtection/resources/botDetection/client/Client.ts +++ b/src/management/api/resources/attackProtection/resources/botDetection/client/Client.ts @@ -1,29 +1,31 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace BotDetection { - export interface Options extends BaseClientOptions {} +export declare namespace BotDetectionClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class BotDetection { - protected readonly _options: BotDetection.Options; +export class BotDetectionClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: BotDetection.Options) { - this._options = _options; + constructor(options: BotDetectionClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Get the Bot Detection configuration of your tenant. * - * @param {BotDetection.RequestOptions} requestOptions - Request-specific configuration. + * @param {BotDetectionClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -34,17 +36,18 @@ export class BotDetection { * await client.attackProtection.botDetection.get() */ public get( - requestOptions?: BotDetection.RequestOptions, + requestOptions?: BotDetectionClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(requestOptions)); } private async __get( - requestOptions?: BotDetection.RequestOptions, + requestOptions?: BotDetectionClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -61,6 +64,7 @@ export class BotDetection { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -88,30 +92,19 @@ export class BotDetection { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /attack-protection/bot-detection.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/attack-protection/bot-detection", + ); } /** * Update the Bot Detection configuration of your tenant. * * @param {Management.UpdateBotDetectionSettingsRequestContent} request - * @param {BotDetection.RequestOptions} requestOptions - Request-specific configuration. + * @param {BotDetectionClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -124,18 +117,19 @@ export class BotDetection { */ public update( request: Management.UpdateBotDetectionSettingsRequestContent = {}, - requestOptions?: BotDetection.RequestOptions, + requestOptions?: BotDetectionClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(request, requestOptions)); } private async __update( request: Management.UpdateBotDetectionSettingsRequestContent = {}, - requestOptions?: BotDetection.RequestOptions, + requestOptions?: BotDetectionClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -155,6 +149,7 @@ export class BotDetection { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -184,26 +179,11 @@ export class BotDetection { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /attack-protection/bot-detection.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/attack-protection/bot-detection", + ); } } diff --git a/src/management/api/resources/attackProtection/resources/breachedPasswordDetection/client/Client.ts b/src/management/api/resources/attackProtection/resources/breachedPasswordDetection/client/Client.ts index b5f0c5b963..db859ec7ce 100644 --- a/src/management/api/resources/attackProtection/resources/breachedPasswordDetection/client/Client.ts +++ b/src/management/api/resources/attackProtection/resources/breachedPasswordDetection/client/Client.ts @@ -1,29 +1,31 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace BreachedPasswordDetection { - export interface Options extends BaseClientOptions {} +export declare namespace BreachedPasswordDetectionClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class BreachedPasswordDetection { - protected readonly _options: BreachedPasswordDetection.Options; +export class BreachedPasswordDetectionClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: BreachedPasswordDetection.Options) { - this._options = _options; + constructor(options: BreachedPasswordDetectionClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve details of the Breached Password Detection configuration of your tenant. * - * @param {BreachedPasswordDetection.RequestOptions} requestOptions - Request-specific configuration. + * @param {BreachedPasswordDetectionClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -33,17 +35,18 @@ export class BreachedPasswordDetection { * await client.attackProtection.breachedPasswordDetection.get() */ public get( - requestOptions?: BreachedPasswordDetection.RequestOptions, + requestOptions?: BreachedPasswordDetectionClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(requestOptions)); } private async __get( - requestOptions?: BreachedPasswordDetection.RequestOptions, + requestOptions?: BreachedPasswordDetectionClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -60,6 +63,7 @@ export class BreachedPasswordDetection { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -85,30 +89,19 @@ export class BreachedPasswordDetection { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /attack-protection/breached-password-detection.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/attack-protection/breached-password-detection", + ); } /** * Update details of the Breached Password Detection configuration of your tenant. * * @param {Management.UpdateBreachedPasswordDetectionSettingsRequestContent} request - * @param {BreachedPasswordDetection.RequestOptions} requestOptions - Request-specific configuration. + * @param {BreachedPasswordDetectionClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -120,18 +113,19 @@ export class BreachedPasswordDetection { */ public update( request: Management.UpdateBreachedPasswordDetectionSettingsRequestContent = {}, - requestOptions?: BreachedPasswordDetection.RequestOptions, + requestOptions?: BreachedPasswordDetectionClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(request, requestOptions)); } private async __update( request: Management.UpdateBreachedPasswordDetectionSettingsRequestContent = {}, - requestOptions?: BreachedPasswordDetection.RequestOptions, + requestOptions?: BreachedPasswordDetectionClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -151,6 +145,7 @@ export class BreachedPasswordDetection { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -178,26 +173,11 @@ export class BreachedPasswordDetection { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /attack-protection/breached-password-detection.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/attack-protection/breached-password-detection", + ); } } diff --git a/src/management/api/resources/attackProtection/resources/bruteForceProtection/client/Client.ts b/src/management/api/resources/attackProtection/resources/bruteForceProtection/client/Client.ts index 6dccb82a2c..8e7318838a 100644 --- a/src/management/api/resources/attackProtection/resources/bruteForceProtection/client/Client.ts +++ b/src/management/api/resources/attackProtection/resources/bruteForceProtection/client/Client.ts @@ -1,29 +1,31 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace BruteForceProtection { - export interface Options extends BaseClientOptions {} +export declare namespace BruteForceProtectionClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class BruteForceProtection { - protected readonly _options: BruteForceProtection.Options; +export class BruteForceProtectionClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: BruteForceProtection.Options) { - this._options = _options; + constructor(options: BruteForceProtectionClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve details of the Brute-force Protection configuration of your tenant. * - * @param {BruteForceProtection.RequestOptions} requestOptions - Request-specific configuration. + * @param {BruteForceProtectionClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -33,17 +35,18 @@ export class BruteForceProtection { * await client.attackProtection.bruteForceProtection.get() */ public get( - requestOptions?: BruteForceProtection.RequestOptions, + requestOptions?: BruteForceProtectionClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(requestOptions)); } private async __get( - requestOptions?: BruteForceProtection.RequestOptions, + requestOptions?: BruteForceProtectionClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -60,6 +63,7 @@ export class BruteForceProtection { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -85,30 +89,19 @@ export class BruteForceProtection { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /attack-protection/brute-force-protection.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/attack-protection/brute-force-protection", + ); } /** * Update the Brute-force Protection configuration of your tenant. * * @param {Management.UpdateBruteForceSettingsRequestContent} request - * @param {BruteForceProtection.RequestOptions} requestOptions - Request-specific configuration. + * @param {BruteForceProtectionClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -120,18 +113,19 @@ export class BruteForceProtection { */ public update( request: Management.UpdateBruteForceSettingsRequestContent = {}, - requestOptions?: BruteForceProtection.RequestOptions, + requestOptions?: BruteForceProtectionClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(request, requestOptions)); } private async __update( request: Management.UpdateBruteForceSettingsRequestContent = {}, - requestOptions?: BruteForceProtection.RequestOptions, + requestOptions?: BruteForceProtectionClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -151,6 +145,7 @@ export class BruteForceProtection { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -178,26 +173,11 @@ export class BruteForceProtection { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /attack-protection/brute-force-protection.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/attack-protection/brute-force-protection", + ); } } diff --git a/src/management/api/resources/attackProtection/resources/captcha/client/Client.ts b/src/management/api/resources/attackProtection/resources/captcha/client/Client.ts index 3896913121..53b03faa9c 100644 --- a/src/management/api/resources/attackProtection/resources/captcha/client/Client.ts +++ b/src/management/api/resources/attackProtection/resources/captcha/client/Client.ts @@ -1,29 +1,31 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Captcha { - export interface Options extends BaseClientOptions {} +export declare namespace CaptchaClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Captcha { - protected readonly _options: Captcha.Options; +export class CaptchaClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Captcha.Options) { - this._options = _options; + constructor(options: CaptchaClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Get the CAPTCHA configuration for your client. * - * @param {Captcha.RequestOptions} requestOptions - Request-specific configuration. + * @param {CaptchaClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -34,17 +36,18 @@ export class Captcha { * await client.attackProtection.captcha.get() */ public get( - requestOptions?: Captcha.RequestOptions, + requestOptions?: CaptchaClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(requestOptions)); } private async __get( - requestOptions?: Captcha.RequestOptions, + requestOptions?: CaptchaClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -61,6 +64,7 @@ export class Captcha { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -88,30 +92,14 @@ export class Captcha { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /attack-protection/captcha.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/attack-protection/captcha"); } /** * Update existing CAPTCHA configuration for your client. * * @param {Management.UpdateAttackProtectionCaptchaRequestContent} request - * @param {Captcha.RequestOptions} requestOptions - Request-specific configuration. + * @param {CaptchaClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -123,18 +111,19 @@ export class Captcha { */ public update( request: Management.UpdateAttackProtectionCaptchaRequestContent = {}, - requestOptions?: Captcha.RequestOptions, + requestOptions?: CaptchaClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(request, requestOptions)); } private async __update( request: Management.UpdateAttackProtectionCaptchaRequestContent = {}, - requestOptions?: Captcha.RequestOptions, + requestOptions?: CaptchaClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -154,6 +143,7 @@ export class Captcha { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -181,26 +171,6 @@ export class Captcha { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /attack-protection/captcha.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/attack-protection/captcha"); } } diff --git a/src/management/api/resources/attackProtection/resources/suspiciousIpThrottling/client/Client.ts b/src/management/api/resources/attackProtection/resources/suspiciousIpThrottling/client/Client.ts index 71d79cfee7..bdb0aa51fa 100644 --- a/src/management/api/resources/attackProtection/resources/suspiciousIpThrottling/client/Client.ts +++ b/src/management/api/resources/attackProtection/resources/suspiciousIpThrottling/client/Client.ts @@ -1,29 +1,31 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace SuspiciousIpThrottling { - export interface Options extends BaseClientOptions {} +export declare namespace SuspiciousIpThrottlingClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class SuspiciousIpThrottling { - protected readonly _options: SuspiciousIpThrottling.Options; +export class SuspiciousIpThrottlingClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: SuspiciousIpThrottling.Options) { - this._options = _options; + constructor(options: SuspiciousIpThrottlingClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve details of the Suspicious IP Throttling configuration of your tenant. * - * @param {SuspiciousIpThrottling.RequestOptions} requestOptions - Request-specific configuration. + * @param {SuspiciousIpThrottlingClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -33,17 +35,18 @@ export class SuspiciousIpThrottling { * await client.attackProtection.suspiciousIpThrottling.get() */ public get( - requestOptions?: SuspiciousIpThrottling.RequestOptions, + requestOptions?: SuspiciousIpThrottlingClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(requestOptions)); } private async __get( - requestOptions?: SuspiciousIpThrottling.RequestOptions, + requestOptions?: SuspiciousIpThrottlingClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -60,6 +63,7 @@ export class SuspiciousIpThrottling { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -85,30 +89,19 @@ export class SuspiciousIpThrottling { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /attack-protection/suspicious-ip-throttling.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/attack-protection/suspicious-ip-throttling", + ); } /** * Update the details of the Suspicious IP Throttling configuration of your tenant. * * @param {Management.UpdateSuspiciousIpThrottlingSettingsRequestContent} request - * @param {SuspiciousIpThrottling.RequestOptions} requestOptions - Request-specific configuration. + * @param {SuspiciousIpThrottlingClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -120,18 +113,19 @@ export class SuspiciousIpThrottling { */ public update( request: Management.UpdateSuspiciousIpThrottlingSettingsRequestContent = {}, - requestOptions?: SuspiciousIpThrottling.RequestOptions, + requestOptions?: SuspiciousIpThrottlingClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(request, requestOptions)); } private async __update( request: Management.UpdateSuspiciousIpThrottlingSettingsRequestContent = {}, - requestOptions?: SuspiciousIpThrottling.RequestOptions, + requestOptions?: SuspiciousIpThrottlingClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -151,6 +145,7 @@ export class SuspiciousIpThrottling { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -178,26 +173,11 @@ export class SuspiciousIpThrottling { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /attack-protection/suspicious-ip-throttling.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/attack-protection/suspicious-ip-throttling", + ); } } diff --git a/src/management/api/resources/branding/client/Client.ts b/src/management/api/resources/branding/client/Client.ts index 26f970c179..4d4ed2c213 100644 --- a/src/management/api/resources/branding/client/Client.ts +++ b/src/management/api/resources/branding/client/Client.ts @@ -1,47 +1,49 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; -import { Templates } from "../resources/templates/client/Client.js"; -import { Themes } from "../resources/themes/client/Client.js"; -import { Phone } from "../resources/phone/client/Client.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; +import { TemplatesClient } from "../resources/templates/client/Client.js"; +import { ThemesClient } from "../resources/themes/client/Client.js"; +import { PhoneClient } from "../resources/phone/client/Client.js"; -export declare namespace Branding { - export interface Options extends BaseClientOptions {} +export declare namespace BrandingClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Branding { - protected readonly _options: Branding.Options; - protected _templates: Templates | undefined; - protected _themes: Themes | undefined; - protected _phone: Phone | undefined; +export class BrandingClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _templates: TemplatesClient | undefined; + protected _themes: ThemesClient | undefined; + protected _phone: PhoneClient | undefined; - constructor(_options: Branding.Options) { - this._options = _options; + constructor(options: BrandingClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get templates(): Templates { - return (this._templates ??= new Templates(this._options)); + public get templates(): TemplatesClient { + return (this._templates ??= new TemplatesClient(this._options)); } - public get themes(): Themes { - return (this._themes ??= new Themes(this._options)); + public get themes(): ThemesClient { + return (this._themes ??= new ThemesClient(this._options)); } - public get phone(): Phone { - return (this._phone ??= new Phone(this._options)); + public get phone(): PhoneClient { + return (this._phone ??= new PhoneClient(this._options)); } /** * Retrieve branding settings. * - * @param {Branding.RequestOptions} requestOptions - Request-specific configuration. + * @param {BrandingClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -51,17 +53,18 @@ export class Branding { * await client.branding.get() */ public get( - requestOptions?: Branding.RequestOptions, + requestOptions?: BrandingClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(requestOptions)); } private async __get( - requestOptions?: Branding.RequestOptions, + requestOptions?: BrandingClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -78,6 +81,7 @@ export class Branding { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -103,28 +107,14 @@ export class Branding { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /branding."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/branding"); } /** * Update branding settings. * * @param {Management.UpdateBrandingRequestContent} request - * @param {Branding.RequestOptions} requestOptions - Request-specific configuration. + * @param {BrandingClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -136,18 +126,19 @@ export class Branding { */ public update( request: Management.UpdateBrandingRequestContent = {}, - requestOptions?: Branding.RequestOptions, + requestOptions?: BrandingClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(request, requestOptions)); } private async __update( request: Management.UpdateBrandingRequestContent = {}, - requestOptions?: Branding.RequestOptions, + requestOptions?: BrandingClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -167,6 +158,7 @@ export class Branding { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -194,24 +186,6 @@ export class Branding { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PATCH /branding."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/branding"); } } diff --git a/src/management/api/resources/branding/resources/phone/client/Client.ts b/src/management/api/resources/branding/resources/phone/client/Client.ts index 2945c66e79..62abbe0573 100644 --- a/src/management/api/resources/branding/resources/phone/client/Client.ts +++ b/src/management/api/resources/branding/resources/phone/client/Client.ts @@ -1,29 +1,30 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; -import { Providers } from "../resources/providers/client/Client.js"; -import { Templates } from "../resources/templates/client/Client.js"; +import { ProvidersClient } from "../resources/providers/client/Client.js"; +import { TemplatesClient } from "../resources/templates/client/Client.js"; -export declare namespace Phone { - export interface Options extends BaseClientOptions {} +export declare namespace PhoneClient { + export type Options = BaseClientOptions; } -export class Phone { - protected readonly _options: Phone.Options; - protected _providers: Providers | undefined; - protected _templates: Templates | undefined; +export class PhoneClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _providers: ProvidersClient | undefined; + protected _templates: TemplatesClient | undefined; - constructor(_options: Phone.Options) { - this._options = _options; + constructor(options: PhoneClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get providers(): Providers { - return (this._providers ??= new Providers(this._options)); + public get providers(): ProvidersClient { + return (this._providers ??= new ProvidersClient(this._options)); } - public get templates(): Templates { - return (this._templates ??= new Templates(this._options)); + public get templates(): TemplatesClient { + return (this._templates ??= new TemplatesClient(this._options)); } } diff --git a/src/management/api/resources/branding/resources/phone/resources/providers/client/Client.ts b/src/management/api/resources/branding/resources/phone/resources/providers/client/Client.ts index cb78f8e024..9d418407ce 100644 --- a/src/management/api/resources/branding/resources/phone/resources/providers/client/Client.ts +++ b/src/management/api/resources/branding/resources/phone/resources/providers/client/Client.ts @@ -1,30 +1,35 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../../../BaseClient.js"; +import { + type NormalizedClientOptionsWithAuth, + normalizeClientOptionsWithAuth, +} from "../../../../../../../../BaseClient.js"; import * as environments from "../../../../../../../../environments.js"; import * as core from "../../../../../../../../core/index.js"; import * as Management from "../../../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../../../core/headers.js"; import * as errors from "../../../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Providers { - export interface Options extends BaseClientOptions {} +export declare namespace ProvidersClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Providers { - protected readonly _options: Providers.Options; +export class ProvidersClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Providers.Options) { - this._options = _options; + constructor(options: ProvidersClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve a list of phone providers details set for a Tenant. A list of fields to include or exclude may also be specified. * * @param {Management.ListBrandingPhoneProvidersRequestParameters} request - * @param {Providers.RequestOptions} requestOptions - Request-specific configuration. + * @param {ProvidersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -38,14 +43,14 @@ export class Providers { */ public list( request: Management.ListBrandingPhoneProvidersRequestParameters = {}, - requestOptions?: Providers.RequestOptions, + requestOptions?: ProvidersClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); } private async __list( request: Management.ListBrandingPhoneProvidersRequestParameters = {}, - requestOptions?: Providers.RequestOptions, + requestOptions?: ProvidersClient.RequestOptions, ): Promise> { const { disabled } = request; const _queryParams: Record = {}; @@ -53,9 +58,10 @@ export class Providers { _queryParams["disabled"] = disabled?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -72,6 +78,7 @@ export class Providers { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -99,21 +106,7 @@ export class Providers { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /branding/phone/providers."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/branding/phone/providers"); } /** @@ -121,7 +114,7 @@ export class Providers { * The credentials object requires different properties depending on the phone provider (which is specified using the name property). * * @param {Management.CreateBrandingPhoneProviderRequestContent} request - * @param {Providers.RequestOptions} requestOptions - Request-specific configuration. + * @param {ProvidersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -139,18 +132,19 @@ export class Providers { */ public create( request: Management.CreateBrandingPhoneProviderRequestContent, - requestOptions?: Providers.RequestOptions, + requestOptions?: ProvidersClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateBrandingPhoneProviderRequestContent, - requestOptions?: Providers.RequestOptions, + requestOptions?: ProvidersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -170,6 +164,7 @@ export class Providers { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -199,30 +194,14 @@ export class Providers { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /branding/phone/providers.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/branding/phone/providers"); } /** * Retrieve phone provider details. A list of fields to include or exclude may also be specified. * * @param {string} id - * @param {Providers.RequestOptions} requestOptions - Request-specific configuration. + * @param {ProvidersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -235,18 +214,19 @@ export class Providers { */ public get( id: string, - requestOptions?: Providers.RequestOptions, + requestOptions?: ProvidersClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: Providers.RequestOptions, + requestOptions?: ProvidersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -263,6 +243,7 @@ export class Providers { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -292,30 +273,19 @@ export class Providers { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /branding/phone/providers/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/branding/phone/providers/{id}", + ); } /** * Delete the configured phone provider. * * @param {string} id - * @param {Providers.RequestOptions} requestOptions - Request-specific configuration. + * @param {ProvidersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -325,14 +295,18 @@ export class Providers { * @example * await client.branding.phone.providers.delete("id") */ - public delete(id: string, requestOptions?: Providers.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: ProvidersClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } - private async __delete(id: string, requestOptions?: Providers.RequestOptions): Promise> { + private async __delete( + id: string, + requestOptions?: ProvidersClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -349,6 +323,7 @@ export class Providers { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -373,23 +348,12 @@ export class Providers { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /branding/phone/providers/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/branding/phone/providers/{id}", + ); } /** @@ -398,7 +362,7 @@ export class Providers { * * @param {string} id * @param {Management.UpdateBrandingPhoneProviderRequestContent} request - * @param {Providers.RequestOptions} requestOptions - Request-specific configuration. + * @param {ProvidersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -413,7 +377,7 @@ export class Providers { public update( id: string, request: Management.UpdateBrandingPhoneProviderRequestContent = {}, - requestOptions?: Providers.RequestOptions, + requestOptions?: ProvidersClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -421,11 +385,12 @@ export class Providers { private async __update( id: string, request: Management.UpdateBrandingPhoneProviderRequestContent = {}, - requestOptions?: Providers.RequestOptions, + requestOptions?: ProvidersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -445,6 +410,7 @@ export class Providers { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -476,29 +442,18 @@ export class Providers { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /branding/phone/providers/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/branding/phone/providers/{id}", + ); } /** * @param {string} id * @param {Management.CreatePhoneProviderSendTestRequestContent} request - * @param {Providers.RequestOptions} requestOptions - Request-specific configuration. + * @param {ProvidersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -515,7 +470,7 @@ export class Providers { public test( id: string, request: Management.CreatePhoneProviderSendTestRequestContent, - requestOptions?: Providers.RequestOptions, + requestOptions?: ProvidersClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__test(id, request, requestOptions)); } @@ -523,11 +478,12 @@ export class Providers { private async __test( id: string, request: Management.CreatePhoneProviderSendTestRequestContent, - requestOptions?: Providers.RequestOptions, + requestOptions?: ProvidersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -547,6 +503,7 @@ export class Providers { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -578,26 +535,11 @@ export class Providers { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /branding/phone/providers/{id}/try.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/branding/phone/providers/{id}/try", + ); } } diff --git a/src/management/api/resources/branding/resources/phone/resources/templates/client/Client.ts b/src/management/api/resources/branding/resources/phone/resources/templates/client/Client.ts index 5812dfa2f2..1a86081aa7 100644 --- a/src/management/api/resources/branding/resources/phone/resources/templates/client/Client.ts +++ b/src/management/api/resources/branding/resources/phone/resources/templates/client/Client.ts @@ -1,28 +1,33 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../../../BaseClient.js"; +import { + type NormalizedClientOptionsWithAuth, + normalizeClientOptionsWithAuth, +} from "../../../../../../../../BaseClient.js"; import * as environments from "../../../../../../../../environments.js"; import * as core from "../../../../../../../../core/index.js"; import * as Management from "../../../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../../../core/headers.js"; import * as errors from "../../../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Templates { - export interface Options extends BaseClientOptions {} +export declare namespace TemplatesClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Templates { - protected readonly _options: Templates.Options; +export class TemplatesClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Templates.Options) { - this._options = _options; + constructor(options: TemplatesClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * @param {Management.ListPhoneTemplatesRequestParameters} request - * @param {Templates.RequestOptions} requestOptions - Request-specific configuration. + * @param {TemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -36,14 +41,14 @@ export class Templates { */ public list( request: Management.ListPhoneTemplatesRequestParameters = {}, - requestOptions?: Templates.RequestOptions, + requestOptions?: TemplatesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); } private async __list( request: Management.ListPhoneTemplatesRequestParameters = {}, - requestOptions?: Templates.RequestOptions, + requestOptions?: TemplatesClient.RequestOptions, ): Promise> { const { disabled } = request; const _queryParams: Record = {}; @@ -51,9 +56,10 @@ export class Templates { _queryParams["disabled"] = disabled?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -70,6 +76,7 @@ export class Templates { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -97,26 +104,12 @@ export class Templates { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /branding/phone/templates."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/branding/phone/templates"); } /** * @param {Management.CreatePhoneTemplateRequestContent} request - * @param {Templates.RequestOptions} requestOptions - Request-specific configuration. + * @param {TemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -129,18 +122,19 @@ export class Templates { */ public create( request: Management.CreatePhoneTemplateRequestContent = {}, - requestOptions?: Templates.RequestOptions, + requestOptions?: TemplatesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreatePhoneTemplateRequestContent = {}, - requestOptions?: Templates.RequestOptions, + requestOptions?: TemplatesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -160,6 +154,7 @@ export class Templates { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -189,28 +184,12 @@ export class Templates { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /branding/phone/templates.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/branding/phone/templates"); } /** * @param {string} id - * @param {Templates.RequestOptions} requestOptions - Request-specific configuration. + * @param {TemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -223,18 +202,19 @@ export class Templates { */ public get( id: string, - requestOptions?: Templates.RequestOptions, + requestOptions?: TemplatesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: Templates.RequestOptions, + requestOptions?: TemplatesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -251,6 +231,7 @@ export class Templates { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -280,28 +261,17 @@ export class Templates { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /branding/phone/templates/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/branding/phone/templates/{id}", + ); } /** * @param {string} id - * @param {Templates.RequestOptions} requestOptions - Request-specific configuration. + * @param {TemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -312,14 +282,18 @@ export class Templates { * @example * await client.branding.phone.templates.delete("id") */ - public delete(id: string, requestOptions?: Templates.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: TemplatesClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } - private async __delete(id: string, requestOptions?: Templates.RequestOptions): Promise> { + private async __delete( + id: string, + requestOptions?: TemplatesClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -336,6 +310,7 @@ export class Templates { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -362,29 +337,18 @@ export class Templates { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /branding/phone/templates/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/branding/phone/templates/{id}", + ); } /** * @param {string} id * @param {Management.UpdatePhoneTemplateRequestContent} request - * @param {Templates.RequestOptions} requestOptions - Request-specific configuration. + * @param {TemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -398,7 +362,7 @@ export class Templates { public update( id: string, request: Management.UpdatePhoneTemplateRequestContent = {}, - requestOptions?: Templates.RequestOptions, + requestOptions?: TemplatesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -406,11 +370,12 @@ export class Templates { private async __update( id: string, request: Management.UpdatePhoneTemplateRequestContent = {}, - requestOptions?: Templates.RequestOptions, + requestOptions?: TemplatesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -430,6 +395,7 @@ export class Templates { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -459,29 +425,18 @@ export class Templates { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /branding/phone/templates/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/branding/phone/templates/{id}", + ); } /** * @param {string} id * @param {Management.ResetPhoneTemplateRequestContent} request - * @param {Templates.RequestOptions} requestOptions - Request-specific configuration. + * @param {TemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -496,7 +451,7 @@ export class Templates { public reset( id: string, request?: Management.ResetPhoneTemplateRequestContent, - requestOptions?: Templates.RequestOptions, + requestOptions?: TemplatesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__reset(id, request, requestOptions)); } @@ -504,11 +459,12 @@ export class Templates { private async __reset( id: string, request?: Management.ResetPhoneTemplateRequestContent, - requestOptions?: Templates.RequestOptions, + requestOptions?: TemplatesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -528,6 +484,7 @@ export class Templates { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -555,29 +512,18 @@ export class Templates { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /branding/phone/templates/{id}/reset.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/branding/phone/templates/{id}/reset", + ); } /** * @param {string} id * @param {Management.CreatePhoneTemplateTestNotificationRequestContent} request - * @param {Templates.RequestOptions} requestOptions - Request-specific configuration. + * @param {TemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -593,7 +539,7 @@ export class Templates { public test( id: string, request: Management.CreatePhoneTemplateTestNotificationRequestContent, - requestOptions?: Templates.RequestOptions, + requestOptions?: TemplatesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__test(id, request, requestOptions)); } @@ -601,11 +547,12 @@ export class Templates { private async __test( id: string, request: Management.CreatePhoneTemplateTestNotificationRequestContent, - requestOptions?: Templates.RequestOptions, + requestOptions?: TemplatesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -625,6 +572,7 @@ export class Templates { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -654,26 +602,11 @@ export class Templates { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /branding/phone/templates/{id}/try.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/branding/phone/templates/{id}/try", + ); } } diff --git a/src/management/api/resources/branding/resources/templates/client/Client.ts b/src/management/api/resources/branding/resources/templates/client/Client.ts index 0b95f228eb..1ac3a9085c 100644 --- a/src/management/api/resources/branding/resources/templates/client/Client.ts +++ b/src/management/api/resources/branding/resources/templates/client/Client.ts @@ -1,27 +1,29 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Templates { - export interface Options extends BaseClientOptions {} +export declare namespace TemplatesClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Templates { - protected readonly _options: Templates.Options; +export class TemplatesClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Templates.Options) { - this._options = _options; + constructor(options: TemplatesClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** - * @param {Templates.RequestOptions} requestOptions - Request-specific configuration. + * @param {TemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.PaymentRequiredError} @@ -33,17 +35,18 @@ export class Templates { * await client.branding.templates.getUniversalLogin() */ public getUniversalLogin( - requestOptions?: Templates.RequestOptions, + requestOptions?: TemplatesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__getUniversalLogin(requestOptions)); } private async __getUniversalLogin( - requestOptions?: Templates.RequestOptions, + requestOptions?: TemplatesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -60,6 +63,7 @@ export class Templates { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -89,23 +93,12 @@ export class Templates { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /branding/templates/universal-login.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/branding/templates/universal-login", + ); } /** @@ -135,7 +128,7 @@ export class Templates { * * * @param {Management.UpdateUniversalLoginTemplateRequestContent} request - * @param {Templates.RequestOptions} requestOptions - Request-specific configuration. + * @param {TemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -149,18 +142,19 @@ export class Templates { */ public updateUniversalLogin( request: Management.UpdateUniversalLoginTemplateRequestContent, - requestOptions?: Templates.RequestOptions, + requestOptions?: TemplatesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__updateUniversalLogin(request, requestOptions)); } private async __updateUniversalLogin( request: Management.UpdateUniversalLoginTemplateRequestContent, - requestOptions?: Templates.RequestOptions, + requestOptions?: TemplatesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -180,6 +174,7 @@ export class Templates { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -208,27 +203,16 @@ export class Templates { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PUT /branding/templates/universal-login.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/branding/templates/universal-login", + ); } /** - * @param {Templates.RequestOptions} requestOptions - Request-specific configuration. + * @param {TemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.PaymentRequiredError} @@ -238,16 +222,17 @@ export class Templates { * @example * await client.branding.templates.deleteUniversalLogin() */ - public deleteUniversalLogin(requestOptions?: Templates.RequestOptions): core.HttpResponsePromise { + public deleteUniversalLogin(requestOptions?: TemplatesClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__deleteUniversalLogin(requestOptions)); } private async __deleteUniversalLogin( - requestOptions?: Templates.RequestOptions, + requestOptions?: TemplatesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -264,6 +249,7 @@ export class Templates { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -288,26 +274,11 @@ export class Templates { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /branding/templates/universal-login.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/branding/templates/universal-login", + ); } } diff --git a/src/management/api/resources/branding/resources/themes/client/Client.ts b/src/management/api/resources/branding/resources/themes/client/Client.ts index e878249fa3..186b85ab3a 100644 --- a/src/management/api/resources/branding/resources/themes/client/Client.ts +++ b/src/management/api/resources/branding/resources/themes/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Themes { - export interface Options extends BaseClientOptions {} +export declare namespace ThemesClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Themes { - protected readonly _options: Themes.Options; +export class ThemesClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Themes.Options) { - this._options = _options; + constructor(options: ThemesClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Create branding theme. * * @param {Management.CreateBrandingThemeRequestContent} request - * @param {Themes.RequestOptions} requestOptions - Request-specific configuration. + * @param {ThemesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -108,18 +110,19 @@ export class Themes { */ public create( request: Management.CreateBrandingThemeRequestContent, - requestOptions?: Themes.RequestOptions, + requestOptions?: ThemesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateBrandingThemeRequestContent, - requestOptions?: Themes.RequestOptions, + requestOptions?: ThemesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -139,6 +142,7 @@ export class Themes { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -168,27 +172,13 @@ export class Themes { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /branding/themes."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/branding/themes"); } /** * Retrieve default branding theme. * - * @param {Themes.RequestOptions} requestOptions - Request-specific configuration. + * @param {ThemesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -199,17 +189,18 @@ export class Themes { * await client.branding.themes.getDefault() */ public getDefault( - requestOptions?: Themes.RequestOptions, + requestOptions?: ThemesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__getDefault(requestOptions)); } private async __getDefault( - requestOptions?: Themes.RequestOptions, + requestOptions?: ThemesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -226,6 +217,7 @@ export class Themes { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -253,28 +245,14 @@ export class Themes { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /branding/themes/default."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/branding/themes/default"); } /** * Retrieve branding theme. * * @param {string} themeId - The ID of the theme - * @param {Themes.RequestOptions} requestOptions - Request-specific configuration. + * @param {ThemesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -286,18 +264,19 @@ export class Themes { */ public get( themeId: string, - requestOptions?: Themes.RequestOptions, + requestOptions?: ThemesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(themeId, requestOptions)); } private async __get( themeId: string, - requestOptions?: Themes.RequestOptions, + requestOptions?: ThemesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -314,6 +293,7 @@ export class Themes { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -341,30 +321,14 @@ export class Themes { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /branding/themes/{themeId}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/branding/themes/{themeId}"); } /** * Delete branding theme. * * @param {string} themeId - The ID of the theme - * @param {Themes.RequestOptions} requestOptions - Request-specific configuration. + * @param {ThemesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -374,17 +338,18 @@ export class Themes { * @example * await client.branding.themes.delete("themeId") */ - public delete(themeId: string, requestOptions?: Themes.RequestOptions): core.HttpResponsePromise { + public delete(themeId: string, requestOptions?: ThemesClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(themeId, requestOptions)); } private async __delete( themeId: string, - requestOptions?: Themes.RequestOptions, + requestOptions?: ThemesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -401,6 +366,7 @@ export class Themes { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -425,23 +391,7 @@ export class Themes { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /branding/themes/{themeId}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/branding/themes/{themeId}"); } /** @@ -449,7 +399,7 @@ export class Themes { * * @param {string} themeId - The ID of the theme * @param {Management.UpdateBrandingThemeRequestContent} request - * @param {Themes.RequestOptions} requestOptions - Request-specific configuration. + * @param {ThemesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -534,7 +484,7 @@ export class Themes { public update( themeId: string, request: Management.UpdateBrandingThemeRequestContent, - requestOptions?: Themes.RequestOptions, + requestOptions?: ThemesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(themeId, request, requestOptions)); } @@ -542,11 +492,12 @@ export class Themes { private async __update( themeId: string, request: Management.UpdateBrandingThemeRequestContent, - requestOptions?: Themes.RequestOptions, + requestOptions?: ThemesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -566,6 +517,7 @@ export class Themes { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -595,26 +547,6 @@ export class Themes { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /branding/themes/{themeId}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/branding/themes/{themeId}"); } } diff --git a/src/management/api/resources/clientGrants/client/Client.ts b/src/management/api/resources/clientGrants/client/Client.ts index 91a26b3d25..0f57afa805 100644 --- a/src/management/api/resources/clientGrants/client/Client.ts +++ b/src/management/api/resources/clientGrants/client/Client.ts @@ -1,36 +1,38 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; -import { Organizations } from "../resources/organizations/client/Client.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; +import { OrganizationsClient } from "../resources/organizations/client/Client.js"; -export declare namespace ClientGrants { - export interface Options extends BaseClientOptions {} +export declare namespace ClientGrantsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class ClientGrants { - protected readonly _options: ClientGrants.Options; - protected _organizations: Organizations | undefined; +export class ClientGrantsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _organizations: OrganizationsClient | undefined; - constructor(_options: ClientGrants.Options) { - this._options = _options; + constructor(options: ClientGrantsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get organizations(): Organizations { - return (this._organizations ??= new Organizations(this._options)); + public get organizations(): OrganizationsClient { + return (this._organizations ??= new OrganizationsClient(this._options)); } /** * Retrieve a list of client grants, including the scopes associated with the application/API pair. * * @param {Management.ListClientGrantsRequestParameters} request - * @param {ClientGrants.RequestOptions} requestOptions - Request-specific configuration. + * @param {ClientGrantsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -48,7 +50,7 @@ export class ClientGrants { */ public async list( request: Management.ListClientGrantsRequestParameters = {}, - requestOptions?: ClientGrants.RequestOptions, + requestOptions?: ClientGrantsClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -81,9 +83,10 @@ export class ClientGrants { if (subjectType !== undefined) { _queryParams["subject_type"] = subjectType; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -100,6 +103,7 @@ export class ClientGrants { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -129,21 +133,7 @@ export class ClientGrants { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /client-grants."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/client-grants"); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -165,7 +155,7 @@ export class ClientGrants { * Create a client grant for a machine-to-machine login flow. To learn more, read Client Credential Flow. * * @param {Management.CreateClientGrantRequestContent} request - * @param {ClientGrants.RequestOptions} requestOptions - Request-specific configuration. + * @param {ClientGrantsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -182,18 +172,19 @@ export class ClientGrants { */ public create( request: Management.CreateClientGrantRequestContent, - requestOptions?: ClientGrants.RequestOptions, + requestOptions?: ClientGrantsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateClientGrantRequestContent, - requestOptions?: ClientGrants.RequestOptions, + requestOptions?: ClientGrantsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -213,6 +204,7 @@ export class ClientGrants { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -244,28 +236,14 @@ export class ClientGrants { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /client-grants."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/client-grants"); } /** * Delete the Client Credential Flow from your machine-to-machine application. * * @param {string} id - ID of the client grant to delete. - * @param {ClientGrants.RequestOptions} requestOptions - Request-specific configuration. + * @param {ClientGrantsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -275,17 +253,18 @@ export class ClientGrants { * @example * await client.clientGrants.delete("id") */ - public delete(id: string, requestOptions?: ClientGrants.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: ClientGrantsClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } private async __delete( id: string, - requestOptions?: ClientGrants.RequestOptions, + requestOptions?: ClientGrantsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -302,6 +281,7 @@ export class ClientGrants { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -326,21 +306,7 @@ export class ClientGrants { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /client-grants/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/client-grants/{id}"); } /** @@ -348,7 +314,7 @@ export class ClientGrants { * * @param {string} id - ID of the client grant to update. * @param {Management.UpdateClientGrantRequestContent} request - * @param {ClientGrants.RequestOptions} requestOptions - Request-specific configuration. + * @param {ClientGrantsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -362,7 +328,7 @@ export class ClientGrants { public update( id: string, request: Management.UpdateClientGrantRequestContent = {}, - requestOptions?: ClientGrants.RequestOptions, + requestOptions?: ClientGrantsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -370,11 +336,12 @@ export class ClientGrants { private async __update( id: string, request: Management.UpdateClientGrantRequestContent = {}, - requestOptions?: ClientGrants.RequestOptions, + requestOptions?: ClientGrantsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -394,6 +361,7 @@ export class ClientGrants { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -423,24 +391,6 @@ export class ClientGrants { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PATCH /client-grants/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/client-grants/{id}"); } } diff --git a/src/management/api/resources/clientGrants/resources/organizations/client/Client.ts b/src/management/api/resources/clientGrants/resources/organizations/client/Client.ts index f5734f8063..3fd3db36dc 100644 --- a/src/management/api/resources/clientGrants/resources/organizations/client/Client.ts +++ b/src/management/api/resources/clientGrants/resources/organizations/client/Client.ts @@ -1,29 +1,31 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Organizations { - export interface Options extends BaseClientOptions {} +export declare namespace OrganizationsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Organizations { - protected readonly _options: Organizations.Options; +export class OrganizationsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Organizations.Options) { - this._options = _options; + constructor(options: OrganizationsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * @param {string} id - ID of the client grant * @param {Management.ListClientGrantOrganizationsRequestParameters} request - * @param {Organizations.RequestOptions} requestOptions - Request-specific configuration. + * @param {OrganizationsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -39,7 +41,7 @@ export class Organizations { public async list( id: string, request: Management.ListClientGrantOrganizationsRequestParameters = {}, - requestOptions?: Organizations.RequestOptions, + requestOptions?: OrganizationsClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -53,9 +55,10 @@ export class Organizations { if (take !== undefined) { _queryParams["take"] = take?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -72,6 +75,7 @@ export class Organizations { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -106,23 +110,12 @@ export class Organizations { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /client-grants/{id}/organizations.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/client-grants/{id}/organizations", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -137,8 +130,4 @@ export class Organizations { }, }); } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; - } } diff --git a/src/management/api/resources/clients/client/Client.ts b/src/management/api/resources/clients/client/Client.ts index cc28de579b..960d8850a9 100644 --- a/src/management/api/resources/clients/client/Client.ts +++ b/src/management/api/resources/clients/client/Client.ts @@ -1,35 +1,37 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; -import { Credentials } from "../resources/credentials/client/Client.js"; -import { Connections } from "../resources/connections/client/Client.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; +import { CredentialsClient } from "../resources/credentials/client/Client.js"; +import { ConnectionsClient } from "../resources/connections/client/Client.js"; -export declare namespace Clients { - export interface Options extends BaseClientOptions {} +export declare namespace ClientsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Clients { - protected readonly _options: Clients.Options; - protected _credentials: Credentials | undefined; - protected _connections: Connections | undefined; +export class ClientsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _credentials: CredentialsClient | undefined; + protected _connections: ConnectionsClient | undefined; - constructor(_options: Clients.Options) { - this._options = _options; + constructor(options: ClientsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get credentials(): Credentials { - return (this._credentials ??= new Credentials(this._options)); + public get credentials(): CredentialsClient { + return (this._credentials ??= new CredentialsClient(this._options)); } - public get connections(): Connections { - return (this._connections ??= new Connections(this._options)); + public get connections(): ConnectionsClient { + return (this._connections ??= new ConnectionsClient(this._options)); } /** @@ -68,7 +70,7 @@ export class Clients { * * * @param {Management.ListClientsRequestParameters} request - * @param {Clients.RequestOptions} requestOptions - Request-specific configuration. + * @param {ClientsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -90,7 +92,7 @@ export class Clients { */ public async list( request: Management.ListClientsRequestParameters = {}, - requestOptions?: Clients.RequestOptions, + requestOptions?: ClientsClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -135,9 +137,10 @@ export class Clients { if (q !== undefined) { _queryParams["q"] = q; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -154,6 +157,7 @@ export class Clients { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -188,21 +192,7 @@ export class Clients { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /clients."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/clients"); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -210,10 +200,10 @@ export class Clients { return new core.Page({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.clients ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.clients ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.clients ?? [], - loadPage: (response) => { - _offset += response?.clients != null ? response.clients.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -236,7 +226,7 @@ export class Clients { *
SSO Integrations created via this endpoint will accept login requests and share user profile information.
* * @param {Management.CreateClientRequestContent} request - * @param {Clients.RequestOptions} requestOptions - Request-specific configuration. + * @param {ClientsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -251,18 +241,19 @@ export class Clients { */ public create( request: Management.CreateClientRequestContent, - requestOptions?: Clients.RequestOptions, + requestOptions?: ClientsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateClientRequestContent, - requestOptions?: Clients.RequestOptions, + requestOptions?: ClientsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -282,6 +273,7 @@ export class Clients { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -311,21 +303,7 @@ export class Clients { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /clients."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/clients"); } /** @@ -363,7 +341,7 @@ export class Clients { * * @param {string} id - ID of the client to retrieve. * @param {Management.GetClientRequestParameters} request - * @param {Clients.RequestOptions} requestOptions - Request-specific configuration. + * @param {ClientsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -380,7 +358,7 @@ export class Clients { public get( id: string, request: Management.GetClientRequestParameters = {}, - requestOptions?: Clients.RequestOptions, + requestOptions?: ClientsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, request, requestOptions)); } @@ -388,7 +366,7 @@ export class Clients { private async __get( id: string, request: Management.GetClientRequestParameters = {}, - requestOptions?: Clients.RequestOptions, + requestOptions?: ClientsClient.RequestOptions, ): Promise> { const { fields, include_fields: includeFields } = request; const _queryParams: Record = {}; @@ -400,9 +378,10 @@ export class Clients { _queryParams["include_fields"] = includeFields?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -419,6 +398,7 @@ export class Clients { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.GetClientResponseContent, rawResponse: _response.rawResponse }; @@ -445,28 +425,14 @@ export class Clients { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /clients/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/clients/{id}"); } /** * Delete a client and related configuration (rules, connections, etc). * * @param {string} id - ID of the client to delete. - * @param {Clients.RequestOptions} requestOptions - Request-specific configuration. + * @param {ClientsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -476,14 +442,18 @@ export class Clients { * @example * await client.clients.delete("id") */ - public delete(id: string, requestOptions?: Clients.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: ClientsClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } - private async __delete(id: string, requestOptions?: Clients.RequestOptions): Promise> { + private async __delete( + id: string, + requestOptions?: ClientsClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -500,6 +470,7 @@ export class Clients { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -524,21 +495,7 @@ export class Clients { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /clients/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/clients/{id}"); } /** @@ -554,7 +511,7 @@ export class Clients { * * @param {string} id - ID of the client to update. * @param {Management.UpdateClientRequestContent} request - * @param {Clients.RequestOptions} requestOptions - Request-specific configuration. + * @param {ClientsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -568,7 +525,7 @@ export class Clients { public update( id: string, request: Management.UpdateClientRequestContent = {}, - requestOptions?: Clients.RequestOptions, + requestOptions?: ClientsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -576,11 +533,12 @@ export class Clients { private async __update( id: string, request: Management.UpdateClientRequestContent = {}, - requestOptions?: Clients.RequestOptions, + requestOptions?: ClientsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -600,6 +558,7 @@ export class Clients { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -629,21 +588,7 @@ export class Clients { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PATCH /clients/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/clients/{id}"); } /** @@ -654,7 +599,7 @@ export class Clients { * For more information, read Rotate Client Secrets. * * @param {string} id - ID of the client that will rotate secrets. - * @param {Clients.RequestOptions} requestOptions - Request-specific configuration. + * @param {ClientsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -667,18 +612,19 @@ export class Clients { */ public rotateSecret( id: string, - requestOptions?: Clients.RequestOptions, + requestOptions?: ClientsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__rotateSecret(id, requestOptions)); } private async __rotateSecret( id: string, - requestOptions?: Clients.RequestOptions, + requestOptions?: ClientsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -695,6 +641,7 @@ export class Clients { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -724,26 +671,6 @@ export class Clients { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /clients/{id}/rotate-secret.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/clients/{id}/rotate-secret"); } } diff --git a/src/management/api/resources/clients/resources/connections/client/Client.ts b/src/management/api/resources/clients/resources/connections/client/Client.ts index 2a32aeb069..af22aaa2d2 100644 --- a/src/management/api/resources/clients/resources/connections/client/Client.ts +++ b/src/management/api/resources/clients/resources/connections/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Connections { - export interface Options extends BaseClientOptions {} +export declare namespace ConnectionsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Connections { - protected readonly _options: Connections.Options; +export class ConnectionsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Connections.Options) { - this._options = _options; + constructor(options: ConnectionsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -33,7 +35,7 @@ export class Connections { * * @param {string} id - ID of the client for which to retrieve enabled connections. * @param {Management.ConnectionsGetRequest} request - * @param {Connections.RequestOptions} requestOptions - Request-specific configuration. + * @param {ConnectionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -52,7 +54,7 @@ export class Connections { public async get( id: string, request: Management.ConnectionsGetRequest = {}, - requestOptions?: Connections.RequestOptions, + requestOptions?: ConnectionsClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -79,9 +81,10 @@ export class Connections { if (includeFields !== undefined) { _queryParams["include_fields"] = includeFields?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -98,6 +101,7 @@ export class Connections { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -134,23 +138,12 @@ export class Connections { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /clients/{id}/connections.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/clients/{id}/connections", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -165,8 +158,4 @@ export class Connections { }, }); } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; - } } diff --git a/src/management/api/resources/clients/resources/credentials/client/Client.ts b/src/management/api/resources/clients/resources/credentials/client/Client.ts index aa8e33b1fe..5c8252d1a3 100644 --- a/src/management/api/resources/clients/resources/credentials/client/Client.ts +++ b/src/management/api/resources/clients/resources/credentials/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Credentials { - export interface Options extends BaseClientOptions {} +export declare namespace CredentialsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Credentials { - protected readonly _options: Credentials.Options; +export class CredentialsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Credentials.Options) { - this._options = _options; + constructor(options: CredentialsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -25,8 +27,8 @@ export class Credentials { * * Important: To enable credentials to be used for a client authentication method, set the client_authentication_methods property on the client. To enable credentials to be used for JWT-Secured Authorization requests set the signed_request_object property on the client. * - * @param {string} clientId - ID of the client. - * @param {Credentials.RequestOptions} requestOptions - Request-specific configuration. + * @param {string} client_id - ID of the client. + * @param {CredentialsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -37,19 +39,20 @@ export class Credentials { * await client.clients.credentials.list("client_id") */ public list( - clientId: string, - requestOptions?: Credentials.RequestOptions, + client_id: string, + requestOptions?: CredentialsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__list(clientId, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__list(client_id, requestOptions)); } private async __list( - clientId: string, - requestOptions?: Credentials.RequestOptions, + client_id: string, + requestOptions?: CredentialsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -57,7 +60,7 @@ export class Credentials { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `clients/${core.url.encodePathParam(clientId)}/credentials`, + `clients/${core.url.encodePathParam(client_id)}/credentials`, ), method: "GET", headers: _headers, @@ -66,6 +69,7 @@ export class Credentials { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.ClientCredential[], rawResponse: _response.rawResponse }; @@ -90,23 +94,12 @@ export class Credentials { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /clients/{client_id}/credentials.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/clients/{client_id}/credentials", + ); } /** @@ -144,9 +137,9 @@ export class Credentials { *
  • To enable the credential for JWT-secured Authorization requests, set the signed_request_objectproperty on the client. For more information, read Configure JWT-secured Authorization Requests (JAR)
  • * * - * @param {string} clientId - ID of the client. + * @param {string} client_id - ID of the client. * @param {Management.PostClientCredentialRequestContent} request - * @param {Credentials.RequestOptions} requestOptions - Request-specific configuration. + * @param {CredentialsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -160,21 +153,22 @@ export class Credentials { * }) */ public create( - clientId: string, + client_id: string, request: Management.PostClientCredentialRequestContent, - requestOptions?: Credentials.RequestOptions, + requestOptions?: CredentialsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__create(clientId, request, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__create(client_id, request, requestOptions)); } private async __create( - clientId: string, + client_id: string, request: Management.PostClientCredentialRequestContent, - requestOptions?: Credentials.RequestOptions, + requestOptions?: CredentialsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -182,7 +176,7 @@ export class Credentials { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `clients/${core.url.encodePathParam(clientId)}/credentials`, + `clients/${core.url.encodePathParam(client_id)}/credentials`, ), method: "POST", headers: _headers, @@ -194,6 +188,7 @@ export class Credentials { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -223,23 +218,12 @@ export class Credentials { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /clients/{client_id}/credentials.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/clients/{client_id}/credentials", + ); } /** @@ -247,9 +231,9 @@ export class Credentials { * * Important: To enable credentials to be used for a client authentication method, set the client_authentication_methods property on the client. To enable credentials to be used for JWT-Secured Authorization requests set the signed_request_object property on the client. * - * @param {string} clientId - ID of the client. - * @param {string} credentialId - ID of the credential. - * @param {Credentials.RequestOptions} requestOptions - Request-specific configuration. + * @param {string} client_id - ID of the client. + * @param {string} credential_id - ID of the credential. + * @param {CredentialsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -260,21 +244,22 @@ export class Credentials { * await client.clients.credentials.get("client_id", "credential_id") */ public get( - clientId: string, - credentialId: string, - requestOptions?: Credentials.RequestOptions, + client_id: string, + credential_id: string, + requestOptions?: CredentialsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__get(clientId, credentialId, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__get(client_id, credential_id, requestOptions)); } private async __get( - clientId: string, - credentialId: string, - requestOptions?: Credentials.RequestOptions, + client_id: string, + credential_id: string, + requestOptions?: CredentialsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -282,7 +267,7 @@ export class Credentials { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `clients/${core.url.encodePathParam(clientId)}/credentials/${core.url.encodePathParam(credentialId)}`, + `clients/${core.url.encodePathParam(client_id)}/credentials/${core.url.encodePathParam(credential_id)}`, ), method: "GET", headers: _headers, @@ -291,6 +276,7 @@ export class Credentials { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -318,31 +304,20 @@ export class Credentials { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /clients/{client_id}/credentials/{credential_id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/clients/{client_id}/credentials/{credential_id}", + ); } /** * Delete a client credential you previously created. May be enabled or disabled. For more information, read Client Credential Flow. * - * @param {string} clientId - ID of the client. - * @param {string} credentialId - ID of the credential to delete. - * @param {Credentials.RequestOptions} requestOptions - Request-specific configuration. + * @param {string} client_id - ID of the client. + * @param {string} credential_id - ID of the credential to delete. + * @param {CredentialsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -353,21 +328,22 @@ export class Credentials { * await client.clients.credentials.delete("client_id", "credential_id") */ public delete( - clientId: string, - credentialId: string, - requestOptions?: Credentials.RequestOptions, + client_id: string, + credential_id: string, + requestOptions?: CredentialsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__delete(clientId, credentialId, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__delete(client_id, credential_id, requestOptions)); } private async __delete( - clientId: string, - credentialId: string, - requestOptions?: Credentials.RequestOptions, + client_id: string, + credential_id: string, + requestOptions?: CredentialsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -375,7 +351,7 @@ export class Credentials { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `clients/${core.url.encodePathParam(clientId)}/credentials/${core.url.encodePathParam(credentialId)}`, + `clients/${core.url.encodePathParam(client_id)}/credentials/${core.url.encodePathParam(credential_id)}`, ), method: "DELETE", headers: _headers, @@ -384,6 +360,7 @@ export class Credentials { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -408,32 +385,21 @@ export class Credentials { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /clients/{client_id}/credentials/{credential_id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/clients/{client_id}/credentials/{credential_id}", + ); } /** * Change a client credential you previously created. May be enabled or disabled. For more information, read Client Credential Flow. * - * @param {string} clientId - ID of the client. - * @param {string} credentialId - ID of the credential. + * @param {string} client_id - ID of the client. + * @param {string} credential_id - ID of the credential. * @param {Management.PatchClientCredentialRequestContent} request - * @param {Credentials.RequestOptions} requestOptions - Request-specific configuration. + * @param {CredentialsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -445,23 +411,24 @@ export class Credentials { * await client.clients.credentials.update("client_id", "credential_id") */ public update( - clientId: string, - credentialId: string, + client_id: string, + credential_id: string, request: Management.PatchClientCredentialRequestContent = {}, - requestOptions?: Credentials.RequestOptions, + requestOptions?: CredentialsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__update(clientId, credentialId, request, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__update(client_id, credential_id, request, requestOptions)); } private async __update( - clientId: string, - credentialId: string, + client_id: string, + credential_id: string, request: Management.PatchClientCredentialRequestContent = {}, - requestOptions?: Credentials.RequestOptions, + requestOptions?: CredentialsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -469,7 +436,7 @@ export class Credentials { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `clients/${core.url.encodePathParam(clientId)}/credentials/${core.url.encodePathParam(credentialId)}`, + `clients/${core.url.encodePathParam(client_id)}/credentials/${core.url.encodePathParam(credential_id)}`, ), method: "PATCH", headers: _headers, @@ -481,6 +448,7 @@ export class Credentials { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -510,26 +478,11 @@ export class Credentials { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /clients/{client_id}/credentials/{credential_id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/clients/{client_id}/credentials/{credential_id}", + ); } } diff --git a/src/management/api/resources/connectionProfiles/client/Client.ts b/src/management/api/resources/connectionProfiles/client/Client.ts new file mode 100644 index 0000000000..4e1eaa0578 --- /dev/null +++ b/src/management/api/resources/connectionProfiles/client/Client.ts @@ -0,0 +1,596 @@ +// This file was auto-generated by Fern from our API Definition. + +import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; +import * as environments from "../../../../environments.js"; +import * as core from "../../../../core/index.js"; +import * as Management from "../../../index.js"; +import { mergeHeaders } from "../../../../core/headers.js"; +import * as errors from "../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; + +export declare namespace ConnectionProfilesClient { + export type Options = BaseClientOptions; + + export interface RequestOptions extends BaseRequestOptions {} +} + +export class ConnectionProfilesClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + + constructor(options: ConnectionProfilesClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); + } + + /** + * Retrieve a list of Connection Profiles. This endpoint supports Checkpoint pagination. + * + * @param {Management.ListConnectionProfileRequestParameters} request + * @param {ConnectionProfilesClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Management.BadRequestError} + * @throws {@link Management.UnauthorizedError} + * @throws {@link Management.ForbiddenError} + * @throws {@link Management.TooManyRequestsError} + * + * @example + * await client.connectionProfiles.list({ + * from: "from", + * take: 1 + * }) + */ + public async list( + request: Management.ListConnectionProfileRequestParameters = {}, + requestOptions?: ConnectionProfilesClient.RequestOptions, + ): Promise> { + const list = core.HttpResponsePromise.interceptFunction( + async ( + request: Management.ListConnectionProfileRequestParameters, + ): Promise> => { + const { from: from_, take = 50 } = request; + const _queryParams: Record = {}; + if (from_ !== undefined) { + _queryParams["from"] = from_; + } + if (take !== undefined) { + _queryParams["take"] = take?.toString() ?? null; + } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + requestOptions?.headers, + ); + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.ManagementEnvironment.Default, + "connection-profiles", + ), + method: "GET", + headers: _headers, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: _response.body as Management.ListConnectionProfilesPaginatedResponseContent, + rawResponse: _response.rawResponse, + }; + } + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 400: + throw new Management.BadRequestError( + _response.error.body as unknown, + _response.rawResponse, + ); + case 401: + throw new Management.UnauthorizedError( + _response.error.body as unknown, + _response.rawResponse, + ); + case 403: + throw new Management.ForbiddenError(_response.error.body as unknown, _response.rawResponse); + case 429: + throw new Management.TooManyRequestsError( + _response.error.body as unknown, + _response.rawResponse, + ); + default: + throw new errors.ManagementError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/connection-profiles"); + }, + ); + const dataWithRawResponse = await list(request).withRawResponse(); + return new core.Page({ + response: dataWithRawResponse.data, + rawResponse: dataWithRawResponse.rawResponse, + hasNextPage: (response) => + response?.next != null && !(typeof response?.next === "string" && response?.next === ""), + getItems: (response) => response?.connection_profiles ?? [], + loadPage: (response) => { + return list(core.setObjectProperty(request, "from", response?.next)); + }, + }); + } + + /** + * Create a Connection Profile. + * + * @param {Management.CreateConnectionProfileRequestContent} request + * @param {ConnectionProfilesClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Management.BadRequestError} + * @throws {@link Management.UnauthorizedError} + * @throws {@link Management.ForbiddenError} + * @throws {@link Management.ConflictError} + * @throws {@link Management.TooManyRequestsError} + * + * @example + * await client.connectionProfiles.create({ + * name: "name" + * }) + */ + public create( + request: Management.CreateConnectionProfileRequestContent, + requestOptions?: ConnectionProfilesClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); + } + + private async __create( + request: Management.CreateConnectionProfileRequestContent, + requestOptions?: ConnectionProfilesClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + requestOptions?.headers, + ); + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.ManagementEnvironment.Default, + "connection-profiles", + ), + method: "POST", + headers: _headers, + contentType: "application/json", + queryParameters: requestOptions?.queryParams, + requestType: "json", + body: request, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: _response.body as Management.CreateConnectionProfileResponseContent, + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 400: + throw new Management.BadRequestError(_response.error.body as unknown, _response.rawResponse); + case 401: + throw new Management.UnauthorizedError(_response.error.body as unknown, _response.rawResponse); + case 403: + throw new Management.ForbiddenError(_response.error.body as unknown, _response.rawResponse); + case 409: + throw new Management.ConflictError(_response.error.body as unknown, _response.rawResponse); + case 429: + throw new Management.TooManyRequestsError(_response.error.body as unknown, _response.rawResponse); + default: + throw new errors.ManagementError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/connection-profiles"); + } + + /** + * Retrieve a list of Connection Profile Templates. + * + * @param {ConnectionProfilesClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Management.UnauthorizedError} + * @throws {@link Management.ForbiddenError} + * @throws {@link Management.TooManyRequestsError} + * + * @example + * await client.connectionProfiles.listTemplates() + */ + public listTemplates( + requestOptions?: ConnectionProfilesClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__listTemplates(requestOptions)); + } + + private async __listTemplates( + requestOptions?: ConnectionProfilesClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + requestOptions?.headers, + ); + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.ManagementEnvironment.Default, + "connection-profiles/templates", + ), + method: "GET", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: _response.body as Management.ListConnectionProfileTemplateResponseContent, + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 401: + throw new Management.UnauthorizedError(_response.error.body as unknown, _response.rawResponse); + case 403: + throw new Management.ForbiddenError(_response.error.body as unknown, _response.rawResponse); + case 429: + throw new Management.TooManyRequestsError(_response.error.body as unknown, _response.rawResponse); + default: + throw new errors.ManagementError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/connection-profiles/templates", + ); + } + + /** + * Retrieve a Connection Profile Template. + * + * @param {string} id - ID of the connection-profile-template to retrieve. + * @param {ConnectionProfilesClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Management.UnauthorizedError} + * @throws {@link Management.ForbiddenError} + * @throws {@link Management.NotFoundError} + * @throws {@link Management.TooManyRequestsError} + * + * @example + * await client.connectionProfiles.getTemplate("id") + */ + public getTemplate( + id: string, + requestOptions?: ConnectionProfilesClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getTemplate(id, requestOptions)); + } + + private async __getTemplate( + id: string, + requestOptions?: ConnectionProfilesClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + requestOptions?.headers, + ); + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.ManagementEnvironment.Default, + `connection-profiles/templates/${core.url.encodePathParam(id)}`, + ), + method: "GET", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: _response.body as Management.GetConnectionProfileTemplateResponseContent, + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 401: + throw new Management.UnauthorizedError(_response.error.body as unknown, _response.rawResponse); + case 403: + throw new Management.ForbiddenError(_response.error.body as unknown, _response.rawResponse); + case 404: + throw new Management.NotFoundError(_response.error.body as unknown, _response.rawResponse); + case 429: + throw new Management.TooManyRequestsError(_response.error.body as unknown, _response.rawResponse); + default: + throw new errors.ManagementError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/connection-profiles/templates/{id}", + ); + } + + /** + * Retrieve details about a single Connection Profile specified by ID. + * + * @param {string} id - ID of the connection-profile to retrieve. + * @param {ConnectionProfilesClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Management.UnauthorizedError} + * @throws {@link Management.ForbiddenError} + * @throws {@link Management.NotFoundError} + * @throws {@link Management.TooManyRequestsError} + * + * @example + * await client.connectionProfiles.get("id") + */ + public get( + id: string, + requestOptions?: ConnectionProfilesClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); + } + + private async __get( + id: string, + requestOptions?: ConnectionProfilesClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + requestOptions?.headers, + ); + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.ManagementEnvironment.Default, + `connection-profiles/${core.url.encodePathParam(id)}`, + ), + method: "GET", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: _response.body as Management.GetConnectionProfileResponseContent, + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 401: + throw new Management.UnauthorizedError(_response.error.body as unknown, _response.rawResponse); + case 403: + throw new Management.ForbiddenError(_response.error.body as unknown, _response.rawResponse); + case 404: + throw new Management.NotFoundError(_response.error.body as unknown, _response.rawResponse); + case 429: + throw new Management.TooManyRequestsError(_response.error.body as unknown, _response.rawResponse); + default: + throw new errors.ManagementError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/connection-profiles/{id}"); + } + + /** + * Delete a single Connection Profile specified by ID. + * + * @param {string} id - ID of the connection-profile to delete. + * @param {ConnectionProfilesClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Management.UnauthorizedError} + * @throws {@link Management.ForbiddenError} + * @throws {@link Management.TooManyRequestsError} + * + * @example + * await client.connectionProfiles.delete("id") + */ + public delete( + id: string, + requestOptions?: ConnectionProfilesClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); + } + + private async __delete( + id: string, + requestOptions?: ConnectionProfilesClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + requestOptions?.headers, + ); + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.ManagementEnvironment.Default, + `connection-profiles/${core.url.encodePathParam(id)}`, + ), + method: "DELETE", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { data: undefined, rawResponse: _response.rawResponse }; + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 401: + throw new Management.UnauthorizedError(_response.error.body as unknown, _response.rawResponse); + case 403: + throw new Management.ForbiddenError(_response.error.body as unknown, _response.rawResponse); + case 429: + throw new Management.TooManyRequestsError(_response.error.body as unknown, _response.rawResponse); + default: + throw new errors.ManagementError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/connection-profiles/{id}"); + } + + /** + * Update the details of a specific Connection Profile. + * + * @param {string} id - ID of the connection profile to update. + * @param {Management.UpdateConnectionProfileRequestContent} request + * @param {ConnectionProfilesClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Management.BadRequestError} + * @throws {@link Management.UnauthorizedError} + * @throws {@link Management.ForbiddenError} + * @throws {@link Management.TooManyRequestsError} + * + * @example + * await client.connectionProfiles.update("id") + */ + public update( + id: string, + request: Management.UpdateConnectionProfileRequestContent = {}, + requestOptions?: ConnectionProfilesClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); + } + + private async __update( + id: string, + request: Management.UpdateConnectionProfileRequestContent = {}, + requestOptions?: ConnectionProfilesClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + requestOptions?.headers, + ); + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.ManagementEnvironment.Default, + `connection-profiles/${core.url.encodePathParam(id)}`, + ), + method: "PATCH", + headers: _headers, + contentType: "application/json", + queryParameters: requestOptions?.queryParams, + requestType: "json", + body: request, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: _response.body as Management.UpdateConnectionProfileResponseContent, + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 400: + throw new Management.BadRequestError(_response.error.body as unknown, _response.rawResponse); + case 401: + throw new Management.UnauthorizedError(_response.error.body as unknown, _response.rawResponse); + case 403: + throw new Management.ForbiddenError(_response.error.body as unknown, _response.rawResponse); + case 429: + throw new Management.TooManyRequestsError(_response.error.body as unknown, _response.rawResponse); + default: + throw new errors.ManagementError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + } + + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/connection-profiles/{id}"); + } +} diff --git a/src/management/api/resources/connectionProfiles/client/index.ts b/src/management/api/resources/connectionProfiles/client/index.ts new file mode 100644 index 0000000000..cb0ff5c3b5 --- /dev/null +++ b/src/management/api/resources/connectionProfiles/client/index.ts @@ -0,0 +1 @@ +export {}; diff --git a/src/management/api/resources/connectionProfiles/index.ts b/src/management/api/resources/connectionProfiles/index.ts new file mode 100644 index 0000000000..914b8c3c72 --- /dev/null +++ b/src/management/api/resources/connectionProfiles/index.ts @@ -0,0 +1 @@ +export * from "./client/index.js"; diff --git a/src/management/api/resources/connections/client/Client.ts b/src/management/api/resources/connections/client/Client.ts index 5891d0c2cf..dc5964db7a 100644 --- a/src/management/api/resources/connections/client/Client.ts +++ b/src/management/api/resources/connections/client/Client.ts @@ -1,47 +1,55 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; -import { Clients } from "../resources/clients/client/Client.js"; -import { Keys } from "../resources/keys/client/Client.js"; -import { ScimConfiguration } from "../resources/scimConfiguration/client/Client.js"; -import { Users } from "../resources/users/client/Client.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; +import { ClientsClient } from "../resources/clients/client/Client.js"; +import { DirectoryProvisioningClient } from "../resources/directoryProvisioning/client/Client.js"; +import { KeysClient } from "../resources/keys/client/Client.js"; +import { ScimConfigurationClient } from "../resources/scimConfiguration/client/Client.js"; +import { UsersClient } from "../resources/users/client/Client.js"; -export declare namespace Connections { - export interface Options extends BaseClientOptions {} +export declare namespace ConnectionsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Connections { - protected readonly _options: Connections.Options; - protected _clients: Clients | undefined; - protected _keys: Keys | undefined; - protected _scimConfiguration: ScimConfiguration | undefined; - protected _users: Users | undefined; +export class ConnectionsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _clients: ClientsClient | undefined; + protected _directoryProvisioning: DirectoryProvisioningClient | undefined; + protected _keys: KeysClient | undefined; + protected _scimConfiguration: ScimConfigurationClient | undefined; + protected _users: UsersClient | undefined; - constructor(_options: Connections.Options) { - this._options = _options; + constructor(options: ConnectionsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get clients(): Clients { - return (this._clients ??= new Clients(this._options)); + public get clients(): ClientsClient { + return (this._clients ??= new ClientsClient(this._options)); } - public get keys(): Keys { - return (this._keys ??= new Keys(this._options)); + public get directoryProvisioning(): DirectoryProvisioningClient { + return (this._directoryProvisioning ??= new DirectoryProvisioningClient(this._options)); } - public get scimConfiguration(): ScimConfiguration { - return (this._scimConfiguration ??= new ScimConfiguration(this._options)); + public get keys(): KeysClient { + return (this._keys ??= new KeysClient(this._options)); } - public get users(): Users { - return (this._users ??= new Users(this._options)); + public get scimConfiguration(): ScimConfigurationClient { + return (this._scimConfiguration ??= new ScimConfigurationClient(this._options)); + } + + public get users(): UsersClient { + return (this._users ??= new UsersClient(this._options)); } /** @@ -66,7 +74,7 @@ export class Connections { * Note: The first time you call this endpoint using checkpoint pagination, omit the from parameter. If there are more results, a next value is included in the response. You can use this for subsequent API calls. When next is no longer included in the response, no pages are remaining. * * @param {Management.ListConnectionsQueryParameters} request - * @param {Connections.RequestOptions} requestOptions - Request-specific configuration. + * @param {ConnectionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -84,7 +92,7 @@ export class Connections { */ public async list( request: Management.ListConnectionsQueryParameters = {}, - requestOptions?: Connections.RequestOptions, + requestOptions?: ConnectionsClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -114,9 +122,10 @@ export class Connections { if (includeFields !== undefined) { _queryParams["include_fields"] = includeFields?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -133,6 +142,7 @@ export class Connections { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -167,21 +177,7 @@ export class Connections { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /connections."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/connections"); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -204,7 +200,7 @@ export class Connections { * Creates a new connection according to the JSON object received in body.
    * * @param {Management.CreateConnectionRequestContent} request - * @param {Connections.RequestOptions} requestOptions - Request-specific configuration. + * @param {ConnectionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -220,18 +216,19 @@ export class Connections { */ public create( request: Management.CreateConnectionRequestContent, - requestOptions?: Connections.RequestOptions, + requestOptions?: ConnectionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateConnectionRequestContent, - requestOptions?: Connections.RequestOptions, + requestOptions?: ConnectionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -251,6 +248,7 @@ export class Connections { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -280,21 +278,7 @@ export class Connections { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /connections."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/connections"); } /** @@ -302,7 +286,7 @@ export class Connections { * * @param {string} id - The id of the connection to retrieve * @param {Management.GetConnectionRequestParameters} request - * @param {Connections.RequestOptions} requestOptions - Request-specific configuration. + * @param {ConnectionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -319,7 +303,7 @@ export class Connections { public get( id: string, request: Management.GetConnectionRequestParameters = {}, - requestOptions?: Connections.RequestOptions, + requestOptions?: ConnectionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, request, requestOptions)); } @@ -327,7 +311,7 @@ export class Connections { private async __get( id: string, request: Management.GetConnectionRequestParameters = {}, - requestOptions?: Connections.RequestOptions, + requestOptions?: ConnectionsClient.RequestOptions, ): Promise> { const { fields, include_fields: includeFields } = request; const _queryParams: Record = {}; @@ -339,9 +323,10 @@ export class Connections { _queryParams["include_fields"] = includeFields?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -358,6 +343,7 @@ export class Connections { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -387,28 +373,14 @@ export class Connections { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /connections/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/connections/{id}"); } /** * Removes a specific connection from your tenant. This action cannot be undone. Once removed, users can no longer use this connection to authenticate. * * @param {string} id - The id of the connection to delete - * @param {Connections.RequestOptions} requestOptions - Request-specific configuration. + * @param {ConnectionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -418,17 +390,18 @@ export class Connections { * @example * await client.connections.delete("id") */ - public delete(id: string, requestOptions?: Connections.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: ConnectionsClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } private async __delete( id: string, - requestOptions?: Connections.RequestOptions, + requestOptions?: ConnectionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -445,6 +418,7 @@ export class Connections { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -469,21 +443,7 @@ export class Connections { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /connections/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/connections/{id}"); } /** @@ -493,7 +453,7 @@ export class Connections { * * @param {string} id - The id of the connection to update * @param {Management.UpdateConnectionRequestContent} request - * @param {Connections.RequestOptions} requestOptions - Request-specific configuration. + * @param {ConnectionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -508,7 +468,7 @@ export class Connections { public update( id: string, request: Management.UpdateConnectionRequestContent = {}, - requestOptions?: Connections.RequestOptions, + requestOptions?: ConnectionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -516,11 +476,12 @@ export class Connections { private async __update( id: string, request: Management.UpdateConnectionRequestContent = {}, - requestOptions?: Connections.RequestOptions, + requestOptions?: ConnectionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -540,6 +501,7 @@ export class Connections { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -571,28 +533,14 @@ export class Connections { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PATCH /connections/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/connections/{id}"); } /** * Retrieves the status of an ad/ldap connection referenced by its ID. 200 OK http status code response is returned when the connection is online, otherwise a 404 status code is returned along with an error message * * @param {string} id - ID of the connection to check - * @param {Connections.RequestOptions} requestOptions - Request-specific configuration. + * @param {ConnectionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -603,17 +551,18 @@ export class Connections { * @example * await client.connections.checkStatus("id") */ - public checkStatus(id: string, requestOptions?: Connections.RequestOptions): core.HttpResponsePromise { + public checkStatus(id: string, requestOptions?: ConnectionsClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__checkStatus(id, requestOptions)); } private async __checkStatus( id: string, - requestOptions?: Connections.RequestOptions, + requestOptions?: ConnectionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -630,6 +579,7 @@ export class Connections { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -656,24 +606,6 @@ export class Connections { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /connections/{id}/status."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/connections/{id}/status"); } } diff --git a/src/management/api/resources/connections/resources/clients/client/Client.ts b/src/management/api/resources/connections/resources/clients/client/Client.ts index 60923d7169..56f512a9f2 100644 --- a/src/management/api/resources/connections/resources/clients/client/Client.ts +++ b/src/management/api/resources/connections/resources/clients/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Clients { - export interface Options extends BaseClientOptions {} +export declare namespace ClientsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Clients { - protected readonly _options: Clients.Options; +export class ClientsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Clients.Options) { - this._options = _options; + constructor(options: ClientsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -27,7 +29,7 @@ export class Clients { * * @param {string} id - The id of the connection for which enabled clients are to be retrieved * @param {Management.GetConnectionEnabledClientsRequestParameters} request - * @param {Clients.RequestOptions} requestOptions - Request-specific configuration. + * @param {ClientsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -44,7 +46,7 @@ export class Clients { public async get( id: string, request: Management.GetConnectionEnabledClientsRequestParameters = {}, - requestOptions?: Clients.RequestOptions, + requestOptions?: ClientsClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -58,9 +60,10 @@ export class Clients { if (from_ !== undefined) { _queryParams["from"] = from_; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -77,6 +80,7 @@ export class Clients { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -113,23 +117,12 @@ export class Clients { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /connections/{id}/clients.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/connections/{id}/clients", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -150,7 +143,7 @@ export class Clients { /** * @param {string} id - The id of the connection to modify * @param {Management.UpdateEnabledClientConnectionsRequestContent} request - * @param {Clients.RequestOptions} requestOptions - Request-specific configuration. + * @param {ClientsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -167,7 +160,7 @@ export class Clients { public update( id: string, request: Management.UpdateEnabledClientConnectionsRequestContent, - requestOptions?: Clients.RequestOptions, + requestOptions?: ClientsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -175,11 +168,12 @@ export class Clients { private async __update( id: string, request: Management.UpdateEnabledClientConnectionsRequestContent, - requestOptions?: Clients.RequestOptions, + requestOptions?: ClientsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -199,6 +193,7 @@ export class Clients { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -225,26 +220,6 @@ export class Clients { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /connections/{id}/clients.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/connections/{id}/clients"); } } diff --git a/src/management/api/resources/connections/resources/directoryProvisioning/client/Client.ts b/src/management/api/resources/connections/resources/directoryProvisioning/client/Client.ts new file mode 100644 index 0000000000..67bc43acdf --- /dev/null +++ b/src/management/api/resources/connections/resources/directoryProvisioning/client/Client.ts @@ -0,0 +1,462 @@ +// This file was auto-generated by Fern from our API Definition. + +import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; +import * as environments from "../../../../../../environments.js"; +import * as core from "../../../../../../core/index.js"; +import * as Management from "../../../../../index.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; +import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; +import { SynchronizationsClient } from "../resources/synchronizations/client/Client.js"; + +export declare namespace DirectoryProvisioningClient { + export type Options = BaseClientOptions; + + export interface RequestOptions extends BaseRequestOptions {} +} + +export class DirectoryProvisioningClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _synchronizations: SynchronizationsClient | undefined; + + constructor(options: DirectoryProvisioningClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); + } + + public get synchronizations(): SynchronizationsClient { + return (this._synchronizations ??= new SynchronizationsClient(this._options)); + } + + /** + * Retrieve the directory provisioning configuration of a connection. + * + * @param {string} id - The id of the connection to retrieve its directory provisioning configuration + * @param {DirectoryProvisioningClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Management.BadRequestError} + * @throws {@link Management.UnauthorizedError} + * @throws {@link Management.ForbiddenError} + * @throws {@link Management.NotFoundError} + * @throws {@link Management.TooManyRequestsError} + * + * @example + * await client.connections.directoryProvisioning.get("id") + */ + public get( + id: string, + requestOptions?: DirectoryProvisioningClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); + } + + private async __get( + id: string, + requestOptions?: DirectoryProvisioningClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + requestOptions?.headers, + ); + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.ManagementEnvironment.Default, + `connections/${core.url.encodePathParam(id)}/directory-provisioning`, + ), + method: "GET", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: _response.body as Management.GetDirectoryProvisioningResponseContent, + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 400: + throw new Management.BadRequestError(_response.error.body as unknown, _response.rawResponse); + case 401: + throw new Management.UnauthorizedError(_response.error.body as unknown, _response.rawResponse); + case 403: + throw new Management.ForbiddenError(_response.error.body as unknown, _response.rawResponse); + case 404: + throw new Management.NotFoundError(_response.error.body as unknown, _response.rawResponse); + case 429: + throw new Management.TooManyRequestsError(_response.error.body as unknown, _response.rawResponse); + default: + throw new errors.ManagementError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/connections/{id}/directory-provisioning", + ); + } + + /** + * Create a directory provisioning configuration for a connection. + * + * @param {string} id - The id of the connection to create its directory provisioning configuration + * @param {Management.CreateDirectoryProvisioningRequestContent | null} request + * @param {DirectoryProvisioningClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Management.BadRequestError} + * @throws {@link Management.UnauthorizedError} + * @throws {@link Management.ForbiddenError} + * @throws {@link Management.NotFoundError} + * @throws {@link Management.ConflictError} + * @throws {@link Management.TooManyRequestsError} + * + * @example + * await client.connections.directoryProvisioning.create("id") + */ + public create( + id: string, + request?: Management.CreateDirectoryProvisioningRequestContent | null, + requestOptions?: DirectoryProvisioningClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(id, request, requestOptions)); + } + + private async __create( + id: string, + request?: Management.CreateDirectoryProvisioningRequestContent | null, + requestOptions?: DirectoryProvisioningClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + requestOptions?.headers, + ); + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.ManagementEnvironment.Default, + `connections/${core.url.encodePathParam(id)}/directory-provisioning`, + ), + method: "POST", + headers: _headers, + contentType: "application/json", + queryParameters: requestOptions?.queryParams, + requestType: "json", + body: request != null ? request : undefined, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: _response.body as Management.CreateDirectoryProvisioningResponseContent, + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 400: + throw new Management.BadRequestError(_response.error.body as unknown, _response.rawResponse); + case 401: + throw new Management.UnauthorizedError(_response.error.body as unknown, _response.rawResponse); + case 403: + throw new Management.ForbiddenError(_response.error.body as unknown, _response.rawResponse); + case 404: + throw new Management.NotFoundError(_response.error.body as unknown, _response.rawResponse); + case 409: + throw new Management.ConflictError(_response.error.body as unknown, _response.rawResponse); + case 429: + throw new Management.TooManyRequestsError(_response.error.body as unknown, _response.rawResponse); + default: + throw new errors.ManagementError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/connections/{id}/directory-provisioning", + ); + } + + /** + * Delete the directory provisioning configuration of a connection. + * + * @param {string} id - The id of the connection to delete its directory provisioning configuration + * @param {DirectoryProvisioningClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Management.BadRequestError} + * @throws {@link Management.UnauthorizedError} + * @throws {@link Management.ForbiddenError} + * @throws {@link Management.NotFoundError} + * @throws {@link Management.TooManyRequestsError} + * + * @example + * await client.connections.directoryProvisioning.delete("id") + */ + public delete( + id: string, + requestOptions?: DirectoryProvisioningClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); + } + + private async __delete( + id: string, + requestOptions?: DirectoryProvisioningClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + requestOptions?.headers, + ); + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.ManagementEnvironment.Default, + `connections/${core.url.encodePathParam(id)}/directory-provisioning`, + ), + method: "DELETE", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { data: undefined, rawResponse: _response.rawResponse }; + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 400: + throw new Management.BadRequestError(_response.error.body as unknown, _response.rawResponse); + case 401: + throw new Management.UnauthorizedError(_response.error.body as unknown, _response.rawResponse); + case 403: + throw new Management.ForbiddenError(_response.error.body as unknown, _response.rawResponse); + case 404: + throw new Management.NotFoundError(_response.error.body as unknown, _response.rawResponse); + case 429: + throw new Management.TooManyRequestsError(_response.error.body as unknown, _response.rawResponse); + default: + throw new errors.ManagementError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/connections/{id}/directory-provisioning", + ); + } + + /** + * Update the directory provisioning configuration of a connection. + * + * @param {string} id - The id of the connection to create its directory provisioning configuration + * @param {Management.UpdateDirectoryProvisioningRequestContent | null} request + * @param {DirectoryProvisioningClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Management.BadRequestError} + * @throws {@link Management.UnauthorizedError} + * @throws {@link Management.ForbiddenError} + * @throws {@link Management.NotFoundError} + * @throws {@link Management.TooManyRequestsError} + * + * @example + * await client.connections.directoryProvisioning.update("id") + */ + public update( + id: string, + request?: Management.UpdateDirectoryProvisioningRequestContent | null, + requestOptions?: DirectoryProvisioningClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); + } + + private async __update( + id: string, + request?: Management.UpdateDirectoryProvisioningRequestContent | null, + requestOptions?: DirectoryProvisioningClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + requestOptions?.headers, + ); + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.ManagementEnvironment.Default, + `connections/${core.url.encodePathParam(id)}/directory-provisioning`, + ), + method: "PATCH", + headers: _headers, + contentType: "application/json", + queryParameters: requestOptions?.queryParams, + requestType: "json", + body: request != null ? request : undefined, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: _response.body as Management.UpdateDirectoryProvisioningResponseContent, + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 400: + throw new Management.BadRequestError(_response.error.body as unknown, _response.rawResponse); + case 401: + throw new Management.UnauthorizedError(_response.error.body as unknown, _response.rawResponse); + case 403: + throw new Management.ForbiddenError(_response.error.body as unknown, _response.rawResponse); + case 404: + throw new Management.NotFoundError(_response.error.body as unknown, _response.rawResponse); + case 429: + throw new Management.TooManyRequestsError(_response.error.body as unknown, _response.rawResponse); + default: + throw new errors.ManagementError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/connections/{id}/directory-provisioning", + ); + } + + /** + * Retrieve the directory provisioning default attribute mapping of a connection. + * + * @param {string} id - The id of the connection to retrieve its directory provisioning configuration + * @param {DirectoryProvisioningClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Management.BadRequestError} + * @throws {@link Management.UnauthorizedError} + * @throws {@link Management.ForbiddenError} + * @throws {@link Management.NotFoundError} + * @throws {@link Management.TooManyRequestsError} + * + * @example + * await client.connections.directoryProvisioning.getDefaultMapping("id") + */ + public getDefaultMapping( + id: string, + requestOptions?: DirectoryProvisioningClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__getDefaultMapping(id, requestOptions)); + } + + private async __getDefaultMapping( + id: string, + requestOptions?: DirectoryProvisioningClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + requestOptions?.headers, + ); + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.ManagementEnvironment.Default, + `connections/${core.url.encodePathParam(id)}/directory-provisioning/default-mapping`, + ), + method: "GET", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: _response.body as Management.GetDirectoryProvisioningDefaultMappingResponseContent, + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 400: + throw new Management.BadRequestError(_response.error.body as unknown, _response.rawResponse); + case 401: + throw new Management.UnauthorizedError(_response.error.body as unknown, _response.rawResponse); + case 403: + throw new Management.ForbiddenError(_response.error.body as unknown, _response.rawResponse); + case 404: + throw new Management.NotFoundError(_response.error.body as unknown, _response.rawResponse); + case 429: + throw new Management.TooManyRequestsError(_response.error.body as unknown, _response.rawResponse); + default: + throw new errors.ManagementError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/connections/{id}/directory-provisioning/default-mapping", + ); + } +} diff --git a/src/management/api/resources/connections/resources/directoryProvisioning/client/index.ts b/src/management/api/resources/connections/resources/directoryProvisioning/client/index.ts new file mode 100644 index 0000000000..cb0ff5c3b5 --- /dev/null +++ b/src/management/api/resources/connections/resources/directoryProvisioning/client/index.ts @@ -0,0 +1 @@ +export {}; diff --git a/src/management/api/resources/connections/resources/directoryProvisioning/index.ts b/src/management/api/resources/connections/resources/directoryProvisioning/index.ts new file mode 100644 index 0000000000..9eb1192dcc --- /dev/null +++ b/src/management/api/resources/connections/resources/directoryProvisioning/index.ts @@ -0,0 +1,2 @@ +export * from "./client/index.js"; +export * from "./resources/index.js"; diff --git a/src/management/api/resources/connections/resources/directoryProvisioning/resources/index.ts b/src/management/api/resources/connections/resources/directoryProvisioning/resources/index.ts new file mode 100644 index 0000000000..6ba36a311d --- /dev/null +++ b/src/management/api/resources/connections/resources/directoryProvisioning/resources/index.ts @@ -0,0 +1 @@ +export * as synchronizations from "./synchronizations/index.js"; diff --git a/src/management/api/resources/connections/resources/directoryProvisioning/resources/synchronizations/client/Client.ts b/src/management/api/resources/connections/resources/directoryProvisioning/resources/synchronizations/client/Client.ts new file mode 100644 index 0000000000..08cee0e981 --- /dev/null +++ b/src/management/api/resources/connections/resources/directoryProvisioning/resources/synchronizations/client/Client.ts @@ -0,0 +1,114 @@ +// This file was auto-generated by Fern from our API Definition. + +import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../../../BaseClient.js"; +import { + type NormalizedClientOptionsWithAuth, + normalizeClientOptionsWithAuth, +} from "../../../../../../../../BaseClient.js"; +import * as environments from "../../../../../../../../environments.js"; +import * as core from "../../../../../../../../core/index.js"; +import * as Management from "../../../../../../../index.js"; +import { mergeHeaders } from "../../../../../../../../core/headers.js"; +import * as errors from "../../../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../../../errors/handleNonStatusCodeError.js"; + +export declare namespace SynchronizationsClient { + export type Options = BaseClientOptions; + + export interface RequestOptions extends BaseRequestOptions {} +} + +export class SynchronizationsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + + constructor(options: SynchronizationsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); + } + + /** + * Request an on-demand synchronization of the directory. + * + * @param {string} id - The id of the connection to trigger synchronization for + * @param {SynchronizationsClient.RequestOptions} requestOptions - Request-specific configuration. + * + * @throws {@link Management.BadRequestError} + * @throws {@link Management.UnauthorizedError} + * @throws {@link Management.ForbiddenError} + * @throws {@link Management.NotFoundError} + * @throws {@link Management.ConflictError} + * @throws {@link Management.TooManyRequestsError} + * + * @example + * await client.connections.directoryProvisioning.synchronizations.create("id") + */ + public create( + id: string, + requestOptions?: SynchronizationsClient.RequestOptions, + ): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__create(id, requestOptions)); + } + + private async __create( + id: string, + requestOptions?: SynchronizationsClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); + let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, + this._options?.headers, + requestOptions?.headers, + ); + const _response = await (this._options.fetcher ?? core.fetcher)({ + url: core.url.join( + (await core.Supplier.get(this._options.baseUrl)) ?? + (await core.Supplier.get(this._options.environment)) ?? + environments.ManagementEnvironment.Default, + `connections/${core.url.encodePathParam(id)}/directory-provisioning/synchronizations`, + ), + method: "POST", + headers: _headers, + queryParameters: requestOptions?.queryParams, + timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, + maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, + abortSignal: requestOptions?.abortSignal, + fetchFn: this._options?.fetch, + logging: this._options.logging, + }); + if (_response.ok) { + return { + data: _response.body as Management.CreateDirectorySynchronizationResponseContent, + rawResponse: _response.rawResponse, + }; + } + + if (_response.error.reason === "status-code") { + switch (_response.error.statusCode) { + case 400: + throw new Management.BadRequestError(_response.error.body as unknown, _response.rawResponse); + case 401: + throw new Management.UnauthorizedError(_response.error.body as unknown, _response.rawResponse); + case 403: + throw new Management.ForbiddenError(_response.error.body as unknown, _response.rawResponse); + case 404: + throw new Management.NotFoundError(_response.error.body as unknown, _response.rawResponse); + case 409: + throw new Management.ConflictError(_response.error.body as unknown, _response.rawResponse); + case 429: + throw new Management.TooManyRequestsError(_response.error.body as unknown, _response.rawResponse); + default: + throw new errors.ManagementError({ + statusCode: _response.error.statusCode, + body: _response.error.body, + rawResponse: _response.rawResponse, + }); + } + } + + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/connections/{id}/directory-provisioning/synchronizations", + ); + } +} diff --git a/src/management/api/resources/connections/resources/directoryProvisioning/resources/synchronizations/client/index.ts b/src/management/api/resources/connections/resources/directoryProvisioning/resources/synchronizations/client/index.ts new file mode 100644 index 0000000000..cb0ff5c3b5 --- /dev/null +++ b/src/management/api/resources/connections/resources/directoryProvisioning/resources/synchronizations/client/index.ts @@ -0,0 +1 @@ +export {}; diff --git a/src/management/api/resources/connections/resources/directoryProvisioning/resources/synchronizations/index.ts b/src/management/api/resources/connections/resources/directoryProvisioning/resources/synchronizations/index.ts new file mode 100644 index 0000000000..914b8c3c72 --- /dev/null +++ b/src/management/api/resources/connections/resources/directoryProvisioning/resources/synchronizations/index.ts @@ -0,0 +1 @@ +export * from "./client/index.js"; diff --git a/src/management/api/resources/connections/resources/index.ts b/src/management/api/resources/connections/resources/index.ts index 3e7c6770fa..b8c33cf090 100644 --- a/src/management/api/resources/connections/resources/index.ts +++ b/src/management/api/resources/connections/resources/index.ts @@ -1,4 +1,5 @@ export * as clients from "./clients/index.js"; +export * as directoryProvisioning from "./directoryProvisioning/index.js"; export * as keys from "./keys/index.js"; export * as scimConfiguration from "./scimConfiguration/index.js"; export * as users from "./users/index.js"; diff --git a/src/management/api/resources/connections/resources/keys/client/Client.ts b/src/management/api/resources/connections/resources/keys/client/Client.ts index 8a9df9dde6..54ba9463ea 100644 --- a/src/management/api/resources/connections/resources/keys/client/Client.ts +++ b/src/management/api/resources/connections/resources/keys/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Keys { - export interface Options extends BaseClientOptions {} +export declare namespace KeysClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Keys { - protected readonly _options: Keys.Options; +export class KeysClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Keys.Options) { - this._options = _options; + constructor(options: KeysClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Gets the connection keys for the Okta or OIDC connection strategy. * * @param {string} id - ID of the connection - * @param {Keys.RequestOptions} requestOptions - Request-specific configuration. + * @param {KeysClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -35,17 +37,21 @@ export class Keys { * @example * await client.connections.keys.get("id") */ - public get(id: string, requestOptions?: Keys.RequestOptions): core.HttpResponsePromise { + public get( + id: string, + requestOptions?: KeysClient.RequestOptions, + ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: Keys.RequestOptions, + requestOptions?: KeysClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -62,6 +68,7 @@ export class Keys { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.ConnectionKey[], rawResponse: _response.rawResponse }; @@ -88,21 +95,7 @@ export class Keys { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /connections/{id}/keys."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/connections/{id}/keys"); } /** @@ -110,7 +103,7 @@ export class Keys { * * @param {string} id - ID of the connection * @param {Management.RotateConnectionKeysRequestContent | null} request - * @param {Keys.RequestOptions} requestOptions - Request-specific configuration. + * @param {KeysClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -124,7 +117,7 @@ export class Keys { public rotate( id: string, request?: Management.RotateConnectionKeysRequestContent | null, - requestOptions?: Keys.RequestOptions, + requestOptions?: KeysClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__rotate(id, request, requestOptions)); } @@ -132,11 +125,12 @@ export class Keys { private async __rotate( id: string, request?: Management.RotateConnectionKeysRequestContent | null, - requestOptions?: Keys.RequestOptions, + requestOptions?: KeysClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -156,6 +150,7 @@ export class Keys { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -185,26 +180,11 @@ export class Keys { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /connections/{id}/keys/rotate.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/connections/{id}/keys/rotate", + ); } } diff --git a/src/management/api/resources/connections/resources/scimConfiguration/client/Client.ts b/src/management/api/resources/connections/resources/scimConfiguration/client/Client.ts index aba5d908c1..0857715800 100644 --- a/src/management/api/resources/connections/resources/scimConfiguration/client/Client.ts +++ b/src/management/api/resources/connections/resources/scimConfiguration/client/Client.ts @@ -1,36 +1,38 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; -import { Tokens } from "../resources/tokens/client/Client.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; +import { TokensClient } from "../resources/tokens/client/Client.js"; -export declare namespace ScimConfiguration { - export interface Options extends BaseClientOptions {} +export declare namespace ScimConfigurationClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class ScimConfiguration { - protected readonly _options: ScimConfiguration.Options; - protected _tokens: Tokens | undefined; +export class ScimConfigurationClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _tokens: TokensClient | undefined; - constructor(_options: ScimConfiguration.Options) { - this._options = _options; + constructor(options: ScimConfigurationClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get tokens(): Tokens { - return (this._tokens ??= new Tokens(this._options)); + public get tokens(): TokensClient { + return (this._tokens ??= new TokensClient(this._options)); } /** * Retrieves a scim configuration by its connectionId. * * @param {string} id - The id of the connection to retrieve its SCIM configuration - * @param {ScimConfiguration.RequestOptions} requestOptions - Request-specific configuration. + * @param {ScimConfigurationClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.NotFoundError} @@ -40,18 +42,19 @@ export class ScimConfiguration { */ public get( id: string, - requestOptions?: ScimConfiguration.RequestOptions, + requestOptions?: ScimConfigurationClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: ScimConfiguration.RequestOptions, + requestOptions?: ScimConfigurationClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -68,6 +71,7 @@ export class ScimConfiguration { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -91,23 +95,12 @@ export class ScimConfiguration { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /connections/{id}/scim-configuration.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/connections/{id}/scim-configuration", + ); } /** @@ -115,7 +108,7 @@ export class ScimConfiguration { * * @param {string} id - The id of the connection to create its SCIM configuration * @param {Management.CreateScimConfigurationRequestContent | null} request - * @param {ScimConfiguration.RequestOptions} requestOptions - Request-specific configuration. + * @param {ScimConfigurationClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.NotFoundError} @@ -126,7 +119,7 @@ export class ScimConfiguration { public create( id: string, request?: Management.CreateScimConfigurationRequestContent | null, - requestOptions?: ScimConfiguration.RequestOptions, + requestOptions?: ScimConfigurationClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(id, request, requestOptions)); } @@ -134,11 +127,12 @@ export class ScimConfiguration { private async __create( id: string, request?: Management.CreateScimConfigurationRequestContent | null, - requestOptions?: ScimConfiguration.RequestOptions, + requestOptions?: ScimConfigurationClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -158,6 +152,7 @@ export class ScimConfiguration { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -181,30 +176,19 @@ export class ScimConfiguration { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /connections/{id}/scim-configuration.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/connections/{id}/scim-configuration", + ); } /** * Deletes a scim configuration by its connectionId. * * @param {string} id - The id of the connection to delete its SCIM configuration - * @param {ScimConfiguration.RequestOptions} requestOptions - Request-specific configuration. + * @param {ScimConfigurationClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.NotFoundError} @@ -212,17 +196,18 @@ export class ScimConfiguration { * @example * await client.connections.scimConfiguration.delete("id") */ - public delete(id: string, requestOptions?: ScimConfiguration.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: ScimConfigurationClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } private async __delete( id: string, - requestOptions?: ScimConfiguration.RequestOptions, + requestOptions?: ScimConfigurationClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -239,6 +224,7 @@ export class ScimConfiguration { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -259,23 +245,12 @@ export class ScimConfiguration { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /connections/{id}/scim-configuration.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/connections/{id}/scim-configuration", + ); } /** @@ -283,7 +258,7 @@ export class ScimConfiguration { * * @param {string} id - The id of the connection to update its SCIM configuration * @param {Management.UpdateScimConfigurationRequestContent} request - * @param {ScimConfiguration.RequestOptions} requestOptions - Request-specific configuration. + * @param {ScimConfigurationClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.NotFoundError} @@ -297,7 +272,7 @@ export class ScimConfiguration { public update( id: string, request: Management.UpdateScimConfigurationRequestContent, - requestOptions?: ScimConfiguration.RequestOptions, + requestOptions?: ScimConfigurationClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -305,11 +280,12 @@ export class ScimConfiguration { private async __update( id: string, request: Management.UpdateScimConfigurationRequestContent, - requestOptions?: ScimConfiguration.RequestOptions, + requestOptions?: ScimConfigurationClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -329,6 +305,7 @@ export class ScimConfiguration { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -352,30 +329,19 @@ export class ScimConfiguration { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /connections/{id}/scim-configuration.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/connections/{id}/scim-configuration", + ); } /** * Retrieves a scim configuration's default mapping by its connectionId. * * @param {string} id - The id of the connection to retrieve its default SCIM mapping - * @param {ScimConfiguration.RequestOptions} requestOptions - Request-specific configuration. + * @param {ScimConfigurationClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.NotFoundError} @@ -385,18 +351,19 @@ export class ScimConfiguration { */ public getDefaultMapping( id: string, - requestOptions?: ScimConfiguration.RequestOptions, + requestOptions?: ScimConfigurationClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__getDefaultMapping(id, requestOptions)); } private async __getDefaultMapping( id: string, - requestOptions?: ScimConfiguration.RequestOptions, + requestOptions?: ScimConfigurationClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -413,6 +380,7 @@ export class ScimConfiguration { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -436,26 +404,11 @@ export class ScimConfiguration { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /connections/{id}/scim-configuration/default-mapping.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/connections/{id}/scim-configuration/default-mapping", + ); } } diff --git a/src/management/api/resources/connections/resources/scimConfiguration/resources/tokens/client/Client.ts b/src/management/api/resources/connections/resources/scimConfiguration/resources/tokens/client/Client.ts index 1a8877044e..dd95166053 100644 --- a/src/management/api/resources/connections/resources/scimConfiguration/resources/tokens/client/Client.ts +++ b/src/management/api/resources/connections/resources/scimConfiguration/resources/tokens/client/Client.ts @@ -1,30 +1,35 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../../../BaseClient.js"; +import { + type NormalizedClientOptionsWithAuth, + normalizeClientOptionsWithAuth, +} from "../../../../../../../../BaseClient.js"; import * as environments from "../../../../../../../../environments.js"; import * as core from "../../../../../../../../core/index.js"; import * as Management from "../../../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../../../core/headers.js"; import * as errors from "../../../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Tokens { - export interface Options extends BaseClientOptions {} +export declare namespace TokensClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Tokens { - protected readonly _options: Tokens.Options; +export class TokensClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Tokens.Options) { - this._options = _options; + constructor(options: TokensClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieves all scim tokens by its connection id. * * @param {string} id - The id of the connection to retrieve its SCIM configuration - * @param {Tokens.RequestOptions} requestOptions - Request-specific configuration. + * @param {TokensClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.NotFoundError} @@ -34,18 +39,19 @@ export class Tokens { */ public get( id: string, - requestOptions?: Tokens.RequestOptions, + requestOptions?: TokensClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: Tokens.RequestOptions, + requestOptions?: TokensClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -62,6 +68,7 @@ export class Tokens { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -85,23 +92,12 @@ export class Tokens { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /connections/{id}/scim-configuration/tokens.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/connections/{id}/scim-configuration/tokens", + ); } /** @@ -109,7 +105,7 @@ export class Tokens { * * @param {string} id - The id of the connection to create its SCIM token * @param {Management.CreateScimTokenRequestContent} request - * @param {Tokens.RequestOptions} requestOptions - Request-specific configuration. + * @param {TokensClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.NotFoundError} @@ -121,7 +117,7 @@ export class Tokens { public create( id: string, request: Management.CreateScimTokenRequestContent = {}, - requestOptions?: Tokens.RequestOptions, + requestOptions?: TokensClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(id, request, requestOptions)); } @@ -129,11 +125,12 @@ export class Tokens { private async __create( id: string, request: Management.CreateScimTokenRequestContent = {}, - requestOptions?: Tokens.RequestOptions, + requestOptions?: TokensClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -153,6 +150,7 @@ export class Tokens { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -178,23 +176,12 @@ export class Tokens { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /connections/{id}/scim-configuration/tokens.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/connections/{id}/scim-configuration/tokens", + ); } /** @@ -202,7 +189,7 @@ export class Tokens { * * @param {string} id - The connection id that owns the SCIM token to delete * @param {string} tokenId - The id of the scim token to delete - * @param {Tokens.RequestOptions} requestOptions - Request-specific configuration. + * @param {TokensClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.NotFoundError} @@ -210,18 +197,23 @@ export class Tokens { * @example * await client.connections.scimConfiguration.tokens.delete("id", "tokenId") */ - public delete(id: string, tokenId: string, requestOptions?: Tokens.RequestOptions): core.HttpResponsePromise { + public delete( + id: string, + tokenId: string, + requestOptions?: TokensClient.RequestOptions, + ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, tokenId, requestOptions)); } private async __delete( id: string, tokenId: string, - requestOptions?: Tokens.RequestOptions, + requestOptions?: TokensClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -238,6 +230,7 @@ export class Tokens { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -258,26 +251,11 @@ export class Tokens { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /connections/{id}/scim-configuration/tokens/{tokenId}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/connections/{id}/scim-configuration/tokens/{tokenId}", + ); } } diff --git a/src/management/api/resources/connections/resources/users/client/Client.ts b/src/management/api/resources/connections/resources/users/client/Client.ts index 1525c94aa6..818d4a88e6 100644 --- a/src/management/api/resources/connections/resources/users/client/Client.ts +++ b/src/management/api/resources/connections/resources/users/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Users { - export interface Options extends BaseClientOptions {} +export declare namespace UsersClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Users { - protected readonly _options: Users.Options; +export class UsersClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Users.Options) { - this._options = _options; + constructor(options: UsersClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -25,7 +27,7 @@ export class Users { * * @param {string} id - The id of the connection (currently only database connections are supported) * @param {Management.DeleteConnectionUsersByEmailQueryParameters} request - * @param {Users.RequestOptions} requestOptions - Request-specific configuration. + * @param {UsersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -40,7 +42,7 @@ export class Users { public deleteByEmail( id: string, request: Management.DeleteConnectionUsersByEmailQueryParameters, - requestOptions?: Users.RequestOptions, + requestOptions?: UsersClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__deleteByEmail(id, request, requestOptions)); } @@ -48,14 +50,15 @@ export class Users { private async __deleteByEmail( id: string, request: Management.DeleteConnectionUsersByEmailQueryParameters, - requestOptions?: Users.RequestOptions, + requestOptions?: UsersClient.RequestOptions, ): Promise> { const { email } = request; const _queryParams: Record = {}; _queryParams["email"] = email; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -72,6 +75,7 @@ export class Users { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -96,26 +100,6 @@ export class Users { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /connections/{id}/users.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/connections/{id}/users"); } } diff --git a/src/management/api/resources/customDomains/client/Client.ts b/src/management/api/resources/customDomains/client/Client.ts index b37af7bdb9..c246936130 100644 --- a/src/management/api/resources/customDomains/client/Client.ts +++ b/src/management/api/resources/customDomains/client/Client.ts @@ -1,49 +1,88 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; -export declare namespace CustomDomains { - export interface Options extends BaseClientOptions {} +export declare namespace CustomDomainsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class CustomDomains { - protected readonly _options: CustomDomains.Options; +export class CustomDomainsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: CustomDomains.Options) { - this._options = _options; + constructor(options: CustomDomainsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve details on custom domains. * - * @param {CustomDomains.RequestOptions} requestOptions - Request-specific configuration. + * @param {Management.ListCustomDomainsRequestParameters} request + * @param {CustomDomainsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} * @throws {@link Management.TooManyRequestsError} * * @example - * await client.customDomains.list() + * await client.customDomains.list({ + * take: 1, + * from: "from", + * q: "q", + * fields: "fields", + * include_fields: true, + * sort: "sort" + * }) */ public list( - requestOptions?: CustomDomains.RequestOptions, + request: Management.ListCustomDomainsRequestParameters = {}, + requestOptions?: CustomDomainsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__list(requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); } private async __list( - requestOptions?: CustomDomains.RequestOptions, + request: Management.ListCustomDomainsRequestParameters = {}, + requestOptions?: CustomDomainsClient.RequestOptions, ): Promise> { + const { take = 50, from: from_, q, fields, include_fields: includeFields, sort } = request; + const _queryParams: Record = {}; + if (take !== undefined) { + _queryParams["take"] = take?.toString() ?? null; + } + + if (from_ !== undefined) { + _queryParams["from"] = from_; + } + + if (q !== undefined) { + _queryParams["q"] = q; + } + + if (fields !== undefined) { + _queryParams["fields"] = fields; + } + + if (includeFields !== undefined) { + _queryParams["include_fields"] = includeFields?.toString() ?? null; + } + + if (sort !== undefined) { + _queryParams["sort"] = sort; + } + + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -55,11 +94,12 @@ export class CustomDomains { ), method: "GET", headers: _headers, - queryParameters: requestOptions?.queryParams, + queryParameters: { ..._queryParams, ...requestOptions?.queryParams }, timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000, maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -85,21 +125,7 @@ export class CustomDomains { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /custom-domains."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/custom-domains"); } /** @@ -119,7 +145,7 @@ export class CustomDomains { * - recommended - for modern usage this includes TLS 1.2 only * * @param {Management.CreateCustomDomainRequestContent} request - * @param {CustomDomains.RequestOptions} requestOptions - Request-specific configuration. + * @param {CustomDomainsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -135,18 +161,19 @@ export class CustomDomains { */ public create( request: Management.CreateCustomDomainRequestContent, - requestOptions?: CustomDomains.RequestOptions, + requestOptions?: CustomDomainsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateCustomDomainRequestContent, - requestOptions?: CustomDomains.RequestOptions, + requestOptions?: CustomDomainsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -166,6 +193,7 @@ export class CustomDomains { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -195,28 +223,14 @@ export class CustomDomains { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /custom-domains."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/custom-domains"); } /** * Retrieve a custom domain configuration and status. * * @param {string} id - ID of the custom domain to retrieve. - * @param {CustomDomains.RequestOptions} requestOptions - Request-specific configuration. + * @param {CustomDomainsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -229,18 +243,19 @@ export class CustomDomains { */ public get( id: string, - requestOptions?: CustomDomains.RequestOptions, + requestOptions?: CustomDomainsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: CustomDomains.RequestOptions, + requestOptions?: CustomDomainsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -257,6 +272,7 @@ export class CustomDomains { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -286,28 +302,14 @@ export class CustomDomains { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /custom-domains/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/custom-domains/{id}"); } /** * Delete a custom domain and stop serving requests for it. * * @param {string} id - ID of the custom domain to delete. - * @param {CustomDomains.RequestOptions} requestOptions - Request-specific configuration. + * @param {CustomDomainsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -317,17 +319,18 @@ export class CustomDomains { * @example * await client.customDomains.delete("id") */ - public delete(id: string, requestOptions?: CustomDomains.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: CustomDomainsClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } private async __delete( id: string, - requestOptions?: CustomDomains.RequestOptions, + requestOptions?: CustomDomainsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -344,6 +347,7 @@ export class CustomDomains { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -368,21 +372,7 @@ export class CustomDomains { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /custom-domains/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/custom-domains/{id}"); } /** @@ -413,7 +403,7 @@ export class CustomDomains { * * @param {string} id - The id of the custom domain to update * @param {Management.UpdateCustomDomainRequestContent} request - * @param {CustomDomains.RequestOptions} requestOptions - Request-specific configuration. + * @param {CustomDomainsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -426,7 +416,7 @@ export class CustomDomains { public update( id: string, request: Management.UpdateCustomDomainRequestContent = {}, - requestOptions?: CustomDomains.RequestOptions, + requestOptions?: CustomDomainsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -434,11 +424,12 @@ export class CustomDomains { private async __update( id: string, request: Management.UpdateCustomDomainRequestContent = {}, - requestOptions?: CustomDomains.RequestOptions, + requestOptions?: CustomDomainsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -458,6 +449,7 @@ export class CustomDomains { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -485,28 +477,14 @@ export class CustomDomains { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PATCH /custom-domains/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/custom-domains/{id}"); } /** * Run the test process on a custom domain. * * @param {string} id - ID of the custom domain to test. - * @param {CustomDomains.RequestOptions} requestOptions - Request-specific configuration. + * @param {CustomDomainsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -519,18 +497,19 @@ export class CustomDomains { */ public test( id: string, - requestOptions?: CustomDomains.RequestOptions, + requestOptions?: CustomDomainsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__test(id, requestOptions)); } private async __test( id: string, - requestOptions?: CustomDomains.RequestOptions, + requestOptions?: CustomDomainsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -547,6 +526,7 @@ export class CustomDomains { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -576,23 +556,7 @@ export class CustomDomains { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /custom-domains/{id}/test.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/custom-domains/{id}/test"); } /** @@ -606,7 +570,7 @@ export class CustomDomains { * Learn more about verifying custom domains that use Self Managed certificates. * * @param {string} id - ID of the custom domain to verify. - * @param {CustomDomains.RequestOptions} requestOptions - Request-specific configuration. + * @param {CustomDomainsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -619,18 +583,19 @@ export class CustomDomains { */ public verify( id: string, - requestOptions?: CustomDomains.RequestOptions, + requestOptions?: CustomDomainsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__verify(id, requestOptions)); } private async __verify( id: string, - requestOptions?: CustomDomains.RequestOptions, + requestOptions?: CustomDomainsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -647,6 +612,7 @@ export class CustomDomains { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -676,26 +642,6 @@ export class CustomDomains { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /custom-domains/{id}/verify.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/custom-domains/{id}/verify"); } } diff --git a/src/management/api/resources/deviceCredentials/client/Client.ts b/src/management/api/resources/deviceCredentials/client/Client.ts index 772dd81bf2..31b57c405f 100644 --- a/src/management/api/resources/deviceCredentials/client/Client.ts +++ b/src/management/api/resources/deviceCredentials/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; -export declare namespace DeviceCredentials { - export interface Options extends BaseClientOptions {} +export declare namespace DeviceCredentialsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class DeviceCredentials { - protected readonly _options: DeviceCredentials.Options; +export class DeviceCredentialsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: DeviceCredentials.Options) { - this._options = _options; + constructor(options: DeviceCredentialsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve device credential information (public_key, refresh_token, or rotating_refresh_token) associated with a specific user. * * @param {Management.ListDeviceCredentialsRequestParameters} request - * @param {DeviceCredentials.RequestOptions} requestOptions - Request-specific configuration. + * @param {DeviceCredentialsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -45,7 +47,7 @@ export class DeviceCredentials { */ public async list( request: Management.ListDeviceCredentialsRequestParameters = {}, - requestOptions?: DeviceCredentials.RequestOptions, + requestOptions?: DeviceCredentialsClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -86,9 +88,10 @@ export class DeviceCredentials { if (type_ !== undefined) { _queryParams["type"] = type_; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -105,6 +108,7 @@ export class DeviceCredentials { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -139,23 +143,7 @@ export class DeviceCredentials { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /device-credentials.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/device-credentials"); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -166,10 +154,11 @@ export class DeviceCredentials { >({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.device_credentials ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => + (response?.device_credentials ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.device_credentials ?? [], - loadPage: (response) => { - _offset += response?.device_credentials != null ? response.device_credentials.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -181,7 +170,7 @@ export class DeviceCredentials { * When refresh token rotation is enabled, the endpoint becomes consistent. For more information, read Signing Keys. * * @param {Management.CreatePublicKeyDeviceCredentialRequestContent} request - * @param {DeviceCredentials.RequestOptions} requestOptions - Request-specific configuration. + * @param {DeviceCredentialsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -198,18 +187,19 @@ export class DeviceCredentials { */ public createPublicKey( request: Management.CreatePublicKeyDeviceCredentialRequestContent, - requestOptions?: DeviceCredentials.RequestOptions, + requestOptions?: DeviceCredentialsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__createPublicKey(request, requestOptions)); } private async __createPublicKey( request: Management.CreatePublicKeyDeviceCredentialRequestContent, - requestOptions?: DeviceCredentials.RequestOptions, + requestOptions?: DeviceCredentialsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -229,6 +219,7 @@ export class DeviceCredentials { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -258,28 +249,14 @@ export class DeviceCredentials { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /device-credentials."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/device-credentials"); } /** * Permanently delete a device credential (such as a refresh token or public key) with the given ID. * * @param {string} id - ID of the credential to delete. - * @param {DeviceCredentials.RequestOptions} requestOptions - Request-specific configuration. + * @param {DeviceCredentialsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -289,17 +266,18 @@ export class DeviceCredentials { * @example * await client.deviceCredentials.delete("id") */ - public delete(id: string, requestOptions?: DeviceCredentials.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: DeviceCredentialsClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } private async __delete( id: string, - requestOptions?: DeviceCredentials.RequestOptions, + requestOptions?: DeviceCredentialsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -316,6 +294,7 @@ export class DeviceCredentials { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -340,26 +319,6 @@ export class DeviceCredentials { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /device-credentials/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/device-credentials/{id}"); } } diff --git a/src/management/api/resources/emailTemplates/client/Client.ts b/src/management/api/resources/emailTemplates/client/Client.ts index 826888071a..02b6347100 100644 --- a/src/management/api/resources/emailTemplates/client/Client.ts +++ b/src/management/api/resources/emailTemplates/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; -export declare namespace EmailTemplates { - export interface Options extends BaseClientOptions {} +export declare namespace EmailTemplatesClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class EmailTemplates { - protected readonly _options: EmailTemplates.Options; +export class EmailTemplatesClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: EmailTemplates.Options) { - this._options = _options; + constructor(options: EmailTemplatesClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Create an email template. * * @param {Management.CreateEmailTemplateRequestContent} request - * @param {EmailTemplates.RequestOptions} requestOptions - Request-specific configuration. + * @param {EmailTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -39,18 +41,19 @@ export class EmailTemplates { */ public create( request: Management.CreateEmailTemplateRequestContent, - requestOptions?: EmailTemplates.RequestOptions, + requestOptions?: EmailTemplatesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateEmailTemplateRequestContent, - requestOptions?: EmailTemplates.RequestOptions, + requestOptions?: EmailTemplatesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -70,6 +73,7 @@ export class EmailTemplates { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -99,28 +103,14 @@ export class EmailTemplates { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /email-templates."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/email-templates"); } /** * Retrieve an email template by pre-defined name. These names are `verify_email`, `verify_email_by_code`, `reset_email`, `reset_email_by_code`, `welcome_email`, `blocked_account`, `stolen_credentials`, `enrollment_email`, `mfa_oob_code`, `user_invitation`, and `async_approval`. The names `change_password`, and `password_reset` are also supported for legacy scenarios. * * @param {Management.EmailTemplateNameEnum} templateName - Template name. Can be `verify_email`, `verify_email_by_code`, `reset_email`, `reset_email_by_code`, `welcome_email`, `blocked_account`, `stolen_credentials`, `enrollment_email`, `mfa_oob_code`, `user_invitation`, `async_approval`, `change_password` (legacy), or `password_reset` (legacy). - * @param {EmailTemplates.RequestOptions} requestOptions - Request-specific configuration. + * @param {EmailTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -132,18 +122,19 @@ export class EmailTemplates { */ public get( templateName: Management.EmailTemplateNameEnum, - requestOptions?: EmailTemplates.RequestOptions, + requestOptions?: EmailTemplatesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(templateName, requestOptions)); } private async __get( templateName: Management.EmailTemplateNameEnum, - requestOptions?: EmailTemplates.RequestOptions, + requestOptions?: EmailTemplatesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -160,6 +151,7 @@ export class EmailTemplates { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -187,23 +179,12 @@ export class EmailTemplates { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /email-templates/{templateName}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/email-templates/{templateName}", + ); } /** @@ -211,7 +192,7 @@ export class EmailTemplates { * * @param {Management.EmailTemplateNameEnum} templateName - Template name. Can be `verify_email`, `verify_email_by_code`, `reset_email`, `reset_email_by_code`, `welcome_email`, `blocked_account`, `stolen_credentials`, `enrollment_email`, `mfa_oob_code`, `user_invitation`, `async_approval`, `change_password` (legacy), or `password_reset` (legacy). * @param {Management.SetEmailTemplateRequestContent} request - * @param {EmailTemplates.RequestOptions} requestOptions - Request-specific configuration. + * @param {EmailTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -227,7 +208,7 @@ export class EmailTemplates { public set( templateName: Management.EmailTemplateNameEnum, request: Management.SetEmailTemplateRequestContent, - requestOptions?: EmailTemplates.RequestOptions, + requestOptions?: EmailTemplatesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__set(templateName, request, requestOptions)); } @@ -235,11 +216,12 @@ export class EmailTemplates { private async __set( templateName: Management.EmailTemplateNameEnum, request: Management.SetEmailTemplateRequestContent, - requestOptions?: EmailTemplates.RequestOptions, + requestOptions?: EmailTemplatesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -259,6 +241,7 @@ export class EmailTemplates { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -288,23 +271,12 @@ export class EmailTemplates { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PUT /email-templates/{templateName}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/email-templates/{templateName}", + ); } /** @@ -312,7 +284,7 @@ export class EmailTemplates { * * @param {Management.EmailTemplateNameEnum} templateName - Template name. Can be `verify_email`, `verify_email_by_code`, `reset_email`, `reset_email_by_code`, `welcome_email`, `blocked_account`, `stolen_credentials`, `enrollment_email`, `mfa_oob_code`, `user_invitation`, `async_approval`, `change_password` (legacy), or `password_reset` (legacy). * @param {Management.UpdateEmailTemplateRequestContent} request - * @param {EmailTemplates.RequestOptions} requestOptions - Request-specific configuration. + * @param {EmailTemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -326,7 +298,7 @@ export class EmailTemplates { public update( templateName: Management.EmailTemplateNameEnum, request: Management.UpdateEmailTemplateRequestContent = {}, - requestOptions?: EmailTemplates.RequestOptions, + requestOptions?: EmailTemplatesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(templateName, request, requestOptions)); } @@ -334,11 +306,12 @@ export class EmailTemplates { private async __update( templateName: Management.EmailTemplateNameEnum, request: Management.UpdateEmailTemplateRequestContent = {}, - requestOptions?: EmailTemplates.RequestOptions, + requestOptions?: EmailTemplatesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -358,6 +331,7 @@ export class EmailTemplates { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -387,26 +361,11 @@ export class EmailTemplates { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /email-templates/{templateName}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/email-templates/{templateName}", + ); } } diff --git a/src/management/api/resources/emails/client/Client.ts b/src/management/api/resources/emails/client/Client.ts index 7d152d1e1c..5252320a53 100644 --- a/src/management/api/resources/emails/client/Client.ts +++ b/src/management/api/resources/emails/client/Client.ts @@ -1,23 +1,24 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; -import { Provider } from "../resources/provider/client/Client.js"; +import { ProviderClient } from "../resources/provider/client/Client.js"; -export declare namespace Emails { - export interface Options extends BaseClientOptions {} +export declare namespace EmailsClient { + export type Options = BaseClientOptions; } -export class Emails { - protected readonly _options: Emails.Options; - protected _provider: Provider | undefined; +export class EmailsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _provider: ProviderClient | undefined; - constructor(_options: Emails.Options) { - this._options = _options; + constructor(options: EmailsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get provider(): Provider { - return (this._provider ??= new Provider(this._options)); + public get provider(): ProviderClient { + return (this._provider ??= new ProviderClient(this._options)); } } diff --git a/src/management/api/resources/emails/resources/provider/client/Client.ts b/src/management/api/resources/emails/resources/provider/client/Client.ts index 59030f9853..f6bd0ef64a 100644 --- a/src/management/api/resources/emails/resources/provider/client/Client.ts +++ b/src/management/api/resources/emails/resources/provider/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Provider { - export interface Options extends BaseClientOptions {} +export declare namespace ProviderClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Provider { - protected readonly _options: Provider.Options; +export class ProviderClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Provider.Options) { - this._options = _options; + constructor(options: ProviderClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve details of the email provider configuration in your tenant. A list of fields to include or exclude may also be specified. * * @param {Management.GetEmailProviderRequestParameters} request - * @param {Provider.RequestOptions} requestOptions - Request-specific configuration. + * @param {ProviderClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -40,14 +42,14 @@ export class Provider { */ public get( request: Management.GetEmailProviderRequestParameters = {}, - requestOptions?: Provider.RequestOptions, + requestOptions?: ProviderClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(request, requestOptions)); } private async __get( request: Management.GetEmailProviderRequestParameters = {}, - requestOptions?: Provider.RequestOptions, + requestOptions?: ProviderClient.RequestOptions, ): Promise> { const { fields, include_fields: includeFields } = request; const _queryParams: Record = {}; @@ -59,9 +61,10 @@ export class Provider { _queryParams["include_fields"] = includeFields?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -78,6 +81,7 @@ export class Provider { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -107,21 +111,7 @@ export class Provider { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /emails/provider."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/emails/provider"); } /** @@ -169,7 +159,7 @@ export class Provider { * * * @param {Management.CreateEmailProviderRequestContent} request - * @param {Provider.RequestOptions} requestOptions - Request-specific configuration. + * @param {ProviderClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -187,18 +177,19 @@ export class Provider { */ public create( request: Management.CreateEmailProviderRequestContent, - requestOptions?: Provider.RequestOptions, + requestOptions?: ProviderClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateEmailProviderRequestContent, - requestOptions?: Provider.RequestOptions, + requestOptions?: ProviderClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -218,6 +209,7 @@ export class Provider { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -247,27 +239,13 @@ export class Provider { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /emails/provider."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/emails/provider"); } /** * Delete the email provider. * - * @param {Provider.RequestOptions} requestOptions - Request-specific configuration. + * @param {ProviderClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -278,14 +256,15 @@ export class Provider { * @example * await client.emails.provider.delete() */ - public delete(requestOptions?: Provider.RequestOptions): core.HttpResponsePromise { + public delete(requestOptions?: ProviderClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(requestOptions)); } - private async __delete(requestOptions?: Provider.RequestOptions): Promise> { + private async __delete(requestOptions?: ProviderClient.RequestOptions): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -302,6 +281,7 @@ export class Provider { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -328,21 +308,7 @@ export class Provider { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /emails/provider."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/emails/provider"); } /** @@ -388,7 +354,7 @@ export class Provider { * * * @param {Management.UpdateEmailProviderRequestContent} request - * @param {Provider.RequestOptions} requestOptions - Request-specific configuration. + * @param {ProviderClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -402,18 +368,19 @@ export class Provider { */ public update( request: Management.UpdateEmailProviderRequestContent = {}, - requestOptions?: Provider.RequestOptions, + requestOptions?: ProviderClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(request, requestOptions)); } private async __update( request: Management.UpdateEmailProviderRequestContent = {}, - requestOptions?: Provider.RequestOptions, + requestOptions?: ProviderClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -433,6 +400,7 @@ export class Provider { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -464,24 +432,6 @@ export class Provider { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PATCH /emails/provider."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/emails/provider"); } } diff --git a/src/management/api/resources/eventStreams/client/Client.ts b/src/management/api/resources/eventStreams/client/Client.ts index 83efc627d9..bb833efd45 100644 --- a/src/management/api/resources/eventStreams/client/Client.ts +++ b/src/management/api/resources/eventStreams/client/Client.ts @@ -1,40 +1,42 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; -import { Deliveries } from "../resources/deliveries/client/Client.js"; -import { Redeliveries } from "../resources/redeliveries/client/Client.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; +import { DeliveriesClient } from "../resources/deliveries/client/Client.js"; +import { RedeliveriesClient } from "../resources/redeliveries/client/Client.js"; -export declare namespace EventStreams { - export interface Options extends BaseClientOptions {} +export declare namespace EventStreamsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class EventStreams { - protected readonly _options: EventStreams.Options; - protected _deliveries: Deliveries | undefined; - protected _redeliveries: Redeliveries | undefined; +export class EventStreamsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _deliveries: DeliveriesClient | undefined; + protected _redeliveries: RedeliveriesClient | undefined; - constructor(_options: EventStreams.Options) { - this._options = _options; + constructor(options: EventStreamsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get deliveries(): Deliveries { - return (this._deliveries ??= new Deliveries(this._options)); + public get deliveries(): DeliveriesClient { + return (this._deliveries ??= new DeliveriesClient(this._options)); } - public get redeliveries(): Redeliveries { - return (this._redeliveries ??= new Redeliveries(this._options)); + public get redeliveries(): RedeliveriesClient { + return (this._redeliveries ??= new RedeliveriesClient(this._options)); } /** * @param {Management.ListEventStreamsRequestParameters} request - * @param {EventStreams.RequestOptions} requestOptions - Request-specific configuration. + * @param {EventStreamsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -49,14 +51,14 @@ export class EventStreams { */ public list( request: Management.ListEventStreamsRequestParameters = {}, - requestOptions?: EventStreams.RequestOptions, + requestOptions?: EventStreamsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions)); } private async __list( request: Management.ListEventStreamsRequestParameters = {}, - requestOptions?: EventStreams.RequestOptions, + requestOptions?: EventStreamsClient.RequestOptions, ): Promise> { const { from: from_, take = 50 } = request; const _queryParams: Record = {}; @@ -68,9 +70,10 @@ export class EventStreams { _queryParams["take"] = take?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -87,6 +90,7 @@ export class EventStreams { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -114,26 +118,12 @@ export class EventStreams { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /event-streams."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/event-streams"); } /** * @param {Management.EventStreamsCreateRequest} request - * @param {EventStreams.RequestOptions} requestOptions - Request-specific configuration. + * @param {EventStreamsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -157,18 +147,19 @@ export class EventStreams { */ public create( request: Management.EventStreamsCreateRequest, - requestOptions?: EventStreams.RequestOptions, + requestOptions?: EventStreamsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.EventStreamsCreateRequest, - requestOptions?: EventStreams.RequestOptions, + requestOptions?: EventStreamsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -188,6 +179,7 @@ export class EventStreams { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -217,26 +209,12 @@ export class EventStreams { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /event-streams."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/event-streams"); } /** * @param {string} id - Unique identifier for the event stream. - * @param {EventStreams.RequestOptions} requestOptions - Request-specific configuration. + * @param {EventStreamsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -248,18 +226,19 @@ export class EventStreams { */ public get( id: string, - requestOptions?: EventStreams.RequestOptions, + requestOptions?: EventStreamsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: EventStreams.RequestOptions, + requestOptions?: EventStreamsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -276,6 +255,7 @@ export class EventStreams { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -303,26 +283,12 @@ export class EventStreams { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /event-streams/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/event-streams/{id}"); } /** * @param {string} id - Unique identifier for the event stream. - * @param {EventStreams.RequestOptions} requestOptions - Request-specific configuration. + * @param {EventStreamsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -332,17 +298,18 @@ export class EventStreams { * @example * await client.eventStreams.delete("id") */ - public delete(id: string, requestOptions?: EventStreams.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: EventStreamsClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } private async __delete( id: string, - requestOptions?: EventStreams.RequestOptions, + requestOptions?: EventStreamsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -359,6 +326,7 @@ export class EventStreams { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -383,27 +351,13 @@ export class EventStreams { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /event-streams/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/event-streams/{id}"); } /** * @param {string} id - Unique identifier for the event stream. * @param {Management.UpdateEventStreamRequestContent} request - * @param {EventStreams.RequestOptions} requestOptions - Request-specific configuration. + * @param {EventStreamsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -416,7 +370,7 @@ export class EventStreams { public update( id: string, request: Management.UpdateEventStreamRequestContent = {}, - requestOptions?: EventStreams.RequestOptions, + requestOptions?: EventStreamsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -424,11 +378,12 @@ export class EventStreams { private async __update( id: string, request: Management.UpdateEventStreamRequestContent = {}, - requestOptions?: EventStreams.RequestOptions, + requestOptions?: EventStreamsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -448,6 +403,7 @@ export class EventStreams { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -475,27 +431,13 @@ export class EventStreams { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PATCH /event-streams/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/event-streams/{id}"); } /** * @param {string} id - Unique identifier for the event stream. * @param {Management.CreateEventStreamTestEventRequestContent} request - * @param {EventStreams.RequestOptions} requestOptions - Request-specific configuration. + * @param {EventStreamsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -509,7 +451,7 @@ export class EventStreams { public test( id: string, request: Management.CreateEventStreamTestEventRequestContent, - requestOptions?: EventStreams.RequestOptions, + requestOptions?: EventStreamsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__test(id, request, requestOptions)); } @@ -517,11 +459,12 @@ export class EventStreams { private async __test( id: string, request: Management.CreateEventStreamTestEventRequestContent, - requestOptions?: EventStreams.RequestOptions, + requestOptions?: EventStreamsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -541,6 +484,7 @@ export class EventStreams { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -566,24 +510,6 @@ export class EventStreams { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /event-streams/{id}/test."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/event-streams/{id}/test"); } } diff --git a/src/management/api/resources/eventStreams/resources/deliveries/client/Client.ts b/src/management/api/resources/eventStreams/resources/deliveries/client/Client.ts index 8ab8d1d9d7..e581ad36ac 100644 --- a/src/management/api/resources/eventStreams/resources/deliveries/client/Client.ts +++ b/src/management/api/resources/eventStreams/resources/deliveries/client/Client.ts @@ -1,29 +1,31 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Deliveries { - export interface Options extends BaseClientOptions {} +export declare namespace DeliveriesClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Deliveries { - protected readonly _options: Deliveries.Options; +export class DeliveriesClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Deliveries.Options) { - this._options = _options; + constructor(options: DeliveriesClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * @param {string} id - Unique identifier for the event stream. * @param {Management.ListEventStreamDeliveriesRequestParameters} request - * @param {Deliveries.RequestOptions} requestOptions - Request-specific configuration. + * @param {DeliveriesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -44,7 +46,7 @@ export class Deliveries { public list( id: string, request: Management.ListEventStreamDeliveriesRequestParameters = {}, - requestOptions?: Deliveries.RequestOptions, + requestOptions?: DeliveriesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__list(id, request, requestOptions)); } @@ -52,7 +54,7 @@ export class Deliveries { private async __list( id: string, request: Management.ListEventStreamDeliveriesRequestParameters = {}, - requestOptions?: Deliveries.RequestOptions, + requestOptions?: DeliveriesClient.RequestOptions, ): Promise> { const { statuses, @@ -87,9 +89,10 @@ export class Deliveries { _queryParams["take"] = take?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -106,6 +109,7 @@ export class Deliveries { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.EventStreamDelivery[], rawResponse: _response.rawResponse }; @@ -132,29 +136,18 @@ export class Deliveries { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /event-streams/{id}/deliveries.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/event-streams/{id}/deliveries", + ); } /** * @param {string} id - Unique identifier for the event stream. - * @param {string} eventId - Unique identifier for the event - * @param {Deliveries.RequestOptions} requestOptions - Request-specific configuration. + * @param {string} event_id - Unique identifier for the event + * @param {DeliveriesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -166,20 +159,21 @@ export class Deliveries { */ public getHistory( id: string, - eventId: string, - requestOptions?: Deliveries.RequestOptions, + event_id: string, + requestOptions?: DeliveriesClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__getHistory(id, eventId, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__getHistory(id, event_id, requestOptions)); } private async __getHistory( id: string, - eventId: string, - requestOptions?: Deliveries.RequestOptions, + event_id: string, + requestOptions?: DeliveriesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -187,7 +181,7 @@ export class Deliveries { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `event-streams/${core.url.encodePathParam(id)}/deliveries/${core.url.encodePathParam(eventId)}`, + `event-streams/${core.url.encodePathParam(id)}/deliveries/${core.url.encodePathParam(event_id)}`, ), method: "GET", headers: _headers, @@ -196,6 +190,7 @@ export class Deliveries { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -223,26 +218,11 @@ export class Deliveries { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /event-streams/{id}/deliveries/{event_id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/event-streams/{id}/deliveries/{event_id}", + ); } } diff --git a/src/management/api/resources/eventStreams/resources/redeliveries/client/Client.ts b/src/management/api/resources/eventStreams/resources/redeliveries/client/Client.ts index ec58bf5b25..a0ce90123b 100644 --- a/src/management/api/resources/eventStreams/resources/redeliveries/client/Client.ts +++ b/src/management/api/resources/eventStreams/resources/redeliveries/client/Client.ts @@ -1,29 +1,31 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Redeliveries { - export interface Options extends BaseClientOptions {} +export declare namespace RedeliveriesClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Redeliveries { - protected readonly _options: Redeliveries.Options; +export class RedeliveriesClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Redeliveries.Options) { - this._options = _options; + constructor(options: RedeliveriesClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * @param {string} id - Unique identifier for the event stream. * @param {Management.CreateEventStreamRedeliveryRequestContent} request - * @param {Redeliveries.RequestOptions} requestOptions - Request-specific configuration. + * @param {RedeliveriesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -37,7 +39,7 @@ export class Redeliveries { public create( id: string, request: Management.CreateEventStreamRedeliveryRequestContent = {}, - requestOptions?: Redeliveries.RequestOptions, + requestOptions?: RedeliveriesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(id, request, requestOptions)); } @@ -45,11 +47,12 @@ export class Redeliveries { private async __create( id: string, request: Management.CreateEventStreamRedeliveryRequestContent = {}, - requestOptions?: Redeliveries.RequestOptions, + requestOptions?: RedeliveriesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -69,6 +72,7 @@ export class Redeliveries { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -98,29 +102,18 @@ export class Redeliveries { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /event-streams/{id}/redeliver.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/event-streams/{id}/redeliver", + ); } /** * @param {string} id - Unique identifier for the event stream. - * @param {string} eventId - Unique identifier for the event - * @param {Redeliveries.RequestOptions} requestOptions - Request-specific configuration. + * @param {string} event_id - Unique identifier for the event + * @param {RedeliveriesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -133,20 +126,21 @@ export class Redeliveries { */ public createById( id: string, - eventId: string, - requestOptions?: Redeliveries.RequestOptions, + event_id: string, + requestOptions?: RedeliveriesClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__createById(id, eventId, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__createById(id, event_id, requestOptions)); } private async __createById( id: string, - eventId: string, - requestOptions?: Redeliveries.RequestOptions, + event_id: string, + requestOptions?: RedeliveriesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -154,7 +148,7 @@ export class Redeliveries { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `event-streams/${core.url.encodePathParam(id)}/redeliver/${core.url.encodePathParam(eventId)}`, + `event-streams/${core.url.encodePathParam(id)}/redeliver/${core.url.encodePathParam(event_id)}`, ), method: "POST", headers: _headers, @@ -163,6 +157,7 @@ export class Redeliveries { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -189,26 +184,11 @@ export class Redeliveries { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /event-streams/{id}/redeliver/{event_id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/event-streams/{id}/redeliver/{event_id}", + ); } } diff --git a/src/management/api/resources/flows/client/Client.ts b/src/management/api/resources/flows/client/Client.ts index a6b827e510..07ae1b6cb9 100644 --- a/src/management/api/resources/flows/client/Client.ts +++ b/src/management/api/resources/flows/client/Client.ts @@ -1,40 +1,42 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; -import { Executions } from "../resources/executions/client/Client.js"; -import { Vault } from "../resources/vault/client/Client.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; +import { ExecutionsClient } from "../resources/executions/client/Client.js"; +import { VaultClient } from "../resources/vault/client/Client.js"; -export declare namespace Flows { - export interface Options extends BaseClientOptions {} +export declare namespace FlowsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Flows { - protected readonly _options: Flows.Options; - protected _executions: Executions | undefined; - protected _vault: Vault | undefined; +export class FlowsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _executions: ExecutionsClient | undefined; + protected _vault: VaultClient | undefined; - constructor(_options: Flows.Options) { - this._options = _options; + constructor(options: FlowsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get executions(): Executions { - return (this._executions ??= new Executions(this._options)); + public get executions(): ExecutionsClient { + return (this._executions ??= new ExecutionsClient(this._options)); } - public get vault(): Vault { - return (this._vault ??= new Vault(this._options)); + public get vault(): VaultClient { + return (this._vault ??= new VaultClient(this._options)); } /** * @param {Management.FlowsListRequest} request - * @param {Flows.RequestOptions} requestOptions - Request-specific configuration. + * @param {FlowsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -51,7 +53,7 @@ export class Flows { */ public async list( request: Management.FlowsListRequest = {}, - requestOptions?: Flows.RequestOptions, + requestOptions?: FlowsClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -84,9 +86,10 @@ export class Flows { if (synchronous !== undefined) { _queryParams["synchronous"] = synchronous?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -103,6 +106,7 @@ export class Flows { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -137,21 +141,7 @@ export class Flows { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /flows."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/flows"); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -159,10 +149,10 @@ export class Flows { return new core.Page({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.flows ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.flows ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.flows ?? [], - loadPage: (response) => { - _offset += response?.flows != null ? response.flows.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -170,7 +160,7 @@ export class Flows { /** * @param {Management.CreateFlowRequestContent} request - * @param {Flows.RequestOptions} requestOptions - Request-specific configuration. + * @param {FlowsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -184,18 +174,19 @@ export class Flows { */ public create( request: Management.CreateFlowRequestContent, - requestOptions?: Flows.RequestOptions, + requestOptions?: FlowsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateFlowRequestContent, - requestOptions?: Flows.RequestOptions, + requestOptions?: FlowsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -215,6 +206,7 @@ export class Flows { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.CreateFlowResponseContent, rawResponse: _response.rawResponse }; @@ -239,27 +231,13 @@ export class Flows { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /flows."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/flows"); } /** * @param {string} id - Flow identifier * @param {Management.GetFlowRequestParameters} request - * @param {Flows.RequestOptions} requestOptions - Request-specific configuration. + * @param {FlowsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -273,7 +251,7 @@ export class Flows { public get( id: string, request: Management.GetFlowRequestParameters = {}, - requestOptions?: Flows.RequestOptions, + requestOptions?: FlowsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, request, requestOptions)); } @@ -281,7 +259,7 @@ export class Flows { private async __get( id: string, request: Management.GetFlowRequestParameters = {}, - requestOptions?: Flows.RequestOptions, + requestOptions?: FlowsClient.RequestOptions, ): Promise> { const { hydrate } = request; const _queryParams: Record = {}; @@ -293,9 +271,10 @@ export class Flows { } } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -312,6 +291,7 @@ export class Flows { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.GetFlowResponseContent, rawResponse: _response.rawResponse }; @@ -338,26 +318,12 @@ export class Flows { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /flows/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/flows/{id}"); } /** * @param {string} id - Flow id - * @param {Flows.RequestOptions} requestOptions - Request-specific configuration. + * @param {FlowsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -368,14 +334,18 @@ export class Flows { * @example * await client.flows.delete("id") */ - public delete(id: string, requestOptions?: Flows.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: FlowsClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } - private async __delete(id: string, requestOptions?: Flows.RequestOptions): Promise> { + private async __delete( + id: string, + requestOptions?: FlowsClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -392,6 +362,7 @@ export class Flows { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -418,27 +389,13 @@ export class Flows { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /flows/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/flows/{id}"); } /** * @param {string} id - Flow identifier * @param {Management.UpdateFlowRequestContent} request - * @param {Flows.RequestOptions} requestOptions - Request-specific configuration. + * @param {FlowsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -451,7 +408,7 @@ export class Flows { public update( id: string, request: Management.UpdateFlowRequestContent = {}, - requestOptions?: Flows.RequestOptions, + requestOptions?: FlowsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -459,11 +416,12 @@ export class Flows { private async __update( id: string, request: Management.UpdateFlowRequestContent = {}, - requestOptions?: Flows.RequestOptions, + requestOptions?: FlowsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -483,6 +441,7 @@ export class Flows { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.UpdateFlowResponseContent, rawResponse: _response.rawResponse }; @@ -507,24 +466,6 @@ export class Flows { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PATCH /flows/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/flows/{id}"); } } diff --git a/src/management/api/resources/flows/resources/executions/client/Client.ts b/src/management/api/resources/flows/resources/executions/client/Client.ts index de8e77095b..250b27ff42 100644 --- a/src/management/api/resources/flows/resources/executions/client/Client.ts +++ b/src/management/api/resources/flows/resources/executions/client/Client.ts @@ -1,29 +1,31 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Executions { - export interface Options extends BaseClientOptions {} +export declare namespace ExecutionsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Executions { - protected readonly _options: Executions.Options; +export class ExecutionsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Executions.Options) { - this._options = _options; + constructor(options: ExecutionsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** - * @param {string} flowId - Flow id + * @param {string} flow_id - Flow id * @param {Management.ExecutionsListRequest} request - * @param {Executions.RequestOptions} requestOptions - Request-specific configuration. + * @param {ExecutionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -37,9 +39,9 @@ export class Executions { * }) */ public async list( - flowId: string, + flow_id: string, request: Management.ExecutionsListRequest = {}, - requestOptions?: Executions.RequestOptions, + requestOptions?: ExecutionsClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -53,9 +55,10 @@ export class Executions { if (take !== undefined) { _queryParams["take"] = take?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -63,7 +66,7 @@ export class Executions { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `flows/${core.url.encodePathParam(flowId)}/executions`, + `flows/${core.url.encodePathParam(flow_id)}/executions`, ), method: "GET", headers: _headers, @@ -72,6 +75,7 @@ export class Executions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -106,23 +110,12 @@ export class Executions { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /flows/{flow_id}/executions.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/flows/{flow_id}/executions", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -139,10 +132,10 @@ export class Executions { } /** - * @param {string} flowId - Flow id - * @param {string} executionId - Flow execution id + * @param {string} flow_id - Flow id + * @param {string} execution_id - Flow execution id * @param {Management.ExecutionsGetRequest} request - * @param {Executions.RequestOptions} requestOptions - Request-specific configuration. + * @param {ExecutionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -153,19 +146,19 @@ export class Executions { * await client.flows.executions.get("flow_id", "execution_id") */ public get( - flowId: string, - executionId: string, + flow_id: string, + execution_id: string, request: Management.ExecutionsGetRequest = {}, - requestOptions?: Executions.RequestOptions, + requestOptions?: ExecutionsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__get(flowId, executionId, request, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__get(flow_id, execution_id, request, requestOptions)); } private async __get( - flowId: string, - executionId: string, + flow_id: string, + execution_id: string, request: Management.ExecutionsGetRequest = {}, - requestOptions?: Executions.RequestOptions, + requestOptions?: ExecutionsClient.RequestOptions, ): Promise> { const { hydrate } = request; const _queryParams: Record = {}; @@ -177,9 +170,10 @@ export class Executions { } } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -187,7 +181,7 @@ export class Executions { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `flows/${core.url.encodePathParam(flowId)}/executions/${core.url.encodePathParam(executionId)}`, + `flows/${core.url.encodePathParam(flow_id)}/executions/${core.url.encodePathParam(execution_id)}`, ), method: "GET", headers: _headers, @@ -196,6 +190,7 @@ export class Executions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -223,29 +218,18 @@ export class Executions { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /flows/{flow_id}/executions/{execution_id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/flows/{flow_id}/executions/{execution_id}", + ); } /** - * @param {string} flowId - Flows id - * @param {string} executionId - Flow execution identifier - * @param {Executions.RequestOptions} requestOptions - Request-specific configuration. + * @param {string} flow_id - Flows id + * @param {string} execution_id - Flow execution identifier + * @param {ExecutionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -256,21 +240,22 @@ export class Executions { * await client.flows.executions.delete("flow_id", "execution_id") */ public delete( - flowId: string, - executionId: string, - requestOptions?: Executions.RequestOptions, + flow_id: string, + execution_id: string, + requestOptions?: ExecutionsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__delete(flowId, executionId, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__delete(flow_id, execution_id, requestOptions)); } private async __delete( - flowId: string, - executionId: string, - requestOptions?: Executions.RequestOptions, + flow_id: string, + execution_id: string, + requestOptions?: ExecutionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -278,7 +263,7 @@ export class Executions { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `flows/${core.url.encodePathParam(flowId)}/executions/${core.url.encodePathParam(executionId)}`, + `flows/${core.url.encodePathParam(flow_id)}/executions/${core.url.encodePathParam(execution_id)}`, ), method: "DELETE", headers: _headers, @@ -287,6 +272,7 @@ export class Executions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -311,26 +297,11 @@ export class Executions { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /flows/{flow_id}/executions/{execution_id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/flows/{flow_id}/executions/{execution_id}", + ); } } diff --git a/src/management/api/resources/flows/resources/vault/client/Client.ts b/src/management/api/resources/flows/resources/vault/client/Client.ts index 1ed872a336..f16917780c 100644 --- a/src/management/api/resources/flows/resources/vault/client/Client.ts +++ b/src/management/api/resources/flows/resources/vault/client/Client.ts @@ -1,23 +1,24 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; -import { Connections } from "../resources/connections/client/Client.js"; +import { ConnectionsClient } from "../resources/connections/client/Client.js"; -export declare namespace Vault { - export interface Options extends BaseClientOptions {} +export declare namespace VaultClient { + export type Options = BaseClientOptions; } -export class Vault { - protected readonly _options: Vault.Options; - protected _connections: Connections | undefined; +export class VaultClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _connections: ConnectionsClient | undefined; - constructor(_options: Vault.Options) { - this._options = _options; + constructor(options: VaultClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get connections(): Connections { - return (this._connections ??= new Connections(this._options)); + public get connections(): ConnectionsClient { + return (this._connections ??= new ConnectionsClient(this._options)); } } diff --git a/src/management/api/resources/flows/resources/vault/resources/connections/client/Client.ts b/src/management/api/resources/flows/resources/vault/resources/connections/client/Client.ts index 27561686d6..4679d1836d 100644 --- a/src/management/api/resources/flows/resources/vault/resources/connections/client/Client.ts +++ b/src/management/api/resources/flows/resources/vault/resources/connections/client/Client.ts @@ -1,28 +1,33 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../../../BaseClient.js"; +import { + type NormalizedClientOptionsWithAuth, + normalizeClientOptionsWithAuth, +} from "../../../../../../../../BaseClient.js"; import * as environments from "../../../../../../../../environments.js"; import * as core from "../../../../../../../../core/index.js"; import * as Management from "../../../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../../../core/headers.js"; import * as errors from "../../../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Connections { - export interface Options extends BaseClientOptions {} +export declare namespace ConnectionsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Connections { - protected readonly _options: Connections.Options; +export class ConnectionsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Connections.Options) { - this._options = _options; + constructor(options: ConnectionsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * @param {Management.ListFlowsVaultConnectionsRequestParameters} request - * @param {Connections.RequestOptions} requestOptions - Request-specific configuration. + * @param {ConnectionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -38,7 +43,7 @@ export class Connections { */ public async list( request: Management.ListFlowsVaultConnectionsRequestParameters = {}, - requestOptions?: Connections.RequestOptions, + requestOptions?: ConnectionsClient.RequestOptions, ): Promise< core.Page< Management.FlowsVaultConnectionSummary, @@ -60,9 +65,10 @@ export class Connections { if (includeTotals !== undefined) { _queryParams["include_totals"] = includeTotals?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -79,6 +85,7 @@ export class Connections { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -113,23 +120,12 @@ export class Connections { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /flows/vault/connections.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/flows/vault/connections", + ); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -140,10 +136,10 @@ export class Connections { >({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.connections ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.connections ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.connections ?? [], - loadPage: (response) => { - _offset += response?.connections != null ? response.connections.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -151,7 +147,7 @@ export class Connections { /** * @param {Management.CreateFlowsVaultConnectionRequestContent} request - * @param {Connections.RequestOptions} requestOptions - Request-specific configuration. + * @param {ConnectionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -171,18 +167,19 @@ export class Connections { */ public create( request: Management.CreateFlowsVaultConnectionRequestContent, - requestOptions?: Connections.RequestOptions, + requestOptions?: ConnectionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateFlowsVaultConnectionRequestContent, - requestOptions?: Connections.RequestOptions, + requestOptions?: ConnectionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -202,6 +199,7 @@ export class Connections { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -229,26 +227,12 @@ export class Connections { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /flows/vault/connections."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/flows/vault/connections"); } /** * @param {string} id - Flows Vault connection ID - * @param {Connections.RequestOptions} requestOptions - Request-specific configuration. + * @param {ConnectionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -261,18 +245,19 @@ export class Connections { */ public get( id: string, - requestOptions?: Connections.RequestOptions, + requestOptions?: ConnectionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: Connections.RequestOptions, + requestOptions?: ConnectionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -289,6 +274,7 @@ export class Connections { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -318,28 +304,12 @@ export class Connections { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /flows/vault/connections/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/flows/vault/connections/{id}"); } /** * @param {string} id - Vault connection id - * @param {Connections.RequestOptions} requestOptions - Request-specific configuration. + * @param {ConnectionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -349,17 +319,18 @@ export class Connections { * @example * await client.flows.vault.connections.delete("id") */ - public delete(id: string, requestOptions?: Connections.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: ConnectionsClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } private async __delete( id: string, - requestOptions?: Connections.RequestOptions, + requestOptions?: ConnectionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -376,6 +347,7 @@ export class Connections { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -400,29 +372,18 @@ export class Connections { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /flows/vault/connections/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/flows/vault/connections/{id}", + ); } /** * @param {string} id - Flows Vault connection ID * @param {Management.UpdateFlowsVaultConnectionRequestContent} request - * @param {Connections.RequestOptions} requestOptions - Request-specific configuration. + * @param {ConnectionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -436,7 +397,7 @@ export class Connections { public update( id: string, request: Management.UpdateFlowsVaultConnectionRequestContent = {}, - requestOptions?: Connections.RequestOptions, + requestOptions?: ConnectionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -444,11 +405,12 @@ export class Connections { private async __update( id: string, request: Management.UpdateFlowsVaultConnectionRequestContent = {}, - requestOptions?: Connections.RequestOptions, + requestOptions?: ConnectionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -468,6 +430,7 @@ export class Connections { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -497,26 +460,11 @@ export class Connections { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /flows/vault/connections/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/flows/vault/connections/{id}", + ); } } diff --git a/src/management/api/resources/forms/client/Client.ts b/src/management/api/resources/forms/client/Client.ts index ee2820a126..b5052f8df1 100644 --- a/src/management/api/resources/forms/client/Client.ts +++ b/src/management/api/resources/forms/client/Client.ts @@ -1,28 +1,30 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Forms { - export interface Options extends BaseClientOptions {} +export declare namespace FormsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Forms { - protected readonly _options: Forms.Options; +export class FormsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Forms.Options) { - this._options = _options; + constructor(options: FormsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * @param {Management.ListFormsRequestParameters} request - * @param {Forms.RequestOptions} requestOptions - Request-specific configuration. + * @param {FormsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -38,7 +40,7 @@ export class Forms { */ public async list( request: Management.ListFormsRequestParameters = {}, - requestOptions?: Forms.RequestOptions, + requestOptions?: FormsClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -62,9 +64,10 @@ export class Forms { _queryParams["hydrate"] = hydrate; } } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -81,6 +84,7 @@ export class Forms { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -115,21 +119,7 @@ export class Forms { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /forms."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/forms"); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -137,10 +127,10 @@ export class Forms { return new core.Page({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.forms ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.forms ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.forms ?? [], - loadPage: (response) => { - _offset += response?.forms != null ? response.forms.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -148,7 +138,7 @@ export class Forms { /** * @param {Management.CreateFormRequestContent} request - * @param {Forms.RequestOptions} requestOptions - Request-specific configuration. + * @param {FormsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -162,18 +152,19 @@ export class Forms { */ public create( request: Management.CreateFormRequestContent, - requestOptions?: Forms.RequestOptions, + requestOptions?: FormsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateFormRequestContent, - requestOptions?: Forms.RequestOptions, + requestOptions?: FormsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -193,6 +184,7 @@ export class Forms { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.CreateFormResponseContent, rawResponse: _response.rawResponse }; @@ -217,27 +209,13 @@ export class Forms { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /forms."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/forms"); } /** * @param {string} id - The ID of the form to retrieve. * @param {Management.GetFormRequestParameters} request - * @param {Forms.RequestOptions} requestOptions - Request-specific configuration. + * @param {FormsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -251,7 +229,7 @@ export class Forms { public get( id: string, request: Management.GetFormRequestParameters = {}, - requestOptions?: Forms.RequestOptions, + requestOptions?: FormsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, request, requestOptions)); } @@ -259,7 +237,7 @@ export class Forms { private async __get( id: string, request: Management.GetFormRequestParameters = {}, - requestOptions?: Forms.RequestOptions, + requestOptions?: FormsClient.RequestOptions, ): Promise> { const { hydrate } = request; const _queryParams: Record = {}; @@ -271,9 +249,10 @@ export class Forms { } } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -290,6 +269,7 @@ export class Forms { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.GetFormResponseContent, rawResponse: _response.rawResponse }; @@ -316,26 +296,12 @@ export class Forms { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /forms/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/forms/{id}"); } /** * @param {string} id - The ID of the form to delete. - * @param {Forms.RequestOptions} requestOptions - Request-specific configuration. + * @param {FormsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -345,14 +311,18 @@ export class Forms { * @example * await client.forms.delete("id") */ - public delete(id: string, requestOptions?: Forms.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: FormsClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } - private async __delete(id: string, requestOptions?: Forms.RequestOptions): Promise> { + private async __delete( + id: string, + requestOptions?: FormsClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -369,6 +339,7 @@ export class Forms { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -393,27 +364,13 @@ export class Forms { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /forms/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/forms/{id}"); } /** * @param {string} id - The ID of the form to update. * @param {Management.UpdateFormRequestContent} request - * @param {Forms.RequestOptions} requestOptions - Request-specific configuration. + * @param {FormsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -425,7 +382,7 @@ export class Forms { public update( id: string, request: Management.UpdateFormRequestContent = {}, - requestOptions?: Forms.RequestOptions, + requestOptions?: FormsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -433,11 +390,12 @@ export class Forms { private async __update( id: string, request: Management.UpdateFormRequestContent = {}, - requestOptions?: Forms.RequestOptions, + requestOptions?: FormsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -457,6 +415,7 @@ export class Forms { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.UpdateFormResponseContent, rawResponse: _response.rawResponse }; @@ -479,24 +438,6 @@ export class Forms { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PATCH /forms/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/forms/{id}"); } } diff --git a/src/management/api/resources/guardian/client/Client.ts b/src/management/api/resources/guardian/client/Client.ts index e274f4255b..01bbd52636 100644 --- a/src/management/api/resources/guardian/client/Client.ts +++ b/src/management/api/resources/guardian/client/Client.ts @@ -1,35 +1,36 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; -import { Enrollments } from "../resources/enrollments/client/Client.js"; -import { Factors } from "../resources/factors/client/Client.js"; -import { Policies } from "../resources/policies/client/Client.js"; +import { EnrollmentsClient } from "../resources/enrollments/client/Client.js"; +import { FactorsClient } from "../resources/factors/client/Client.js"; +import { PoliciesClient } from "../resources/policies/client/Client.js"; -export declare namespace Guardian { - export interface Options extends BaseClientOptions {} +export declare namespace GuardianClient { + export type Options = BaseClientOptions; } -export class Guardian { - protected readonly _options: Guardian.Options; - protected _enrollments: Enrollments | undefined; - protected _factors: Factors | undefined; - protected _policies: Policies | undefined; +export class GuardianClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _enrollments: EnrollmentsClient | undefined; + protected _factors: FactorsClient | undefined; + protected _policies: PoliciesClient | undefined; - constructor(_options: Guardian.Options) { - this._options = _options; + constructor(options: GuardianClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get enrollments(): Enrollments { - return (this._enrollments ??= new Enrollments(this._options)); + public get enrollments(): EnrollmentsClient { + return (this._enrollments ??= new EnrollmentsClient(this._options)); } - public get factors(): Factors { - return (this._factors ??= new Factors(this._options)); + public get factors(): FactorsClient { + return (this._factors ??= new FactorsClient(this._options)); } - public get policies(): Policies { - return (this._policies ??= new Policies(this._options)); + public get policies(): PoliciesClient { + return (this._policies ??= new PoliciesClient(this._options)); } } diff --git a/src/management/api/resources/guardian/resources/enrollments/client/Client.ts b/src/management/api/resources/guardian/resources/enrollments/client/Client.ts index 4caf146844..7eefdf485f 100644 --- a/src/management/api/resources/guardian/resources/enrollments/client/Client.ts +++ b/src/management/api/resources/guardian/resources/enrollments/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Enrollments { - export interface Options extends BaseClientOptions {} +export declare namespace EnrollmentsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Enrollments { - protected readonly _options: Enrollments.Options; +export class EnrollmentsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Enrollments.Options) { - this._options = _options; + constructor(options: EnrollmentsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -27,7 +29,7 @@ export class Enrollments { * Note: Users cannot enroll in Email as a factor through custom enrollment tickets. * * @param {Management.CreateGuardianEnrollmentTicketRequestContent} request - * @param {Enrollments.RequestOptions} requestOptions - Request-specific configuration. + * @param {EnrollmentsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -41,18 +43,19 @@ export class Enrollments { */ public createTicket( request: Management.CreateGuardianEnrollmentTicketRequestContent, - requestOptions?: Enrollments.RequestOptions, + requestOptions?: EnrollmentsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__createTicket(request, requestOptions)); } private async __createTicket( request: Management.CreateGuardianEnrollmentTicketRequestContent, - requestOptions?: Enrollments.RequestOptions, + requestOptions?: EnrollmentsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -72,6 +75,7 @@ export class Enrollments { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -99,30 +103,14 @@ export class Enrollments { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /guardian/enrollments/ticket.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/guardian/enrollments/ticket"); } /** * Retrieve details, such as status and type, for a specific multi-factor authentication enrollment registered to a user account. * * @param {string} id - ID of the enrollment to be retrieve. - * @param {Enrollments.RequestOptions} requestOptions - Request-specific configuration. + * @param {EnrollmentsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -133,18 +121,19 @@ export class Enrollments { */ public get( id: string, - requestOptions?: Enrollments.RequestOptions, + requestOptions?: EnrollmentsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: Enrollments.RequestOptions, + requestOptions?: EnrollmentsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -161,6 +150,7 @@ export class Enrollments { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -186,30 +176,14 @@ export class Enrollments { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /guardian/enrollments/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/guardian/enrollments/{id}"); } /** * Remove a specific multi-factor authentication (MFA) enrollment from a user's account. This allows the user to re-enroll with MFA. For more information, review Reset User Multi-Factor Authentication and Recovery Codes. * * @param {string} id - ID of the enrollment to be deleted. - * @param {Enrollments.RequestOptions} requestOptions - Request-specific configuration. + * @param {EnrollmentsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -218,17 +192,18 @@ export class Enrollments { * @example * await client.guardian.enrollments.delete("id") */ - public delete(id: string, requestOptions?: Enrollments.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: EnrollmentsClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } private async __delete( id: string, - requestOptions?: Enrollments.RequestOptions, + requestOptions?: EnrollmentsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -245,6 +220,7 @@ export class Enrollments { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -267,26 +243,6 @@ export class Enrollments { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /guardian/enrollments/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/guardian/enrollments/{id}"); } } diff --git a/src/management/api/resources/guardian/resources/factors/client/Client.ts b/src/management/api/resources/guardian/resources/factors/client/Client.ts index 842552463f..d46130bc97 100644 --- a/src/management/api/resources/guardian/resources/factors/client/Client.ts +++ b/src/management/api/resources/guardian/resources/factors/client/Client.ts @@ -1,53 +1,55 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; -import { Phone } from "../resources/phone/client/Client.js"; -import { PushNotification } from "../resources/pushNotification/client/Client.js"; -import { Sms } from "../resources/sms/client/Client.js"; -import { Duo } from "../resources/duo/client/Client.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; +import { PhoneClient } from "../resources/phone/client/Client.js"; +import { PushNotificationClient } from "../resources/pushNotification/client/Client.js"; +import { SmsClient } from "../resources/sms/client/Client.js"; +import { DuoClient } from "../resources/duo/client/Client.js"; -export declare namespace Factors { - export interface Options extends BaseClientOptions {} +export declare namespace FactorsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Factors { - protected readonly _options: Factors.Options; - protected _phone: Phone | undefined; - protected _pushNotification: PushNotification | undefined; - protected _sms: Sms | undefined; - protected _duo: Duo | undefined; +export class FactorsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _phone: PhoneClient | undefined; + protected _pushNotification: PushNotificationClient | undefined; + protected _sms: SmsClient | undefined; + protected _duo: DuoClient | undefined; - constructor(_options: Factors.Options) { - this._options = _options; + constructor(options: FactorsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get phone(): Phone { - return (this._phone ??= new Phone(this._options)); + public get phone(): PhoneClient { + return (this._phone ??= new PhoneClient(this._options)); } - public get pushNotification(): PushNotification { - return (this._pushNotification ??= new PushNotification(this._options)); + public get pushNotification(): PushNotificationClient { + return (this._pushNotification ??= new PushNotificationClient(this._options)); } - public get sms(): Sms { - return (this._sms ??= new Sms(this._options)); + public get sms(): SmsClient { + return (this._sms ??= new SmsClient(this._options)); } - public get duo(): Duo { - return (this._duo ??= new Duo(this._options)); + public get duo(): DuoClient { + return (this._duo ??= new DuoClient(this._options)); } /** * Retrieve details of all multi-factor authentication factors associated with your tenant. * - * @param {Factors.RequestOptions} requestOptions - Request-specific configuration. + * @param {FactorsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -56,16 +58,17 @@ export class Factors { * @example * await client.guardian.factors.list() */ - public list(requestOptions?: Factors.RequestOptions): core.HttpResponsePromise { + public list(requestOptions?: FactorsClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__list(requestOptions)); } private async __list( - requestOptions?: Factors.RequestOptions, + requestOptions?: FactorsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -82,6 +85,7 @@ export class Factors { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.GuardianFactor[], rawResponse: _response.rawResponse }; @@ -104,21 +108,7 @@ export class Factors { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /guardian/factors."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/guardian/factors"); } /** @@ -126,7 +116,7 @@ export class Factors { * * @param {Management.GuardianFactorNameEnum} name - Factor name. Can be `sms`, `push-notification`, `email`, `duo` `otp` `webauthn-roaming`, `webauthn-platform`, or `recovery-code`. * @param {Management.SetGuardianFactorRequestContent} request - * @param {Factors.RequestOptions} requestOptions - Request-specific configuration. + * @param {FactorsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -140,7 +130,7 @@ export class Factors { public set( name: Management.GuardianFactorNameEnum, request: Management.SetGuardianFactorRequestContent, - requestOptions?: Factors.RequestOptions, + requestOptions?: FactorsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__set(name, request, requestOptions)); } @@ -148,11 +138,12 @@ export class Factors { private async __set( name: Management.GuardianFactorNameEnum, request: Management.SetGuardianFactorRequestContent, - requestOptions?: Factors.RequestOptions, + requestOptions?: FactorsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -172,6 +163,7 @@ export class Factors { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -197,24 +189,6 @@ export class Factors { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PUT /guardian/factors/{name}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PUT", "/guardian/factors/{name}"); } } diff --git a/src/management/api/resources/guardian/resources/factors/resources/duo/client/Client.ts b/src/management/api/resources/guardian/resources/factors/resources/duo/client/Client.ts index 374f9e8d23..715f20a554 100644 --- a/src/management/api/resources/guardian/resources/factors/resources/duo/client/Client.ts +++ b/src/management/api/resources/guardian/resources/factors/resources/duo/client/Client.ts @@ -1,23 +1,27 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions } from "../../../../../../../../BaseClient.js"; +import { + type NormalizedClientOptionsWithAuth, + normalizeClientOptionsWithAuth, +} from "../../../../../../../../BaseClient.js"; import * as environments from "../../../../../../../../environments.js"; import * as core from "../../../../../../../../core/index.js"; -import { Settings } from "../resources/settings/client/Client.js"; +import { SettingsClient } from "../resources/settings/client/Client.js"; -export declare namespace Duo { - export interface Options extends BaseClientOptions {} +export declare namespace DuoClient { + export type Options = BaseClientOptions; } -export class Duo { - protected readonly _options: Duo.Options; - protected _settings: Settings | undefined; +export class DuoClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _settings: SettingsClient | undefined; - constructor(_options: Duo.Options) { - this._options = _options; + constructor(options: DuoClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get settings(): Settings { - return (this._settings ??= new Settings(this._options)); + public get settings(): SettingsClient { + return (this._settings ??= new SettingsClient(this._options)); } } diff --git a/src/management/api/resources/guardian/resources/factors/resources/duo/resources/settings/client/Client.ts b/src/management/api/resources/guardian/resources/factors/resources/duo/resources/settings/client/Client.ts index f3d7a4825a..8d84b0b023 100644 --- a/src/management/api/resources/guardian/resources/factors/resources/duo/resources/settings/client/Client.ts +++ b/src/management/api/resources/guardian/resources/factors/resources/duo/resources/settings/client/Client.ts @@ -1,29 +1,34 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../../../../../BaseClient.js"; +import { + type NormalizedClientOptionsWithAuth, + normalizeClientOptionsWithAuth, +} from "../../../../../../../../../../BaseClient.js"; import * as environments from "../../../../../../../../../../environments.js"; import * as core from "../../../../../../../../../../core/index.js"; import * as Management from "../../../../../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../../../../../core/headers.js"; import * as errors from "../../../../../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Settings { - export interface Options extends BaseClientOptions {} +export declare namespace SettingsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Settings { - protected readonly _options: Settings.Options; +export class SettingsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Settings.Options) { - this._options = _options; + constructor(options: SettingsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieves the DUO account and factor configuration. * - * @param {Settings.RequestOptions} requestOptions - Request-specific configuration. + * @param {SettingsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -33,17 +38,18 @@ export class Settings { * await client.guardian.factors.duo.settings.get() */ public get( - requestOptions?: Settings.RequestOptions, + requestOptions?: SettingsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(requestOptions)); } private async __get( - requestOptions?: Settings.RequestOptions, + requestOptions?: SettingsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -60,6 +66,7 @@ export class Settings { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -85,30 +92,19 @@ export class Settings { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /guardian/factors/duo/settings.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/guardian/factors/duo/settings", + ); } /** * Set the DUO account configuration and other properties specific to this factor. * * @param {Management.SetGuardianFactorDuoSettingsRequestContent} request - * @param {Settings.RequestOptions} requestOptions - Request-specific configuration. + * @param {SettingsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -119,18 +115,19 @@ export class Settings { */ public set( request: Management.SetGuardianFactorDuoSettingsRequestContent = {}, - requestOptions?: Settings.RequestOptions, + requestOptions?: SettingsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__set(request, requestOptions)); } private async __set( request: Management.SetGuardianFactorDuoSettingsRequestContent = {}, - requestOptions?: Settings.RequestOptions, + requestOptions?: SettingsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -150,6 +147,7 @@ export class Settings { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -175,28 +173,17 @@ export class Settings { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PUT /guardian/factors/duo/settings.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/guardian/factors/duo/settings", + ); } /** * @param {Management.UpdateGuardianFactorDuoSettingsRequestContent} request - * @param {Settings.RequestOptions} requestOptions - Request-specific configuration. + * @param {SettingsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -207,18 +194,19 @@ export class Settings { */ public update( request: Management.UpdateGuardianFactorDuoSettingsRequestContent = {}, - requestOptions?: Settings.RequestOptions, + requestOptions?: SettingsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(request, requestOptions)); } private async __update( request: Management.UpdateGuardianFactorDuoSettingsRequestContent = {}, - requestOptions?: Settings.RequestOptions, + requestOptions?: SettingsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -238,6 +226,7 @@ export class Settings { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -263,26 +252,11 @@ export class Settings { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /guardian/factors/duo/settings.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/guardian/factors/duo/settings", + ); } } diff --git a/src/management/api/resources/guardian/resources/factors/resources/phone/client/Client.ts b/src/management/api/resources/guardian/resources/factors/resources/phone/client/Client.ts index 17f07c89c6..5ca71aec0b 100644 --- a/src/management/api/resources/guardian/resources/factors/resources/phone/client/Client.ts +++ b/src/management/api/resources/guardian/resources/factors/resources/phone/client/Client.ts @@ -1,29 +1,34 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../../../BaseClient.js"; +import { + type NormalizedClientOptionsWithAuth, + normalizeClientOptionsWithAuth, +} from "../../../../../../../../BaseClient.js"; import * as environments from "../../../../../../../../environments.js"; import * as core from "../../../../../../../../core/index.js"; import * as Management from "../../../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../../../core/headers.js"; import * as errors from "../../../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Phone { - export interface Options extends BaseClientOptions {} +export declare namespace PhoneClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Phone { - protected readonly _options: Phone.Options; +export class PhoneClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Phone.Options) { - this._options = _options; + constructor(options: PhoneClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve list of phone-type MFA factors (i.e., sms and voice) that are enabled for your tenant. * - * @param {Phone.RequestOptions} requestOptions - Request-specific configuration. + * @param {PhoneClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -33,17 +38,18 @@ export class Phone { * await client.guardian.factors.phone.getMessageTypes() */ public getMessageTypes( - requestOptions?: Phone.RequestOptions, + requestOptions?: PhoneClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__getMessageTypes(requestOptions)); } private async __getMessageTypes( - requestOptions?: Phone.RequestOptions, + requestOptions?: PhoneClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -60,6 +66,7 @@ export class Phone { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -85,30 +92,19 @@ export class Phone { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /guardian/factors/phone/message-types.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/guardian/factors/phone/message-types", + ); } /** * Replace the list of phone-type MFA factors (i.e., sms and voice) that are enabled for your tenant. * * @param {Management.SetGuardianFactorPhoneMessageTypesRequestContent} request - * @param {Phone.RequestOptions} requestOptions - Request-specific configuration. + * @param {PhoneClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -122,18 +118,19 @@ export class Phone { */ public setMessageTypes( request: Management.SetGuardianFactorPhoneMessageTypesRequestContent, - requestOptions?: Phone.RequestOptions, + requestOptions?: PhoneClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__setMessageTypes(request, requestOptions)); } private async __setMessageTypes( request: Management.SetGuardianFactorPhoneMessageTypesRequestContent, - requestOptions?: Phone.RequestOptions, + requestOptions?: PhoneClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -153,6 +150,7 @@ export class Phone { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -180,29 +178,18 @@ export class Phone { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PUT /guardian/factors/phone/message-types.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/guardian/factors/phone/message-types", + ); } /** * Retrieve configuration details for a Twilio phone provider that has been set up in your tenant. To learn more, review Configure SMS and Voice Notifications for MFA. * - * @param {Phone.RequestOptions} requestOptions - Request-specific configuration. + * @param {PhoneClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -212,17 +199,18 @@ export class Phone { * await client.guardian.factors.phone.getTwilioProvider() */ public getTwilioProvider( - requestOptions?: Phone.RequestOptions, + requestOptions?: PhoneClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__getTwilioProvider(requestOptions)); } private async __getTwilioProvider( - requestOptions?: Phone.RequestOptions, + requestOptions?: PhoneClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -239,6 +227,7 @@ export class Phone { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -264,30 +253,19 @@ export class Phone { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /guardian/factors/phone/providers/twilio.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/guardian/factors/phone/providers/twilio", + ); } /** * Update the configuration of a Twilio phone provider that has been set up in your tenant. To learn more, review Configure SMS and Voice Notifications for MFA. * * @param {Management.SetGuardianFactorsProviderPhoneTwilioRequestContent} request - * @param {Phone.RequestOptions} requestOptions - Request-specific configuration. + * @param {PhoneClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -298,18 +276,19 @@ export class Phone { */ public setTwilioProvider( request: Management.SetGuardianFactorsProviderPhoneTwilioRequestContent = {}, - requestOptions?: Phone.RequestOptions, + requestOptions?: PhoneClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__setTwilioProvider(request, requestOptions)); } private async __setTwilioProvider( request: Management.SetGuardianFactorsProviderPhoneTwilioRequestContent = {}, - requestOptions?: Phone.RequestOptions, + requestOptions?: PhoneClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -329,6 +308,7 @@ export class Phone { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -354,29 +334,18 @@ export class Phone { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PUT /guardian/factors/phone/providers/twilio.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/guardian/factors/phone/providers/twilio", + ); } /** * Retrieve details of the multi-factor authentication phone provider configured for your tenant. * - * @param {Phone.RequestOptions} requestOptions - Request-specific configuration. + * @param {PhoneClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -386,17 +355,18 @@ export class Phone { * await client.guardian.factors.phone.getSelectedProvider() */ public getSelectedProvider( - requestOptions?: Phone.RequestOptions, + requestOptions?: PhoneClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__getSelectedProvider(requestOptions)); } private async __getSelectedProvider( - requestOptions?: Phone.RequestOptions, + requestOptions?: PhoneClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -413,6 +383,7 @@ export class Phone { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -438,28 +409,17 @@ export class Phone { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /guardian/factors/phone/selected-provider.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/guardian/factors/phone/selected-provider", + ); } /** * @param {Management.SetGuardianFactorsProviderPhoneRequestContent} request - * @param {Phone.RequestOptions} requestOptions - Request-specific configuration. + * @param {PhoneClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -472,18 +432,19 @@ export class Phone { */ public setProvider( request: Management.SetGuardianFactorsProviderPhoneRequestContent, - requestOptions?: Phone.RequestOptions, + requestOptions?: PhoneClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__setProvider(request, requestOptions)); } private async __setProvider( request: Management.SetGuardianFactorsProviderPhoneRequestContent, - requestOptions?: Phone.RequestOptions, + requestOptions?: PhoneClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -503,6 +464,7 @@ export class Phone { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -528,29 +490,18 @@ export class Phone { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PUT /guardian/factors/phone/selected-provider.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/guardian/factors/phone/selected-provider", + ); } /** * Retrieve details of the multi-factor authentication enrollment and verification templates for phone-type factors available in your tenant. * - * @param {Phone.RequestOptions} requestOptions - Request-specific configuration. + * @param {PhoneClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -560,17 +511,18 @@ export class Phone { * await client.guardian.factors.phone.getTemplates() */ public getTemplates( - requestOptions?: Phone.RequestOptions, + requestOptions?: PhoneClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__getTemplates(requestOptions)); } private async __getTemplates( - requestOptions?: Phone.RequestOptions, + requestOptions?: PhoneClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -587,6 +539,7 @@ export class Phone { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -612,30 +565,19 @@ export class Phone { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /guardian/factors/phone/templates.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/guardian/factors/phone/templates", + ); } /** * Customize the messages sent to complete phone enrollment and verification (subscription required). * * @param {Management.SetGuardianFactorPhoneTemplatesRequestContent} request - * @param {Phone.RequestOptions} requestOptions - Request-specific configuration. + * @param {PhoneClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -649,18 +591,19 @@ export class Phone { */ public setTemplates( request: Management.SetGuardianFactorPhoneTemplatesRequestContent, - requestOptions?: Phone.RequestOptions, + requestOptions?: PhoneClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__setTemplates(request, requestOptions)); } private async __setTemplates( request: Management.SetGuardianFactorPhoneTemplatesRequestContent, - requestOptions?: Phone.RequestOptions, + requestOptions?: PhoneClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -680,6 +623,7 @@ export class Phone { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -705,26 +649,11 @@ export class Phone { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PUT /guardian/factors/phone/templates.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/guardian/factors/phone/templates", + ); } } diff --git a/src/management/api/resources/guardian/resources/factors/resources/pushNotification/client/Client.ts b/src/management/api/resources/guardian/resources/factors/resources/pushNotification/client/Client.ts index edb52e64aa..2428abf6df 100644 --- a/src/management/api/resources/guardian/resources/factors/resources/pushNotification/client/Client.ts +++ b/src/management/api/resources/guardian/resources/factors/resources/pushNotification/client/Client.ts @@ -1,29 +1,34 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../../../BaseClient.js"; +import { + type NormalizedClientOptionsWithAuth, + normalizeClientOptionsWithAuth, +} from "../../../../../../../../BaseClient.js"; import * as environments from "../../../../../../../../environments.js"; import * as core from "../../../../../../../../core/index.js"; import * as Management from "../../../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../../../core/headers.js"; import * as errors from "../../../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace PushNotification { - export interface Options extends BaseClientOptions {} +export declare namespace PushNotificationClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class PushNotification { - protected readonly _options: PushNotification.Options; +export class PushNotificationClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: PushNotification.Options) { - this._options = _options; + constructor(options: PushNotificationClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve configuration details for the multi-factor authentication APNS provider associated with your tenant. * - * @param {PushNotification.RequestOptions} requestOptions - Request-specific configuration. + * @param {PushNotificationClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -33,17 +38,18 @@ export class PushNotification { * await client.guardian.factors.pushNotification.getApnsProvider() */ public getApnsProvider( - requestOptions?: PushNotification.RequestOptions, + requestOptions?: PushNotificationClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__getApnsProvider(requestOptions)); } private async __getApnsProvider( - requestOptions?: PushNotification.RequestOptions, + requestOptions?: PushNotificationClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -60,6 +66,7 @@ export class PushNotification { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -85,30 +92,19 @@ export class PushNotification { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /guardian/factors/push-notification/providers/apns.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/guardian/factors/push-notification/providers/apns", + ); } /** * Modify configuration details of the multi-factor authentication APNS provider associated with your tenant. * * @param {Management.SetGuardianFactorsProviderPushNotificationApnsRequestContent} request - * @param {PushNotification.RequestOptions} requestOptions - Request-specific configuration. + * @param {PushNotificationClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -119,18 +115,19 @@ export class PushNotification { */ public setApnsProvider( request: Management.SetGuardianFactorsProviderPushNotificationApnsRequestContent, - requestOptions?: PushNotification.RequestOptions, + requestOptions?: PushNotificationClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__setApnsProvider(request, requestOptions)); } private async __setApnsProvider( request: Management.SetGuardianFactorsProviderPushNotificationApnsRequestContent, - requestOptions?: PushNotification.RequestOptions, + requestOptions?: PushNotificationClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -150,6 +147,7 @@ export class PushNotification { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -175,30 +173,19 @@ export class PushNotification { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /guardian/factors/push-notification/providers/apns.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/guardian/factors/push-notification/providers/apns", + ); } /** * Modify configuration details of the multi-factor authentication FCM provider associated with your tenant. * * @param {Management.SetGuardianFactorsProviderPushNotificationFcmRequestContent} request - * @param {PushNotification.RequestOptions} requestOptions - Request-specific configuration. + * @param {PushNotificationClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -209,18 +196,19 @@ export class PushNotification { */ public setFcmProvider( request: Management.SetGuardianFactorsProviderPushNotificationFcmRequestContent, - requestOptions?: PushNotification.RequestOptions, + requestOptions?: PushNotificationClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__setFcmProvider(request, requestOptions)); } private async __setFcmProvider( request: Management.SetGuardianFactorsProviderPushNotificationFcmRequestContent, - requestOptions?: PushNotification.RequestOptions, + requestOptions?: PushNotificationClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -240,6 +228,7 @@ export class PushNotification { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -265,30 +254,19 @@ export class PushNotification { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /guardian/factors/push-notification/providers/fcm.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/guardian/factors/push-notification/providers/fcm", + ); } /** * Modify configuration details of the multi-factor authentication FCMV1 provider associated with your tenant. * * @param {Management.SetGuardianFactorsProviderPushNotificationFcmv1RequestContent} request - * @param {PushNotification.RequestOptions} requestOptions - Request-specific configuration. + * @param {PushNotificationClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -299,18 +277,19 @@ export class PushNotification { */ public setFcmv1Provider( request: Management.SetGuardianFactorsProviderPushNotificationFcmv1RequestContent, - requestOptions?: PushNotification.RequestOptions, + requestOptions?: PushNotificationClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__setFcmv1Provider(request, requestOptions)); } private async __setFcmv1Provider( request: Management.SetGuardianFactorsProviderPushNotificationFcmv1RequestContent, - requestOptions?: PushNotification.RequestOptions, + requestOptions?: PushNotificationClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -330,6 +309,7 @@ export class PushNotification { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -355,29 +335,18 @@ export class PushNotification { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /guardian/factors/push-notification/providers/fcmv1.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/guardian/factors/push-notification/providers/fcmv1", + ); } /** * Retrieve configuration details for an AWS SNS push notification provider that has been enabled for MFA. To learn more, review Configure Push Notifications for MFA. * - * @param {PushNotification.RequestOptions} requestOptions - Request-specific configuration. + * @param {PushNotificationClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -387,17 +356,18 @@ export class PushNotification { * await client.guardian.factors.pushNotification.getSnsProvider() */ public getSnsProvider( - requestOptions?: PushNotification.RequestOptions, + requestOptions?: PushNotificationClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__getSnsProvider(requestOptions)); } private async __getSnsProvider( - requestOptions?: PushNotification.RequestOptions, + requestOptions?: PushNotificationClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -414,6 +384,7 @@ export class PushNotification { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -439,30 +410,19 @@ export class PushNotification { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /guardian/factors/push-notification/providers/sns.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/guardian/factors/push-notification/providers/sns", + ); } /** * Configure the AWS SNS push notification provider configuration (subscription required). * * @param {Management.SetGuardianFactorsProviderPushNotificationSnsRequestContent} request - * @param {PushNotification.RequestOptions} requestOptions - Request-specific configuration. + * @param {PushNotificationClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -473,18 +433,19 @@ export class PushNotification { */ public setSnsProvider( request: Management.SetGuardianFactorsProviderPushNotificationSnsRequestContent = {}, - requestOptions?: PushNotification.RequestOptions, + requestOptions?: PushNotificationClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__setSnsProvider(request, requestOptions)); } private async __setSnsProvider( request: Management.SetGuardianFactorsProviderPushNotificationSnsRequestContent = {}, - requestOptions?: PushNotification.RequestOptions, + requestOptions?: PushNotificationClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -504,6 +465,7 @@ export class PushNotification { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -529,30 +491,19 @@ export class PushNotification { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PUT /guardian/factors/push-notification/providers/sns.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/guardian/factors/push-notification/providers/sns", + ); } /** * Configure the AWS SNS push notification provider configuration (subscription required). * * @param {Management.UpdateGuardianFactorsProviderPushNotificationSnsRequestContent} request - * @param {PushNotification.RequestOptions} requestOptions - Request-specific configuration. + * @param {PushNotificationClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -563,18 +514,19 @@ export class PushNotification { */ public updateSnsProvider( request: Management.UpdateGuardianFactorsProviderPushNotificationSnsRequestContent = {}, - requestOptions?: PushNotification.RequestOptions, + requestOptions?: PushNotificationClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__updateSnsProvider(request, requestOptions)); } private async __updateSnsProvider( request: Management.UpdateGuardianFactorsProviderPushNotificationSnsRequestContent = {}, - requestOptions?: PushNotification.RequestOptions, + requestOptions?: PushNotificationClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -594,6 +546,7 @@ export class PushNotification { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -619,29 +572,18 @@ export class PushNotification { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /guardian/factors/push-notification/providers/sns.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/guardian/factors/push-notification/providers/sns", + ); } /** * Modify the push notification provider configured for your tenant. For more information, review Configure Push Notifications for MFA. * - * @param {PushNotification.RequestOptions} requestOptions - Request-specific configuration. + * @param {PushNotificationClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -651,17 +593,18 @@ export class PushNotification { * await client.guardian.factors.pushNotification.getSelectedProvider() */ public getSelectedProvider( - requestOptions?: PushNotification.RequestOptions, + requestOptions?: PushNotificationClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__getSelectedProvider(requestOptions)); } private async __getSelectedProvider( - requestOptions?: PushNotification.RequestOptions, + requestOptions?: PushNotificationClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -678,6 +621,7 @@ export class PushNotification { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -703,30 +647,19 @@ export class PushNotification { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /guardian/factors/push-notification/selected-provider.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/guardian/factors/push-notification/selected-provider", + ); } /** * Modify the push notification provider configured for your tenant. For more information, review Configure Push Notifications for MFA. * * @param {Management.SetGuardianFactorsProviderPushNotificationRequestContent} request - * @param {PushNotification.RequestOptions} requestOptions - Request-specific configuration. + * @param {PushNotificationClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -739,18 +672,19 @@ export class PushNotification { */ public setProvider( request: Management.SetGuardianFactorsProviderPushNotificationRequestContent, - requestOptions?: PushNotification.RequestOptions, + requestOptions?: PushNotificationClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__setProvider(request, requestOptions)); } private async __setProvider( request: Management.SetGuardianFactorsProviderPushNotificationRequestContent, - requestOptions?: PushNotification.RequestOptions, + requestOptions?: PushNotificationClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -770,6 +704,7 @@ export class PushNotification { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -795,26 +730,11 @@ export class PushNotification { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PUT /guardian/factors/push-notification/selected-provider.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/guardian/factors/push-notification/selected-provider", + ); } } diff --git a/src/management/api/resources/guardian/resources/factors/resources/sms/client/Client.ts b/src/management/api/resources/guardian/resources/factors/resources/sms/client/Client.ts index 1fc79cc7bb..2032d04f4a 100644 --- a/src/management/api/resources/guardian/resources/factors/resources/sms/client/Client.ts +++ b/src/management/api/resources/guardian/resources/factors/resources/sms/client/Client.ts @@ -1,23 +1,28 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../../../BaseClient.js"; +import { + type NormalizedClientOptionsWithAuth, + normalizeClientOptionsWithAuth, +} from "../../../../../../../../BaseClient.js"; import * as environments from "../../../../../../../../environments.js"; import * as core from "../../../../../../../../core/index.js"; import * as Management from "../../../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../../../core/headers.js"; import * as errors from "../../../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Sms { - export interface Options extends BaseClientOptions {} +export declare namespace SmsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Sms { - protected readonly _options: Sms.Options; +export class SmsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Sms.Options) { - this._options = _options; + constructor(options: SmsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -25,7 +30,7 @@ export class Sms { * * A new endpoint is available to retrieve the Twilio configuration related to phone factors (phone Twilio configuration). It has the same payload as this one. Please use it instead. * - * @param {Sms.RequestOptions} requestOptions - Request-specific configuration. + * @param {SmsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -35,17 +40,18 @@ export class Sms { * await client.guardian.factors.sms.getTwilioProvider() */ public getTwilioProvider( - requestOptions?: Sms.RequestOptions, + requestOptions?: SmsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__getTwilioProvider(requestOptions)); } private async __getTwilioProvider( - requestOptions?: Sms.RequestOptions, + requestOptions?: SmsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -62,6 +68,7 @@ export class Sms { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -87,23 +94,12 @@ export class Sms { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /guardian/factors/sms/providers/twilio.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/guardian/factors/sms/providers/twilio", + ); } /** @@ -112,7 +108,7 @@ export class Sms { * Previous functionality: Update the Twilio SMS provider configuration. * * @param {Management.SetGuardianFactorsProviderSmsTwilioRequestContent} request - * @param {Sms.RequestOptions} requestOptions - Request-specific configuration. + * @param {SmsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -123,18 +119,19 @@ export class Sms { */ public setTwilioProvider( request: Management.SetGuardianFactorsProviderSmsTwilioRequestContent = {}, - requestOptions?: Sms.RequestOptions, + requestOptions?: SmsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__setTwilioProvider(request, requestOptions)); } private async __setTwilioProvider( request: Management.SetGuardianFactorsProviderSmsTwilioRequestContent = {}, - requestOptions?: Sms.RequestOptions, + requestOptions?: SmsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -154,6 +151,7 @@ export class Sms { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -179,23 +177,12 @@ export class Sms { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PUT /guardian/factors/sms/providers/twilio.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/guardian/factors/sms/providers/twilio", + ); } /** @@ -203,7 +190,7 @@ export class Sms { * * Previous functionality: Retrieve details for the multi-factor authentication SMS provider configured for your tenant. * - * @param {Sms.RequestOptions} requestOptions - Request-specific configuration. + * @param {SmsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -213,17 +200,18 @@ export class Sms { * await client.guardian.factors.sms.getSelectedProvider() */ public getSelectedProvider( - requestOptions?: Sms.RequestOptions, + requestOptions?: SmsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__getSelectedProvider(requestOptions)); } private async __getSelectedProvider( - requestOptions?: Sms.RequestOptions, + requestOptions?: SmsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -240,6 +228,7 @@ export class Sms { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -265,23 +254,12 @@ export class Sms { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /guardian/factors/sms/selected-provider.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/guardian/factors/sms/selected-provider", + ); } /** @@ -290,7 +268,7 @@ export class Sms { * Previous functionality: Update the multi-factor authentication SMS provider configuration in your tenant. * * @param {Management.SetGuardianFactorsProviderSmsRequestContent} request - * @param {Sms.RequestOptions} requestOptions - Request-specific configuration. + * @param {SmsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -303,18 +281,19 @@ export class Sms { */ public setProvider( request: Management.SetGuardianFactorsProviderSmsRequestContent, - requestOptions?: Sms.RequestOptions, + requestOptions?: SmsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__setProvider(request, requestOptions)); } private async __setProvider( request: Management.SetGuardianFactorsProviderSmsRequestContent, - requestOptions?: Sms.RequestOptions, + requestOptions?: SmsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -334,6 +313,7 @@ export class Sms { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -359,23 +339,12 @@ export class Sms { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PUT /guardian/factors/sms/selected-provider.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/guardian/factors/sms/selected-provider", + ); } /** @@ -383,7 +352,7 @@ export class Sms { * * Previous function: Retrieve details of SMS enrollment and verification templates configured for your tenant. * - * @param {Sms.RequestOptions} requestOptions - Request-specific configuration. + * @param {SmsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -393,17 +362,18 @@ export class Sms { * await client.guardian.factors.sms.getTemplates() */ public getTemplates( - requestOptions?: Sms.RequestOptions, + requestOptions?: SmsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__getTemplates(requestOptions)); } private async __getTemplates( - requestOptions?: Sms.RequestOptions, + requestOptions?: SmsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -420,6 +390,7 @@ export class Sms { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -445,23 +416,12 @@ export class Sms { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /guardian/factors/sms/templates.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/guardian/factors/sms/templates", + ); } /** @@ -470,7 +430,7 @@ export class Sms { * Previous functionality: Customize the messages sent to complete SMS enrollment and verification. * * @param {Management.SetGuardianFactorSmsTemplatesRequestContent} request - * @param {Sms.RequestOptions} requestOptions - Request-specific configuration. + * @param {SmsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -484,18 +444,19 @@ export class Sms { */ public setTemplates( request: Management.SetGuardianFactorSmsTemplatesRequestContent, - requestOptions?: Sms.RequestOptions, + requestOptions?: SmsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__setTemplates(request, requestOptions)); } private async __setTemplates( request: Management.SetGuardianFactorSmsTemplatesRequestContent, - requestOptions?: Sms.RequestOptions, + requestOptions?: SmsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -515,6 +476,7 @@ export class Sms { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -540,26 +502,11 @@ export class Sms { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PUT /guardian/factors/sms/templates.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/guardian/factors/sms/templates", + ); } } diff --git a/src/management/api/resources/guardian/resources/policies/client/Client.ts b/src/management/api/resources/guardian/resources/policies/client/Client.ts index c19d03e995..2da7a1fb5b 100644 --- a/src/management/api/resources/guardian/resources/policies/client/Client.ts +++ b/src/management/api/resources/guardian/resources/policies/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Policies { - export interface Options extends BaseClientOptions {} +export declare namespace PoliciesClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Policies { - protected readonly _options: Policies.Options; +export class PoliciesClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Policies.Options) { - this._options = _options; + constructor(options: PoliciesClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -31,7 +33,7 @@ export class Policies { * * Note: The confidence-score policy is part of the Adaptive MFA feature. Adaptive MFA requires an add-on for the Enterprise plan; review Auth0 Pricing for more details. * - * @param {Policies.RequestOptions} requestOptions - Request-specific configuration. + * @param {PoliciesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -41,17 +43,18 @@ export class Policies { * await client.guardian.policies.list() */ public list( - requestOptions?: Policies.RequestOptions, + requestOptions?: PoliciesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__list(requestOptions)); } private async __list( - requestOptions?: Policies.RequestOptions, + requestOptions?: PoliciesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -68,6 +71,7 @@ export class Policies { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -93,21 +97,7 @@ export class Policies { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /guardian/policies."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/guardian/policies"); } /** @@ -122,7 +112,7 @@ export class Policies { * Note: The confidence-score policy is part of the Adaptive MFA feature. Adaptive MFA requires an add-on for the Enterprise plan; review Auth0 Pricing for more details. * * @param {Management.SetGuardianPoliciesRequestContent} request - * @param {Policies.RequestOptions} requestOptions - Request-specific configuration. + * @param {PoliciesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -133,18 +123,19 @@ export class Policies { */ public set( request: Management.SetGuardianPoliciesRequestContent, - requestOptions?: Policies.RequestOptions, + requestOptions?: PoliciesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__set(request, requestOptions)); } private async __set( request: Management.SetGuardianPoliciesRequestContent, - requestOptions?: Policies.RequestOptions, + requestOptions?: PoliciesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -164,6 +155,7 @@ export class Policies { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -189,24 +181,6 @@ export class Policies { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PUT /guardian/policies."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PUT", "/guardian/policies"); } } diff --git a/src/management/api/resources/hooks/client/Client.ts b/src/management/api/resources/hooks/client/Client.ts index bd5a91f2bb..0705bb3315 100644 --- a/src/management/api/resources/hooks/client/Client.ts +++ b/src/management/api/resources/hooks/client/Client.ts @@ -1,36 +1,38 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; -import { Secrets } from "../resources/secrets/client/Client.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; +import { SecretsClient } from "../resources/secrets/client/Client.js"; -export declare namespace Hooks { - export interface Options extends BaseClientOptions {} +export declare namespace HooksClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Hooks { - protected readonly _options: Hooks.Options; - protected _secrets: Secrets | undefined; +export class HooksClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _secrets: SecretsClient | undefined; - constructor(_options: Hooks.Options) { - this._options = _options; + constructor(options: HooksClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get secrets(): Secrets { - return (this._secrets ??= new Secrets(this._options)); + public get secrets(): SecretsClient { + return (this._secrets ??= new SecretsClient(this._options)); } /** * Retrieve all hooks. Accepts a list of fields to include or exclude in the result. * * @param {Management.ListHooksRequestParameters} request - * @param {Hooks.RequestOptions} requestOptions - Request-specific configuration. + * @param {HooksClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -50,7 +52,7 @@ export class Hooks { */ public async list( request: Management.ListHooksRequestParameters = {}, - requestOptions?: Hooks.RequestOptions, + requestOptions?: HooksClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -83,9 +85,10 @@ export class Hooks { if (triggerId !== undefined) { _queryParams["triggerId"] = triggerId; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -102,6 +105,7 @@ export class Hooks { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -138,21 +142,7 @@ export class Hooks { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /hooks."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/hooks"); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -160,10 +150,10 @@ export class Hooks { return new core.Page({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.hooks ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.hooks ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.hooks ?? [], - loadPage: (response) => { - _offset += response?.hooks != null ? response.hooks.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -173,7 +163,7 @@ export class Hooks { * Create a new hook. * * @param {Management.CreateHookRequestContent} request - * @param {Hooks.RequestOptions} requestOptions - Request-specific configuration. + * @param {HooksClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -190,18 +180,19 @@ export class Hooks { */ public create( request: Management.CreateHookRequestContent, - requestOptions?: Hooks.RequestOptions, + requestOptions?: HooksClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateHookRequestContent, - requestOptions?: Hooks.RequestOptions, + requestOptions?: HooksClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -221,6 +212,7 @@ export class Hooks { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.CreateHookResponseContent, rawResponse: _response.rawResponse }; @@ -247,21 +239,7 @@ export class Hooks { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /hooks."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/hooks"); } /** @@ -269,7 +247,7 @@ export class Hooks { * * @param {string} id - ID of the hook to retrieve. * @param {Management.GetHookRequestParameters} request - * @param {Hooks.RequestOptions} requestOptions - Request-specific configuration. + * @param {HooksClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -285,7 +263,7 @@ export class Hooks { public get( id: string, request: Management.GetHookRequestParameters = {}, - requestOptions?: Hooks.RequestOptions, + requestOptions?: HooksClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, request, requestOptions)); } @@ -293,7 +271,7 @@ export class Hooks { private async __get( id: string, request: Management.GetHookRequestParameters = {}, - requestOptions?: Hooks.RequestOptions, + requestOptions?: HooksClient.RequestOptions, ): Promise> { const { fields } = request; const _queryParams: Record = {}; @@ -301,9 +279,10 @@ export class Hooks { _queryParams["fields"] = fields; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -320,6 +299,7 @@ export class Hooks { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.GetHookResponseContent, rawResponse: _response.rawResponse }; @@ -346,28 +326,14 @@ export class Hooks { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /hooks/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/hooks/{id}"); } /** * Delete a hook. * * @param {string} id - ID of the hook to delete. - * @param {Hooks.RequestOptions} requestOptions - Request-specific configuration. + * @param {HooksClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -377,14 +343,18 @@ export class Hooks { * @example * await client.hooks.delete("id") */ - public delete(id: string, requestOptions?: Hooks.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: HooksClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } - private async __delete(id: string, requestOptions?: Hooks.RequestOptions): Promise> { + private async __delete( + id: string, + requestOptions?: HooksClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -401,6 +371,7 @@ export class Hooks { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -425,21 +396,7 @@ export class Hooks { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /hooks/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/hooks/{id}"); } /** @@ -447,7 +404,7 @@ export class Hooks { * * @param {string} id - ID of the hook to update. * @param {Management.UpdateHookRequestContent} request - * @param {Hooks.RequestOptions} requestOptions - Request-specific configuration. + * @param {HooksClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -462,7 +419,7 @@ export class Hooks { public update( id: string, request: Management.UpdateHookRequestContent = {}, - requestOptions?: Hooks.RequestOptions, + requestOptions?: HooksClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -470,11 +427,12 @@ export class Hooks { private async __update( id: string, request: Management.UpdateHookRequestContent = {}, - requestOptions?: Hooks.RequestOptions, + requestOptions?: HooksClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -494,6 +452,7 @@ export class Hooks { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.UpdateHookResponseContent, rawResponse: _response.rawResponse }; @@ -522,24 +481,6 @@ export class Hooks { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PATCH /hooks/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/hooks/{id}"); } } diff --git a/src/management/api/resources/hooks/resources/secrets/client/Client.ts b/src/management/api/resources/hooks/resources/secrets/client/Client.ts index 6d00c82986..eb57140cab 100644 --- a/src/management/api/resources/hooks/resources/secrets/client/Client.ts +++ b/src/management/api/resources/hooks/resources/secrets/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Secrets { - export interface Options extends BaseClientOptions {} +export declare namespace SecretsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Secrets { - protected readonly _options: Secrets.Options; +export class SecretsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Secrets.Options) { - this._options = _options; + constructor(options: SecretsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve a hook's secrets by the ID of the hook. * * @param {string} id - ID of the hook to retrieve secrets from. - * @param {Secrets.RequestOptions} requestOptions - Request-specific configuration. + * @param {SecretsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -37,18 +39,19 @@ export class Secrets { */ public get( id: string, - requestOptions?: Secrets.RequestOptions, + requestOptions?: SecretsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: Secrets.RequestOptions, + requestOptions?: SecretsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -65,6 +68,7 @@ export class Secrets { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -94,21 +98,7 @@ export class Secrets { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /hooks/{id}/secrets."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/hooks/{id}/secrets"); } /** @@ -116,7 +106,7 @@ export class Secrets { * * @param {string} id - The id of the hook to retrieve * @param {Management.CreateHookSecretRequestContent} request - * @param {Secrets.RequestOptions} requestOptions - Request-specific configuration. + * @param {SecretsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -132,7 +122,7 @@ export class Secrets { public create( id: string, request: Management.CreateHookSecretRequestContent, - requestOptions?: Secrets.RequestOptions, + requestOptions?: SecretsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(id, request, requestOptions)); } @@ -140,11 +130,12 @@ export class Secrets { private async __create( id: string, request: Management.CreateHookSecretRequestContent, - requestOptions?: Secrets.RequestOptions, + requestOptions?: SecretsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -164,6 +155,7 @@ export class Secrets { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -190,21 +182,7 @@ export class Secrets { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /hooks/{id}/secrets."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/hooks/{id}/secrets"); } /** @@ -212,7 +190,7 @@ export class Secrets { * * @param {string} id - ID of the hook whose secrets to delete. * @param {Management.DeleteHookSecretRequestContent} request - * @param {Secrets.RequestOptions} requestOptions - Request-specific configuration. + * @param {SecretsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -225,7 +203,7 @@ export class Secrets { public delete( id: string, request: Management.DeleteHookSecretRequestContent, - requestOptions?: Secrets.RequestOptions, + requestOptions?: SecretsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, request, requestOptions)); } @@ -233,11 +211,12 @@ export class Secrets { private async __delete( id: string, request: Management.DeleteHookSecretRequestContent, - requestOptions?: Secrets.RequestOptions, + requestOptions?: SecretsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -257,6 +236,7 @@ export class Secrets { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -281,21 +261,7 @@ export class Secrets { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /hooks/{id}/secrets."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/hooks/{id}/secrets"); } /** @@ -303,7 +269,7 @@ export class Secrets { * * @param {string} id - ID of the hook whose secrets to update. * @param {Management.UpdateHookSecretRequestContent} request - * @param {Secrets.RequestOptions} requestOptions - Request-specific configuration. + * @param {SecretsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -320,7 +286,7 @@ export class Secrets { public update( id: string, request: Management.UpdateHookSecretRequestContent, - requestOptions?: Secrets.RequestOptions, + requestOptions?: SecretsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -328,11 +294,12 @@ export class Secrets { private async __update( id: string, request: Management.UpdateHookSecretRequestContent, - requestOptions?: Secrets.RequestOptions, + requestOptions?: SecretsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -352,6 +319,7 @@ export class Secrets { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -380,24 +348,6 @@ export class Secrets { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PATCH /hooks/{id}/secrets."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/hooks/{id}/secrets"); } } diff --git a/src/management/api/resources/index.ts b/src/management/api/resources/index.ts index cd8026cb9f..9ec271d2d8 100644 --- a/src/management/api/resources/index.ts +++ b/src/management/api/resources/index.ts @@ -5,6 +5,7 @@ export * as actions from "./actions/index.js"; export * as branding from "./branding/index.js"; export * as clientGrants from "./clientGrants/index.js"; export * as clients from "./clients/index.js"; +export * as connectionProfiles from "./connectionProfiles/index.js"; export * as connections from "./connections/index.js"; export * as customDomains from "./customDomains/index.js"; export * as deviceCredentials from "./deviceCredentials/index.js"; diff --git a/src/management/api/resources/jobs/client/Client.ts b/src/management/api/resources/jobs/client/Client.ts index 9d0ef33724..11f48d4036 100644 --- a/src/management/api/resources/jobs/client/Client.ts +++ b/src/management/api/resources/jobs/client/Client.ts @@ -1,54 +1,56 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; -import { UsersExports } from "../resources/usersExports/client/Client.js"; -import { UsersImports } from "../resources/usersImports/client/Client.js"; -import { VerificationEmail } from "../resources/verificationEmail/client/Client.js"; -import { Errors } from "../resources/errors/client/Client.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; +import { UsersExportsClient } from "../resources/usersExports/client/Client.js"; +import { UsersImportsClient } from "../resources/usersImports/client/Client.js"; +import { VerificationEmailClient } from "../resources/verificationEmail/client/Client.js"; +import { ErrorsClient } from "../resources/errors/client/Client.js"; -export declare namespace Jobs { - export interface Options extends BaseClientOptions {} +export declare namespace JobsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Jobs { - protected readonly _options: Jobs.Options; - protected _usersExports: UsersExports | undefined; - protected _usersImports: UsersImports | undefined; - protected _verificationEmail: VerificationEmail | undefined; - protected _errors: Errors | undefined; +export class JobsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _usersExports: UsersExportsClient | undefined; + protected _usersImports: UsersImportsClient | undefined; + protected _verificationEmail: VerificationEmailClient | undefined; + protected _errors: ErrorsClient | undefined; - constructor(_options: Jobs.Options) { - this._options = _options; + constructor(options: JobsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get usersExports(): UsersExports { - return (this._usersExports ??= new UsersExports(this._options)); + public get usersExports(): UsersExportsClient { + return (this._usersExports ??= new UsersExportsClient(this._options)); } - public get usersImports(): UsersImports { - return (this._usersImports ??= new UsersImports(this._options)); + public get usersImports(): UsersImportsClient { + return (this._usersImports ??= new UsersImportsClient(this._options)); } - public get verificationEmail(): VerificationEmail { - return (this._verificationEmail ??= new VerificationEmail(this._options)); + public get verificationEmail(): VerificationEmailClient { + return (this._verificationEmail ??= new VerificationEmailClient(this._options)); } - public get errors(): Errors { - return (this._errors ??= new Errors(this._options)); + public get errors(): ErrorsClient { + return (this._errors ??= new ErrorsClient(this._options)); } /** * Retrieves a job. Useful to check its status. * * @param {string} id - ID of the job. - * @param {Jobs.RequestOptions} requestOptions - Request-specific configuration. + * @param {JobsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -61,18 +63,19 @@ export class Jobs { */ public get( id: string, - requestOptions?: Jobs.RequestOptions, + requestOptions?: JobsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: Jobs.RequestOptions, + requestOptions?: JobsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -89,6 +92,7 @@ export class Jobs { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.GetJobResponseContent, rawResponse: _response.rawResponse }; @@ -115,24 +119,6 @@ export class Jobs { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /jobs/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/jobs/{id}"); } } diff --git a/src/management/api/resources/jobs/resources/errors/client/Client.ts b/src/management/api/resources/jobs/resources/errors/client/Client.ts index 09befb3d23..514ce21968 100644 --- a/src/management/api/resources/jobs/resources/errors/client/Client.ts +++ b/src/management/api/resources/jobs/resources/errors/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Errors { - export interface Options extends BaseClientOptions {} +export declare namespace ErrorsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Errors { - protected readonly _options: Errors.Options; +export class ErrorsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Errors.Options) { - this._options = _options; + constructor(options: ErrorsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve error details of a failed job. * * @param {string} id - ID of the job. - * @param {Errors.RequestOptions} requestOptions - Request-specific configuration. + * @param {ErrorsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -37,18 +39,19 @@ export class Errors { */ public get( id: string, - requestOptions?: Errors.RequestOptions, + requestOptions?: ErrorsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: Errors.RequestOptions, + requestOptions?: ErrorsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -65,6 +68,7 @@ export class Errors { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.jobs.ErrorsGetResponse, rawResponse: _response.rawResponse }; @@ -91,24 +95,6 @@ export class Errors { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /jobs/{id}/errors."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/jobs/{id}/errors"); } } diff --git a/src/management/api/resources/jobs/resources/usersExports/client/Client.ts b/src/management/api/resources/jobs/resources/usersExports/client/Client.ts index 63b515a5d6..cbe70f45e3 100644 --- a/src/management/api/resources/jobs/resources/usersExports/client/Client.ts +++ b/src/management/api/resources/jobs/resources/usersExports/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace UsersExports { - export interface Options extends BaseClientOptions {} +export declare namespace UsersExportsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class UsersExports { - protected readonly _options: UsersExports.Options; +export class UsersExportsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: UsersExports.Options) { - this._options = _options; + constructor(options: UsersExportsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Export all users to a file via a long-running job. * * @param {Management.CreateExportUsersRequestContent} request - * @param {UsersExports.RequestOptions} requestOptions - Request-specific configuration. + * @param {UsersExportsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -36,18 +38,19 @@ export class UsersExports { */ public create( request: Management.CreateExportUsersRequestContent = {}, - requestOptions?: UsersExports.RequestOptions, + requestOptions?: UsersExportsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateExportUsersRequestContent = {}, - requestOptions?: UsersExports.RequestOptions, + requestOptions?: UsersExportsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -67,6 +70,7 @@ export class UsersExports { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -94,24 +98,6 @@ export class UsersExports { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /jobs/users-exports."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/jobs/users-exports"); } } diff --git a/src/management/api/resources/jobs/resources/usersImports/client/Client.ts b/src/management/api/resources/jobs/resources/usersImports/client/Client.ts index 997ccc2e51..41b375dbd6 100644 --- a/src/management/api/resources/jobs/resources/usersImports/client/Client.ts +++ b/src/management/api/resources/jobs/resources/usersImports/client/Client.ts @@ -1,31 +1,33 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; import * as fs from "fs"; import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace UsersImports { - export interface Options extends BaseClientOptions {} +export declare namespace UsersImportsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class UsersImports { - protected readonly _options: UsersImports.Options; +export class UsersImportsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: UsersImports.Options) { - this._options = _options; + constructor(options: UsersImportsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Import users from a formatted file into a connection via a long-running job. When importing users, with or without upsert, the `email_verified` is set to `false` when the email address is added or updated. Users must verify their email address. To avoid this behavior, set `email_verified` to `true` in the imported data. * * @param {Management.CreateImportUsersRequestContent} request - * @param {UsersImports.RequestOptions} requestOptions - Request-specific configuration. + * @param {UsersImportsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -43,14 +45,14 @@ export class UsersImports { */ public create( request: Management.CreateImportUsersRequestContent, - requestOptions?: UsersImports.RequestOptions, + requestOptions?: UsersImportsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateImportUsersRequestContent, - requestOptions?: UsersImports.RequestOptions, + requestOptions?: UsersImportsClient.RequestOptions, ): Promise> { const _request = await core.newFormData(); await _request.appendFile("users", request.users); @@ -68,12 +70,11 @@ export class UsersImports { } const _maybeEncodedRequest = await _request.getRequest(); + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ - Authorization: await this._getAuthorizationHeader(), - ..._maybeEncodedRequest.headers, - }), + mergeOnlyDefinedHeaders({ ..._maybeEncodedRequest.headers }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -93,6 +94,7 @@ export class UsersImports { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -124,24 +126,6 @@ export class UsersImports { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /jobs/users-imports."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/jobs/users-imports"); } } diff --git a/src/management/api/resources/jobs/resources/verificationEmail/client/Client.ts b/src/management/api/resources/jobs/resources/verificationEmail/client/Client.ts index 0036c6c32b..db0943a17f 100644 --- a/src/management/api/resources/jobs/resources/verificationEmail/client/Client.ts +++ b/src/management/api/resources/jobs/resources/verificationEmail/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace VerificationEmail { - export interface Options extends BaseClientOptions {} +export declare namespace VerificationEmailClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class VerificationEmail { - protected readonly _options: VerificationEmail.Options; +export class VerificationEmailClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: VerificationEmail.Options) { - this._options = _options; + constructor(options: VerificationEmailClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -26,7 +28,7 @@ export class VerificationEmail { * Note: You must have the `Status` toggle enabled for the verification email template for the email to be sent. * * @param {Management.CreateVerificationEmailRequestContent} request - * @param {VerificationEmail.RequestOptions} requestOptions - Request-specific configuration. + * @param {VerificationEmailClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -40,18 +42,19 @@ export class VerificationEmail { */ public create( request: Management.CreateVerificationEmailRequestContent, - requestOptions?: VerificationEmail.RequestOptions, + requestOptions?: VerificationEmailClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateVerificationEmailRequestContent, - requestOptions?: VerificationEmail.RequestOptions, + requestOptions?: VerificationEmailClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -71,6 +74,7 @@ export class VerificationEmail { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -98,24 +102,6 @@ export class VerificationEmail { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /jobs/verification-email."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/jobs/verification-email"); } } diff --git a/src/management/api/resources/keys/client/Client.ts b/src/management/api/resources/keys/client/Client.ts index ffb0233042..aec58aea0b 100644 --- a/src/management/api/resources/keys/client/Client.ts +++ b/src/management/api/resources/keys/client/Client.ts @@ -1,35 +1,36 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; -import { CustomSigning } from "../resources/customSigning/client/Client.js"; -import { Encryption } from "../resources/encryption/client/Client.js"; -import { Signing } from "../resources/signing/client/Client.js"; +import { CustomSigningClient } from "../resources/customSigning/client/Client.js"; +import { EncryptionClient } from "../resources/encryption/client/Client.js"; +import { SigningClient } from "../resources/signing/client/Client.js"; -export declare namespace Keys { - export interface Options extends BaseClientOptions {} +export declare namespace KeysClient { + export type Options = BaseClientOptions; } -export class Keys { - protected readonly _options: Keys.Options; - protected _customSigning: CustomSigning | undefined; - protected _encryption: Encryption | undefined; - protected _signing: Signing | undefined; +export class KeysClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _customSigning: CustomSigningClient | undefined; + protected _encryption: EncryptionClient | undefined; + protected _signing: SigningClient | undefined; - constructor(_options: Keys.Options) { - this._options = _options; + constructor(options: KeysClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get customSigning(): CustomSigning { - return (this._customSigning ??= new CustomSigning(this._options)); + public get customSigning(): CustomSigningClient { + return (this._customSigning ??= new CustomSigningClient(this._options)); } - public get encryption(): Encryption { - return (this._encryption ??= new Encryption(this._options)); + public get encryption(): EncryptionClient { + return (this._encryption ??= new EncryptionClient(this._options)); } - public get signing(): Signing { - return (this._signing ??= new Signing(this._options)); + public get signing(): SigningClient { + return (this._signing ??= new SigningClient(this._options)); } } diff --git a/src/management/api/resources/keys/resources/customSigning/client/Client.ts b/src/management/api/resources/keys/resources/customSigning/client/Client.ts index 5e9cb52551..cadbf14086 100644 --- a/src/management/api/resources/keys/resources/customSigning/client/Client.ts +++ b/src/management/api/resources/keys/resources/customSigning/client/Client.ts @@ -1,29 +1,31 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace CustomSigning { - export interface Options extends BaseClientOptions {} +export declare namespace CustomSigningClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class CustomSigning { - protected readonly _options: CustomSigning.Options; +export class CustomSigningClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: CustomSigning.Options) { - this._options = _options; + constructor(options: CustomSigningClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Get entire jwks representation of custom signing keys. * - * @param {CustomSigning.RequestOptions} requestOptions - Request-specific configuration. + * @param {CustomSigningClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -34,17 +36,18 @@ export class CustomSigning { * await client.keys.customSigning.get() */ public get( - requestOptions?: CustomSigning.RequestOptions, + requestOptions?: CustomSigningClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(requestOptions)); } private async __get( - requestOptions?: CustomSigning.RequestOptions, + requestOptions?: CustomSigningClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -61,6 +64,7 @@ export class CustomSigning { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -88,28 +92,14 @@ export class CustomSigning { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /keys/custom-signing."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/keys/custom-signing"); } /** * Create or replace entire jwks representation of custom signing keys. * * @param {Management.SetCustomSigningKeysRequestContent} request - * @param {CustomSigning.RequestOptions} requestOptions - Request-specific configuration. + * @param {CustomSigningClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -125,18 +115,19 @@ export class CustomSigning { */ public set( request: Management.SetCustomSigningKeysRequestContent, - requestOptions?: CustomSigning.RequestOptions, + requestOptions?: CustomSigningClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__set(request, requestOptions)); } private async __set( request: Management.SetCustomSigningKeysRequestContent, - requestOptions?: CustomSigning.RequestOptions, + requestOptions?: CustomSigningClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -156,6 +147,7 @@ export class CustomSigning { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -183,27 +175,13 @@ export class CustomSigning { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PUT /keys/custom-signing."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PUT", "/keys/custom-signing"); } /** * Delete entire jwks representation of custom signing keys. * - * @param {CustomSigning.RequestOptions} requestOptions - Request-specific configuration. + * @param {CustomSigningClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -212,14 +190,15 @@ export class CustomSigning { * @example * await client.keys.customSigning.delete() */ - public delete(requestOptions?: CustomSigning.RequestOptions): core.HttpResponsePromise { + public delete(requestOptions?: CustomSigningClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(requestOptions)); } - private async __delete(requestOptions?: CustomSigning.RequestOptions): Promise> { + private async __delete(requestOptions?: CustomSigningClient.RequestOptions): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -236,6 +215,7 @@ export class CustomSigning { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -258,24 +238,6 @@ export class CustomSigning { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /keys/custom-signing."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/keys/custom-signing"); } } diff --git a/src/management/api/resources/keys/resources/encryption/client/Client.ts b/src/management/api/resources/keys/resources/encryption/client/Client.ts index 2e995aa84c..9079d715a5 100644 --- a/src/management/api/resources/keys/resources/encryption/client/Client.ts +++ b/src/management/api/resources/keys/resources/encryption/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Encryption { - export interface Options extends BaseClientOptions {} +export declare namespace EncryptionClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Encryption { - protected readonly _options: Encryption.Options; +export class EncryptionClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Encryption.Options) { - this._options = _options; + constructor(options: EncryptionClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve details of all the encryption keys associated with your tenant. * * @param {Management.ListEncryptionKeysRequestParameters} request - * @param {Encryption.RequestOptions} requestOptions - Request-specific configuration. + * @param {EncryptionClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -40,7 +42,7 @@ export class Encryption { */ public async list( request: Management.ListEncryptionKeysRequestParameters = {}, - requestOptions?: Encryption.RequestOptions, + requestOptions?: EncryptionClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -57,9 +59,10 @@ export class Encryption { if (includeTotals !== undefined) { _queryParams["include_totals"] = includeTotals?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -76,6 +79,7 @@ export class Encryption { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -110,21 +114,7 @@ export class Encryption { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /keys/encryption."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/keys/encryption"); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -132,10 +122,10 @@ export class Encryption { return new core.Page({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.keys ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.keys ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.keys ?? [], - loadPage: (response) => { - _offset += response?.keys != null ? response.keys.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -145,7 +135,7 @@ export class Encryption { * Create the new, pre-activated encryption key, without the key material. * * @param {Management.CreateEncryptionKeyRequestContent} request - * @param {Encryption.RequestOptions} requestOptions - Request-specific configuration. + * @param {EncryptionClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -160,18 +150,19 @@ export class Encryption { */ public create( request: Management.CreateEncryptionKeyRequestContent, - requestOptions?: Encryption.RequestOptions, + requestOptions?: EncryptionClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateEncryptionKeyRequestContent, - requestOptions?: Encryption.RequestOptions, + requestOptions?: EncryptionClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -191,6 +182,7 @@ export class Encryption { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -220,27 +212,13 @@ export class Encryption { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /keys/encryption."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/keys/encryption"); } /** * Perform rekeying operation on the key hierarchy. * - * @param {Encryption.RequestOptions} requestOptions - Request-specific configuration. + * @param {EncryptionClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -249,14 +227,15 @@ export class Encryption { * @example * await client.keys.encryption.rekey() */ - public rekey(requestOptions?: Encryption.RequestOptions): core.HttpResponsePromise { + public rekey(requestOptions?: EncryptionClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__rekey(requestOptions)); } - private async __rekey(requestOptions?: Encryption.RequestOptions): Promise> { + private async __rekey(requestOptions?: EncryptionClient.RequestOptions): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -273,6 +252,7 @@ export class Encryption { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -295,28 +275,14 @@ export class Encryption { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /keys/encryption/rekey."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/keys/encryption/rekey"); } /** * Retrieve details of the encryption key with the given ID. * * @param {string} kid - Encryption key ID - * @param {Encryption.RequestOptions} requestOptions - Request-specific configuration. + * @param {EncryptionClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -329,18 +295,19 @@ export class Encryption { */ public get( kid: string, - requestOptions?: Encryption.RequestOptions, + requestOptions?: EncryptionClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(kid, requestOptions)); } private async __get( kid: string, - requestOptions?: Encryption.RequestOptions, + requestOptions?: EncryptionClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -357,6 +324,7 @@ export class Encryption { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -386,21 +354,7 @@ export class Encryption { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /keys/encryption/{kid}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/keys/encryption/{kid}"); } /** @@ -408,7 +362,7 @@ export class Encryption { * * @param {string} kid - Encryption key ID * @param {Management.ImportEncryptionKeyRequestContent} request - * @param {Encryption.RequestOptions} requestOptions - Request-specific configuration. + * @param {EncryptionClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -424,7 +378,7 @@ export class Encryption { public import( kid: string, request: Management.ImportEncryptionKeyRequestContent, - requestOptions?: Encryption.RequestOptions, + requestOptions?: EncryptionClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__import(kid, request, requestOptions)); } @@ -432,11 +386,12 @@ export class Encryption { private async __import( kid: string, request: Management.ImportEncryptionKeyRequestContent, - requestOptions?: Encryption.RequestOptions, + requestOptions?: EncryptionClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -456,6 +411,7 @@ export class Encryption { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -485,28 +441,14 @@ export class Encryption { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /keys/encryption/{kid}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/keys/encryption/{kid}"); } /** * Delete the custom provided encryption key with the given ID and move back to using native encryption key. * * @param {string} kid - Encryption key ID - * @param {Encryption.RequestOptions} requestOptions - Request-specific configuration. + * @param {EncryptionClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -516,17 +458,18 @@ export class Encryption { * @example * await client.keys.encryption.delete("kid") */ - public delete(kid: string, requestOptions?: Encryption.RequestOptions): core.HttpResponsePromise { + public delete(kid: string, requestOptions?: EncryptionClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(kid, requestOptions)); } private async __delete( kid: string, - requestOptions?: Encryption.RequestOptions, + requestOptions?: EncryptionClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -543,6 +486,7 @@ export class Encryption { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -567,28 +511,14 @@ export class Encryption { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /keys/encryption/{kid}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/keys/encryption/{kid}"); } /** * Create the public wrapping key to wrap your own encryption key material. * * @param {string} kid - Encryption key ID - * @param {Encryption.RequestOptions} requestOptions - Request-specific configuration. + * @param {EncryptionClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -601,18 +531,19 @@ export class Encryption { */ public createPublicWrappingKey( kid: string, - requestOptions?: Encryption.RequestOptions, + requestOptions?: EncryptionClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__createPublicWrappingKey(kid, requestOptions)); } private async __createPublicWrappingKey( kid: string, - requestOptions?: Encryption.RequestOptions, + requestOptions?: EncryptionClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -629,6 +560,7 @@ export class Encryption { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -658,26 +590,11 @@ export class Encryption { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /keys/encryption/{kid}/wrapping-key.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/keys/encryption/{kid}/wrapping-key", + ); } } diff --git a/src/management/api/resources/keys/resources/signing/client/Client.ts b/src/management/api/resources/keys/resources/signing/client/Client.ts index 41466129e1..bdff60caac 100644 --- a/src/management/api/resources/keys/resources/signing/client/Client.ts +++ b/src/management/api/resources/keys/resources/signing/client/Client.ts @@ -1,29 +1,31 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Signing { - export interface Options extends BaseClientOptions {} +export declare namespace SigningClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Signing { - protected readonly _options: Signing.Options; +export class SigningClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Signing.Options) { - this._options = _options; + constructor(options: SigningClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve details of all the application signing keys associated with your tenant. * - * @param {Signing.RequestOptions} requestOptions - Request-specific configuration. + * @param {SigningClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -33,16 +35,17 @@ export class Signing { * @example * await client.keys.signing.list() */ - public list(requestOptions?: Signing.RequestOptions): core.HttpResponsePromise { + public list(requestOptions?: SigningClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__list(requestOptions)); } private async __list( - requestOptions?: Signing.RequestOptions, + requestOptions?: SigningClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -59,6 +62,7 @@ export class Signing { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.SigningKeys[], rawResponse: _response.rawResponse }; @@ -83,27 +87,13 @@ export class Signing { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /keys/signing."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/keys/signing"); } /** * Rotate the application signing key of your tenant. * - * @param {Signing.RequestOptions} requestOptions - Request-specific configuration. + * @param {SigningClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -113,17 +103,18 @@ export class Signing { * await client.keys.signing.rotate() */ public rotate( - requestOptions?: Signing.RequestOptions, + requestOptions?: SigningClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__rotate(requestOptions)); } private async __rotate( - requestOptions?: Signing.RequestOptions, + requestOptions?: SigningClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -140,6 +131,7 @@ export class Signing { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -165,28 +157,14 @@ export class Signing { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /keys/signing/rotate."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/keys/signing/rotate"); } /** * Retrieve details of the application signing key with the given ID. * * @param {string} kid - Key id of the key to retrieve - * @param {Signing.RequestOptions} requestOptions - Request-specific configuration. + * @param {SigningClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -198,18 +176,19 @@ export class Signing { */ public get( kid: string, - requestOptions?: Signing.RequestOptions, + requestOptions?: SigningClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(kid, requestOptions)); } private async __get( kid: string, - requestOptions?: Signing.RequestOptions, + requestOptions?: SigningClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -226,6 +205,7 @@ export class Signing { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -253,28 +233,14 @@ export class Signing { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /keys/signing/{kid}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/keys/signing/{kid}"); } /** * Revoke the application signing key with the given ID. * * @param {string} kid - Key id of the key to revoke - * @param {Signing.RequestOptions} requestOptions - Request-specific configuration. + * @param {SigningClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -286,18 +252,19 @@ export class Signing { */ public revoke( kid: string, - requestOptions?: Signing.RequestOptions, + requestOptions?: SigningClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__revoke(kid, requestOptions)); } private async __revoke( kid: string, - requestOptions?: Signing.RequestOptions, + requestOptions?: SigningClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -314,6 +281,7 @@ export class Signing { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -341,26 +309,6 @@ export class Signing { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PUT /keys/signing/{kid}/revoke.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PUT", "/keys/signing/{kid}/revoke"); } } diff --git a/src/management/api/resources/logStreams/client/Client.ts b/src/management/api/resources/logStreams/client/Client.ts index 8271cffff9..f71d76be31 100644 --- a/src/management/api/resources/logStreams/client/Client.ts +++ b/src/management/api/resources/logStreams/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; -export declare namespace LogStreams { - export interface Options extends BaseClientOptions {} +export declare namespace LogStreamsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class LogStreams { - protected readonly _options: LogStreams.Options; +export class LogStreamsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: LogStreams.Options) { - this._options = _options; + constructor(options: LogStreamsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -88,7 +90,7 @@ export class LogStreams { * } * }] * - * @param {LogStreams.RequestOptions} requestOptions - Request-specific configuration. + * @param {LogStreamsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -99,17 +101,18 @@ export class LogStreams { * await client.logStreams.list() */ public list( - requestOptions?: LogStreams.RequestOptions, + requestOptions?: LogStreamsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__list(requestOptions)); } private async __list( - requestOptions?: LogStreams.RequestOptions, + requestOptions?: LogStreamsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -126,6 +129,7 @@ export class LogStreams { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.LogStreamResponseSchema[], rawResponse: _response.rawResponse }; @@ -150,21 +154,7 @@ export class LogStreams { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /log-streams."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/log-streams"); } /** @@ -296,7 +286,7 @@ export class LogStreams { * } * * @param {Management.CreateLogStreamRequestContent} request - * @param {LogStreams.RequestOptions} requestOptions - Request-specific configuration. + * @param {LogStreamsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -314,18 +304,19 @@ export class LogStreams { */ public create( request: Management.CreateLogStreamRequestContent, - requestOptions?: LogStreams.RequestOptions, + requestOptions?: LogStreamsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateLogStreamRequestContent, - requestOptions?: LogStreams.RequestOptions, + requestOptions?: LogStreamsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -345,6 +336,7 @@ export class LogStreams { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -374,21 +366,7 @@ export class LogStreams { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /log-streams."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/log-streams"); } /** @@ -496,7 +474,7 @@ export class LogStreams { * 3. suspended - Stream is currently disabled because of errors and will not attempt log delivery. * * @param {string} id - The id of the log stream to get - * @param {LogStreams.RequestOptions} requestOptions - Request-specific configuration. + * @param {LogStreamsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -508,18 +486,19 @@ export class LogStreams { */ public get( id: string, - requestOptions?: LogStreams.RequestOptions, + requestOptions?: LogStreamsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: LogStreams.RequestOptions, + requestOptions?: LogStreamsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -536,6 +515,7 @@ export class LogStreams { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -563,28 +543,14 @@ export class LogStreams { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /log-streams/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/log-streams/{id}"); } /** * Delete a log stream. * * @param {string} id - The id of the log stream to delete - * @param {LogStreams.RequestOptions} requestOptions - Request-specific configuration. + * @param {LogStreamsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -595,17 +561,18 @@ export class LogStreams { * @example * await client.logStreams.delete("id") */ - public delete(id: string, requestOptions?: LogStreams.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: LogStreamsClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } private async __delete( id: string, - requestOptions?: LogStreams.RequestOptions, + requestOptions?: LogStreamsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -622,6 +589,7 @@ export class LogStreams { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -648,21 +616,7 @@ export class LogStreams { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /log-streams/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/log-streams/{id}"); } /** @@ -704,7 +658,7 @@ export class LogStreams { * * @param {string} id - The id of the log stream to get * @param {Management.UpdateLogStreamRequestContent} request - * @param {LogStreams.RequestOptions} requestOptions - Request-specific configuration. + * @param {LogStreamsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -717,7 +671,7 @@ export class LogStreams { public update( id: string, request: Management.UpdateLogStreamRequestContent = {}, - requestOptions?: LogStreams.RequestOptions, + requestOptions?: LogStreamsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -725,11 +679,12 @@ export class LogStreams { private async __update( id: string, request: Management.UpdateLogStreamRequestContent = {}, - requestOptions?: LogStreams.RequestOptions, + requestOptions?: LogStreamsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -749,6 +704,7 @@ export class LogStreams { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -776,24 +732,6 @@ export class LogStreams { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PATCH /log-streams/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/log-streams/{id}"); } } diff --git a/src/management/api/resources/logs/client/Client.ts b/src/management/api/resources/logs/client/Client.ts index ce4731f23a..ac6e0fd0c1 100644 --- a/src/management/api/resources/logs/client/Client.ts +++ b/src/management/api/resources/logs/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Logs { - export interface Options extends BaseClientOptions {} +export declare namespace LogsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Logs { - protected readonly _options: Logs.Options; +export class LogsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Logs.Options) { - this._options = _options; + constructor(options: LogsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -52,7 +54,7 @@ export class Logs { * Important: When fetching logs from a checkpoint log ID, any parameter other than from and take will be ignored, and date ordering is not guaranteed. * * @param {Management.ListLogsRequestParameters} request - * @param {Logs.RequestOptions} requestOptions - Request-specific configuration. + * @param {LogsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -72,7 +74,7 @@ export class Logs { */ public async list( request: Management.ListLogsRequestParameters = {}, - requestOptions?: Logs.RequestOptions, + requestOptions?: LogsClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -109,9 +111,10 @@ export class Logs { if (search !== undefined) { _queryParams["search"] = search; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -128,6 +131,7 @@ export class Logs { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -162,21 +166,7 @@ export class Logs { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /logs."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/logs"); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -184,10 +174,10 @@ export class Logs { return new core.Page({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.logs ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.logs ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.logs ?? [], - loadPage: (response) => { - _offset += response?.logs != null ? response.logs.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -197,7 +187,7 @@ export class Logs { * Retrieve an individual log event. * * @param {string} id - log_id of the log to retrieve. - * @param {Logs.RequestOptions} requestOptions - Request-specific configuration. + * @param {LogsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -210,18 +200,19 @@ export class Logs { */ public get( id: string, - requestOptions?: Logs.RequestOptions, + requestOptions?: LogsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: Logs.RequestOptions, + requestOptions?: LogsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -238,6 +229,7 @@ export class Logs { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.GetLogResponseContent, rawResponse: _response.rawResponse }; @@ -264,24 +256,6 @@ export class Logs { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /logs/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/logs/{id}"); } } diff --git a/src/management/api/resources/networkAcls/client/Client.ts b/src/management/api/resources/networkAcls/client/Client.ts index e31cededf4..8aa5b39833 100644 --- a/src/management/api/resources/networkAcls/client/Client.ts +++ b/src/management/api/resources/networkAcls/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; -export declare namespace NetworkAcls { - export interface Options extends BaseClientOptions {} +export declare namespace NetworkAclsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class NetworkAcls { - protected readonly _options: NetworkAcls.Options; +export class NetworkAclsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: NetworkAcls.Options) { - this._options = _options; + constructor(options: NetworkAclsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Get all access control list entries for your client. * * @param {Management.ListNetworkAclsRequestParameters} request - * @param {NetworkAcls.RequestOptions} requestOptions - Request-specific configuration. + * @param {NetworkAclsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -40,7 +42,7 @@ export class NetworkAcls { */ public async list( request: Management.ListNetworkAclsRequestParameters = {}, - requestOptions?: NetworkAcls.RequestOptions, + requestOptions?: NetworkAclsClient.RequestOptions, ): Promise< core.Page > { @@ -59,9 +61,10 @@ export class NetworkAcls { if (includeTotals !== undefined) { _queryParams["include_totals"] = includeTotals?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -78,6 +81,7 @@ export class NetworkAcls { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -109,21 +113,7 @@ export class NetworkAcls { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /network-acls."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/network-acls"); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -134,10 +124,10 @@ export class NetworkAcls { >({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.network_acls ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.network_acls ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.network_acls ?? [], - loadPage: (response) => { - _offset += response?.network_acls != null ? response.network_acls.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -147,7 +137,7 @@ export class NetworkAcls { * Create a new access control list for your client. * * @param {Management.CreateNetworkAclRequestContent} request - * @param {NetworkAcls.RequestOptions} requestOptions - Request-specific configuration. + * @param {NetworkAclsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -169,18 +159,19 @@ export class NetworkAcls { */ public create( request: Management.CreateNetworkAclRequestContent, - requestOptions?: NetworkAcls.RequestOptions, + requestOptions?: NetworkAclsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateNetworkAclRequestContent, - requestOptions?: NetworkAcls.RequestOptions, + requestOptions?: NetworkAclsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -200,6 +191,7 @@ export class NetworkAcls { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -228,28 +220,14 @@ export class NetworkAcls { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /network-acls."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/network-acls"); } /** * Get a specific access control list entry for your client. * * @param {string} id - The id of the access control list to retrieve. - * @param {NetworkAcls.RequestOptions} requestOptions - Request-specific configuration. + * @param {NetworkAclsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -261,18 +239,19 @@ export class NetworkAcls { */ public get( id: string, - requestOptions?: NetworkAcls.RequestOptions, + requestOptions?: NetworkAclsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: NetworkAcls.RequestOptions, + requestOptions?: NetworkAclsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -289,6 +268,7 @@ export class NetworkAcls { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -316,21 +296,7 @@ export class NetworkAcls { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /network-acls/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/network-acls/{id}"); } /** @@ -338,7 +304,7 @@ export class NetworkAcls { * * @param {string} id - The id of the ACL to update. * @param {Management.SetNetworkAclRequestContent} request - * @param {NetworkAcls.RequestOptions} requestOptions - Request-specific configuration. + * @param {NetworkAclsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -360,7 +326,7 @@ export class NetworkAcls { public set( id: string, request: Management.SetNetworkAclRequestContent, - requestOptions?: NetworkAcls.RequestOptions, + requestOptions?: NetworkAclsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__set(id, request, requestOptions)); } @@ -368,11 +334,12 @@ export class NetworkAcls { private async __set( id: string, request: Management.SetNetworkAclRequestContent, - requestOptions?: NetworkAcls.RequestOptions, + requestOptions?: NetworkAclsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -392,6 +359,7 @@ export class NetworkAcls { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -421,28 +389,14 @@ export class NetworkAcls { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PUT /network-acls/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PUT", "/network-acls/{id}"); } /** * Delete existing access control list for your client. * * @param {string} id - The id of the ACL to delete - * @param {NetworkAcls.RequestOptions} requestOptions - Request-specific configuration. + * @param {NetworkAclsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -453,17 +407,18 @@ export class NetworkAcls { * @example * await client.networkAcls.delete("id") */ - public delete(id: string, requestOptions?: NetworkAcls.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: NetworkAclsClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } private async __delete( id: string, - requestOptions?: NetworkAcls.RequestOptions, + requestOptions?: NetworkAclsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -480,6 +435,7 @@ export class NetworkAcls { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -506,21 +462,7 @@ export class NetworkAcls { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /network-acls/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/network-acls/{id}"); } /** @@ -528,7 +470,7 @@ export class NetworkAcls { * * @param {string} id - The id of the ACL to update. * @param {Management.UpdateNetworkAclRequestContent} request - * @param {NetworkAcls.RequestOptions} requestOptions - Request-specific configuration. + * @param {NetworkAclsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -542,7 +484,7 @@ export class NetworkAcls { public update( id: string, request: Management.UpdateNetworkAclRequestContent = {}, - requestOptions?: NetworkAcls.RequestOptions, + requestOptions?: NetworkAclsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -550,11 +492,12 @@ export class NetworkAcls { private async __update( id: string, request: Management.UpdateNetworkAclRequestContent = {}, - requestOptions?: NetworkAcls.RequestOptions, + requestOptions?: NetworkAclsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -574,6 +517,7 @@ export class NetworkAcls { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -603,24 +547,6 @@ export class NetworkAcls { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PATCH /network-acls/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/network-acls/{id}"); } } diff --git a/src/management/api/resources/organizations/client/Client.ts b/src/management/api/resources/organizations/client/Client.ts index d14c63b877..00c43d534a 100644 --- a/src/management/api/resources/organizations/client/Client.ts +++ b/src/management/api/resources/organizations/client/Client.ts @@ -1,53 +1,55 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; -import { ClientGrants } from "../resources/clientGrants/client/Client.js"; -import { DiscoveryDomains } from "../resources/discoveryDomains/client/Client.js"; -import { EnabledConnections } from "../resources/enabledConnections/client/Client.js"; -import { Invitations } from "../resources/invitations/client/Client.js"; -import { Members } from "../resources/members/client/Client.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; +import { ClientGrantsClient } from "../resources/clientGrants/client/Client.js"; +import { DiscoveryDomainsClient } from "../resources/discoveryDomains/client/Client.js"; +import { EnabledConnectionsClient } from "../resources/enabledConnections/client/Client.js"; +import { InvitationsClient } from "../resources/invitations/client/Client.js"; +import { MembersClient } from "../resources/members/client/Client.js"; -export declare namespace Organizations { - export interface Options extends BaseClientOptions {} +export declare namespace OrganizationsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Organizations { - protected readonly _options: Organizations.Options; - protected _clientGrants: ClientGrants | undefined; - protected _discoveryDomains: DiscoveryDomains | undefined; - protected _enabledConnections: EnabledConnections | undefined; - protected _invitations: Invitations | undefined; - protected _members: Members | undefined; +export class OrganizationsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _clientGrants: ClientGrantsClient | undefined; + protected _discoveryDomains: DiscoveryDomainsClient | undefined; + protected _enabledConnections: EnabledConnectionsClient | undefined; + protected _invitations: InvitationsClient | undefined; + protected _members: MembersClient | undefined; - constructor(_options: Organizations.Options) { - this._options = _options; + constructor(options: OrganizationsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get clientGrants(): ClientGrants { - return (this._clientGrants ??= new ClientGrants(this._options)); + public get clientGrants(): ClientGrantsClient { + return (this._clientGrants ??= new ClientGrantsClient(this._options)); } - public get discoveryDomains(): DiscoveryDomains { - return (this._discoveryDomains ??= new DiscoveryDomains(this._options)); + public get discoveryDomains(): DiscoveryDomainsClient { + return (this._discoveryDomains ??= new DiscoveryDomainsClient(this._options)); } - public get enabledConnections(): EnabledConnections { - return (this._enabledConnections ??= new EnabledConnections(this._options)); + public get enabledConnections(): EnabledConnectionsClient { + return (this._enabledConnections ??= new EnabledConnectionsClient(this._options)); } - public get invitations(): Invitations { - return (this._invitations ??= new Invitations(this._options)); + public get invitations(): InvitationsClient { + return (this._invitations ??= new InvitationsClient(this._options)); } - public get members(): Members { - return (this._members ??= new Members(this._options)); + public get members(): MembersClient { + return (this._members ??= new MembersClient(this._options)); } /** @@ -72,7 +74,7 @@ export class Organizations { * Note: The first time you call this endpoint using checkpoint pagination, omit the from parameter. If there are more results, a next value is included in the response. You can use this for subsequent API calls. When next is no longer included in the response, no pages are remaining. * * @param {Management.ListOrganizationsRequestParameters} request - * @param {Organizations.RequestOptions} requestOptions - Request-specific configuration. + * @param {OrganizationsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -88,7 +90,7 @@ export class Organizations { */ public async list( request: Management.ListOrganizationsRequestParameters = {}, - requestOptions?: Organizations.RequestOptions, + requestOptions?: OrganizationsClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -105,9 +107,10 @@ export class Organizations { if (sort !== undefined) { _queryParams["sort"] = sort; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -124,6 +127,7 @@ export class Organizations { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -158,21 +162,7 @@ export class Organizations { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /organizations."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/organizations"); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -192,7 +182,7 @@ export class Organizations { * Create a new Organization within your tenant. To learn more about Organization settings, behavior, and configuration options, review Create Your First Organization. * * @param {Management.CreateOrganizationRequestContent} request - * @param {Organizations.RequestOptions} requestOptions - Request-specific configuration. + * @param {OrganizationsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -207,18 +197,19 @@ export class Organizations { */ public create( request: Management.CreateOrganizationRequestContent, - requestOptions?: Organizations.RequestOptions, + requestOptions?: OrganizationsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateOrganizationRequestContent, - requestOptions?: Organizations.RequestOptions, + requestOptions?: OrganizationsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -238,6 +229,7 @@ export class Organizations { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -267,28 +259,14 @@ export class Organizations { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /organizations."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/organizations"); } /** * Retrieve details about a single Organization specified by name. * * @param {string} name - name of the organization to retrieve. - * @param {Organizations.RequestOptions} requestOptions - Request-specific configuration. + * @param {OrganizationsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -300,18 +278,19 @@ export class Organizations { */ public getByName( name: string, - requestOptions?: Organizations.RequestOptions, + requestOptions?: OrganizationsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__getByName(name, requestOptions)); } private async __getByName( name: string, - requestOptions?: Organizations.RequestOptions, + requestOptions?: OrganizationsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -328,6 +307,7 @@ export class Organizations { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -355,30 +335,14 @@ export class Organizations { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /organizations/name/{name}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/organizations/name/{name}"); } /** * Retrieve details about a single Organization specified by ID. * * @param {string} id - ID of the organization to retrieve. - * @param {Organizations.RequestOptions} requestOptions - Request-specific configuration. + * @param {OrganizationsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -390,18 +354,19 @@ export class Organizations { */ public get( id: string, - requestOptions?: Organizations.RequestOptions, + requestOptions?: OrganizationsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: Organizations.RequestOptions, + requestOptions?: OrganizationsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -418,6 +383,7 @@ export class Organizations { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -445,21 +411,7 @@ export class Organizations { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /organizations/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/organizations/{id}"); } /** @@ -468,7 +420,7 @@ export class Organizations { * Note: Members are automatically disassociated from an Organization when it is deleted. However, this action does not delete these users from your tenant. * * @param {string} id - Organization identifier. - * @param {Organizations.RequestOptions} requestOptions - Request-specific configuration. + * @param {OrganizationsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -479,17 +431,18 @@ export class Organizations { * @example * await client.organizations.delete("id") */ - public delete(id: string, requestOptions?: Organizations.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: OrganizationsClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } private async __delete( id: string, - requestOptions?: Organizations.RequestOptions, + requestOptions?: OrganizationsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -506,6 +459,7 @@ export class Organizations { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -532,21 +486,7 @@ export class Organizations { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /organizations/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/organizations/{id}"); } /** @@ -554,7 +494,7 @@ export class Organizations { * * @param {string} id - ID of the organization to update. * @param {Management.UpdateOrganizationRequestContent} request - * @param {Organizations.RequestOptions} requestOptions - Request-specific configuration. + * @param {OrganizationsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -567,7 +507,7 @@ export class Organizations { public update( id: string, request: Management.UpdateOrganizationRequestContent = {}, - requestOptions?: Organizations.RequestOptions, + requestOptions?: OrganizationsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -575,11 +515,12 @@ export class Organizations { private async __update( id: string, request: Management.UpdateOrganizationRequestContent = {}, - requestOptions?: Organizations.RequestOptions, + requestOptions?: OrganizationsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -599,6 +540,7 @@ export class Organizations { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -626,24 +568,6 @@ export class Organizations { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PATCH /organizations/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/organizations/{id}"); } } diff --git a/src/management/api/resources/organizations/resources/clientGrants/client/Client.ts b/src/management/api/resources/organizations/resources/clientGrants/client/Client.ts index 714b65826e..acc4e828f8 100644 --- a/src/management/api/resources/organizations/resources/clientGrants/client/Client.ts +++ b/src/management/api/resources/organizations/resources/clientGrants/client/Client.ts @@ -1,29 +1,31 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace ClientGrants { - export interface Options extends BaseClientOptions {} +export declare namespace ClientGrantsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class ClientGrants { - protected readonly _options: ClientGrants.Options; +export class ClientGrantsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: ClientGrants.Options) { - this._options = _options; + constructor(options: ClientGrantsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * @param {string} id - Organization identifier. * @param {Management.ListOrganizationClientGrantsRequestParameters} request - * @param {ClientGrants.RequestOptions} requestOptions - Request-specific configuration. + * @param {ClientGrantsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -42,7 +44,7 @@ export class ClientGrants { public async list( id: string, request: Management.ListOrganizationClientGrantsRequestParameters = {}, - requestOptions?: ClientGrants.RequestOptions, + requestOptions?: ClientGrantsClient.RequestOptions, ): Promise< core.Page< Management.OrganizationClientGrant, @@ -84,9 +86,10 @@ export class ClientGrants { if (includeTotals !== undefined) { _queryParams["include_totals"] = includeTotals?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -103,6 +106,7 @@ export class ClientGrants { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -137,23 +141,12 @@ export class ClientGrants { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /organizations/{id}/client-grants.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/organizations/{id}/client-grants", + ); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -164,10 +157,10 @@ export class ClientGrants { >({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.client_grants ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.client_grants ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.client_grants ?? [], - loadPage: (response) => { - _offset += response?.client_grants != null ? response.client_grants.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -176,7 +169,7 @@ export class ClientGrants { /** * @param {string} id - Organization identifier. * @param {Management.AssociateOrganizationClientGrantRequestContent} request - * @param {ClientGrants.RequestOptions} requestOptions - Request-specific configuration. + * @param {ClientGrantsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -193,7 +186,7 @@ export class ClientGrants { public create( id: string, request: Management.AssociateOrganizationClientGrantRequestContent, - requestOptions?: ClientGrants.RequestOptions, + requestOptions?: ClientGrantsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(id, request, requestOptions)); } @@ -201,11 +194,12 @@ export class ClientGrants { private async __create( id: string, request: Management.AssociateOrganizationClientGrantRequestContent, - requestOptions?: ClientGrants.RequestOptions, + requestOptions?: ClientGrantsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -225,6 +219,7 @@ export class ClientGrants { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -256,29 +251,18 @@ export class ClientGrants { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /organizations/{id}/client-grants.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/organizations/{id}/client-grants", + ); } /** * @param {string} id - Organization identifier. - * @param {string} grantId - The Client Grant ID to remove from the organization - * @param {ClientGrants.RequestOptions} requestOptions - Request-specific configuration. + * @param {string} grant_id - The Client Grant ID to remove from the organization + * @param {ClientGrantsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -291,20 +275,21 @@ export class ClientGrants { */ public delete( id: string, - grantId: string, - requestOptions?: ClientGrants.RequestOptions, + grant_id: string, + requestOptions?: ClientGrantsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__delete(id, grantId, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__delete(id, grant_id, requestOptions)); } private async __delete( id: string, - grantId: string, - requestOptions?: ClientGrants.RequestOptions, + grant_id: string, + requestOptions?: ClientGrantsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -312,7 +297,7 @@ export class ClientGrants { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `organizations/${core.url.encodePathParam(id)}/client-grants/${core.url.encodePathParam(grantId)}`, + `organizations/${core.url.encodePathParam(id)}/client-grants/${core.url.encodePathParam(grant_id)}`, ), method: "DELETE", headers: _headers, @@ -321,6 +306,7 @@ export class ClientGrants { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -347,26 +333,11 @@ export class ClientGrants { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /organizations/{id}/client-grants/{grant_id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/organizations/{id}/client-grants/{grant_id}", + ); } } diff --git a/src/management/api/resources/organizations/resources/discoveryDomains/client/Client.ts b/src/management/api/resources/organizations/resources/discoveryDomains/client/Client.ts index ea71194376..f9a82e6701 100644 --- a/src/management/api/resources/organizations/resources/discoveryDomains/client/Client.ts +++ b/src/management/api/resources/organizations/resources/discoveryDomains/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace DiscoveryDomains { - export interface Options extends BaseClientOptions {} +export declare namespace DiscoveryDomainsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class DiscoveryDomains { - protected readonly _options: DiscoveryDomains.Options; +export class DiscoveryDomainsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: DiscoveryDomains.Options) { - this._options = _options; + constructor(options: DiscoveryDomainsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -25,7 +27,7 @@ export class DiscoveryDomains { * * @param {string} id - ID of the organization. * @param {Management.ListOrganizationDiscoveryDomainsRequestParameters} request - * @param {DiscoveryDomains.RequestOptions} requestOptions - Request-specific configuration. + * @param {DiscoveryDomainsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -42,7 +44,7 @@ export class DiscoveryDomains { public async list( id: string, request: Management.ListOrganizationDiscoveryDomainsRequestParameters = {}, - requestOptions?: DiscoveryDomains.RequestOptions, + requestOptions?: DiscoveryDomainsClient.RequestOptions, ): Promise< core.Page > { @@ -58,9 +60,10 @@ export class DiscoveryDomains { if (take !== undefined) { _queryParams["take"] = take?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -77,6 +80,7 @@ export class DiscoveryDomains { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -113,23 +117,12 @@ export class DiscoveryDomains { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /organizations/{id}/discovery-domains.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/organizations/{id}/discovery-domains", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -153,7 +146,7 @@ export class DiscoveryDomains { * * @param {string} id - ID of the organization. * @param {Management.CreateOrganizationDiscoveryDomainRequestContent} request - * @param {DiscoveryDomains.RequestOptions} requestOptions - Request-specific configuration. + * @param {DiscoveryDomainsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -170,7 +163,7 @@ export class DiscoveryDomains { public create( id: string, request: Management.CreateOrganizationDiscoveryDomainRequestContent, - requestOptions?: DiscoveryDomains.RequestOptions, + requestOptions?: DiscoveryDomainsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(id, request, requestOptions)); } @@ -178,11 +171,12 @@ export class DiscoveryDomains { private async __create( id: string, request: Management.CreateOrganizationDiscoveryDomainRequestContent, - requestOptions?: DiscoveryDomains.RequestOptions, + requestOptions?: DiscoveryDomainsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -202,6 +196,7 @@ export class DiscoveryDomains { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -233,31 +228,20 @@ export class DiscoveryDomains { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /organizations/{id}/discovery-domains.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/organizations/{id}/discovery-domains", + ); } /** * Retrieve details about a single organization discovery domain specified by ID. * * @param {string} id - ID of the organization. - * @param {string} discoveryDomainId - ID of the discovery domain. - * @param {DiscoveryDomains.RequestOptions} requestOptions - Request-specific configuration. + * @param {string} discovery_domain_id - ID of the discovery domain. + * @param {DiscoveryDomainsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -270,20 +254,21 @@ export class DiscoveryDomains { */ public get( id: string, - discoveryDomainId: string, - requestOptions?: DiscoveryDomains.RequestOptions, + discovery_domain_id: string, + requestOptions?: DiscoveryDomainsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__get(id, discoveryDomainId, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__get(id, discovery_domain_id, requestOptions)); } private async __get( id: string, - discoveryDomainId: string, - requestOptions?: DiscoveryDomains.RequestOptions, + discovery_domain_id: string, + requestOptions?: DiscoveryDomainsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -291,7 +276,7 @@ export class DiscoveryDomains { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `organizations/${core.url.encodePathParam(id)}/discovery-domains/${core.url.encodePathParam(discoveryDomainId)}`, + `organizations/${core.url.encodePathParam(id)}/discovery-domains/${core.url.encodePathParam(discovery_domain_id)}`, ), method: "GET", headers: _headers, @@ -300,6 +285,7 @@ export class DiscoveryDomains { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -329,31 +315,20 @@ export class DiscoveryDomains { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /organizations/{id}/discovery-domains/{discovery_domain_id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/organizations/{id}/discovery-domains/{discovery_domain_id}", + ); } /** * Remove a discovery domain from an organization. This action cannot be undone. * * @param {string} id - ID of the organization. - * @param {string} discoveryDomainId - ID of the discovery domain. - * @param {DiscoveryDomains.RequestOptions} requestOptions - Request-specific configuration. + * @param {string} discovery_domain_id - ID of the discovery domain. + * @param {DiscoveryDomainsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -365,20 +340,21 @@ export class DiscoveryDomains { */ public delete( id: string, - discoveryDomainId: string, - requestOptions?: DiscoveryDomains.RequestOptions, + discovery_domain_id: string, + requestOptions?: DiscoveryDomainsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__delete(id, discoveryDomainId, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__delete(id, discovery_domain_id, requestOptions)); } private async __delete( id: string, - discoveryDomainId: string, - requestOptions?: DiscoveryDomains.RequestOptions, + discovery_domain_id: string, + requestOptions?: DiscoveryDomainsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -386,7 +362,7 @@ export class DiscoveryDomains { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `organizations/${core.url.encodePathParam(id)}/discovery-domains/${core.url.encodePathParam(discoveryDomainId)}`, + `organizations/${core.url.encodePathParam(id)}/discovery-domains/${core.url.encodePathParam(discovery_domain_id)}`, ), method: "DELETE", headers: _headers, @@ -395,6 +371,7 @@ export class DiscoveryDomains { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -419,32 +396,21 @@ export class DiscoveryDomains { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /organizations/{id}/discovery-domains/{discovery_domain_id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/organizations/{id}/discovery-domains/{discovery_domain_id}", + ); } /** * Update the verification status for an organization discovery domain. The status field must be either pending or verified. * * @param {string} id - ID of the organization. - * @param {string} discoveryDomainId - ID of the discovery domain to update. + * @param {string} discovery_domain_id - ID of the discovery domain to update. * @param {Management.UpdateOrganizationDiscoveryDomainRequestContent} request - * @param {DiscoveryDomains.RequestOptions} requestOptions - Request-specific configuration. + * @param {DiscoveryDomainsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.NotFoundError} @@ -454,22 +420,23 @@ export class DiscoveryDomains { */ public update( id: string, - discoveryDomainId: string, + discovery_domain_id: string, request: Management.UpdateOrganizationDiscoveryDomainRequestContent = {}, - requestOptions?: DiscoveryDomains.RequestOptions, + requestOptions?: DiscoveryDomainsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__update(id, discoveryDomainId, request, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__update(id, discovery_domain_id, request, requestOptions)); } private async __update( id: string, - discoveryDomainId: string, + discovery_domain_id: string, request: Management.UpdateOrganizationDiscoveryDomainRequestContent = {}, - requestOptions?: DiscoveryDomains.RequestOptions, + requestOptions?: DiscoveryDomainsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -477,7 +444,7 @@ export class DiscoveryDomains { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `organizations/${core.url.encodePathParam(id)}/discovery-domains/${core.url.encodePathParam(discoveryDomainId)}`, + `organizations/${core.url.encodePathParam(id)}/discovery-domains/${core.url.encodePathParam(discovery_domain_id)}`, ), method: "PATCH", headers: _headers, @@ -489,6 +456,7 @@ export class DiscoveryDomains { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -512,26 +480,11 @@ export class DiscoveryDomains { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /organizations/{id}/discovery-domains/{discovery_domain_id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/organizations/{id}/discovery-domains/{discovery_domain_id}", + ); } } diff --git a/src/management/api/resources/organizations/resources/enabledConnections/client/Client.ts b/src/management/api/resources/organizations/resources/enabledConnections/client/Client.ts index 732ea5bf15..cf036ae74f 100644 --- a/src/management/api/resources/organizations/resources/enabledConnections/client/Client.ts +++ b/src/management/api/resources/organizations/resources/enabledConnections/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace EnabledConnections { - export interface Options extends BaseClientOptions {} +export declare namespace EnabledConnectionsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class EnabledConnections { - protected readonly _options: EnabledConnections.Options; +export class EnabledConnectionsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: EnabledConnections.Options) { - this._options = _options; + constructor(options: EnabledConnectionsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -25,7 +27,7 @@ export class EnabledConnections { * * @param {string} id - Organization identifier. * @param {Management.ListOrganizationConnectionsRequestParameters} request - * @param {EnabledConnections.RequestOptions} requestOptions - Request-specific configuration. + * @param {EnabledConnectionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -42,7 +44,7 @@ export class EnabledConnections { public async list( id: string, request: Management.ListOrganizationConnectionsRequestParameters = {}, - requestOptions?: EnabledConnections.RequestOptions, + requestOptions?: EnabledConnectionsClient.RequestOptions, ): Promise< core.Page< Management.OrganizationConnection, @@ -64,9 +66,10 @@ export class EnabledConnections { if (includeTotals !== undefined) { _queryParams["include_totals"] = includeTotals?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -83,6 +86,7 @@ export class EnabledConnections { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -117,23 +121,12 @@ export class EnabledConnections { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /organizations/{id}/enabled_connections.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/organizations/{id}/enabled_connections", + ); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -144,10 +137,11 @@ export class EnabledConnections { >({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.enabled_connections ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => + (response?.enabled_connections ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.enabled_connections ?? [], - loadPage: (response) => { - _offset += response?.enabled_connections != null ? response.enabled_connections.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -160,7 +154,7 @@ export class EnabledConnections { * * @param {string} id - Organization identifier. * @param {Management.AddOrganizationConnectionRequestContent} request - * @param {EnabledConnections.RequestOptions} requestOptions - Request-specific configuration. + * @param {EnabledConnectionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -175,7 +169,7 @@ export class EnabledConnections { public add( id: string, request: Management.AddOrganizationConnectionRequestContent, - requestOptions?: EnabledConnections.RequestOptions, + requestOptions?: EnabledConnectionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__add(id, request, requestOptions)); } @@ -183,11 +177,12 @@ export class EnabledConnections { private async __add( id: string, request: Management.AddOrganizationConnectionRequestContent, - requestOptions?: EnabledConnections.RequestOptions, + requestOptions?: EnabledConnectionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -207,6 +202,7 @@ export class EnabledConnections { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -234,23 +230,12 @@ export class EnabledConnections { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /organizations/{id}/enabled_connections.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/organizations/{id}/enabled_connections", + ); } /** @@ -258,7 +243,7 @@ export class EnabledConnections { * * @param {string} id - Organization identifier. * @param {string} connectionId - Connection identifier. - * @param {EnabledConnections.RequestOptions} requestOptions - Request-specific configuration. + * @param {EnabledConnectionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -270,7 +255,7 @@ export class EnabledConnections { public get( id: string, connectionId: string, - requestOptions?: EnabledConnections.RequestOptions, + requestOptions?: EnabledConnectionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, connectionId, requestOptions)); } @@ -278,11 +263,12 @@ export class EnabledConnections { private async __get( id: string, connectionId: string, - requestOptions?: EnabledConnections.RequestOptions, + requestOptions?: EnabledConnectionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -299,6 +285,7 @@ export class EnabledConnections { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -324,23 +311,12 @@ export class EnabledConnections { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /organizations/{id}/enabled_connections/{connectionId}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/organizations/{id}/enabled_connections/{connectionId}", + ); } /** @@ -350,7 +326,7 @@ export class EnabledConnections { * * @param {string} id - Organization identifier. * @param {string} connectionId - Connection identifier. - * @param {EnabledConnections.RequestOptions} requestOptions - Request-specific configuration. + * @param {EnabledConnectionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -363,7 +339,7 @@ export class EnabledConnections { public delete( id: string, connectionId: string, - requestOptions?: EnabledConnections.RequestOptions, + requestOptions?: EnabledConnectionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, connectionId, requestOptions)); } @@ -371,11 +347,12 @@ export class EnabledConnections { private async __delete( id: string, connectionId: string, - requestOptions?: EnabledConnections.RequestOptions, + requestOptions?: EnabledConnectionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -392,6 +369,7 @@ export class EnabledConnections { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -416,23 +394,12 @@ export class EnabledConnections { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /organizations/{id}/enabled_connections/{connectionId}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/organizations/{id}/enabled_connections/{connectionId}", + ); } /** @@ -441,7 +408,7 @@ export class EnabledConnections { * @param {string} id - Organization identifier. * @param {string} connectionId - Connection identifier. * @param {Management.UpdateOrganizationConnectionRequestContent} request - * @param {EnabledConnections.RequestOptions} requestOptions - Request-specific configuration. + * @param {EnabledConnectionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -455,7 +422,7 @@ export class EnabledConnections { id: string, connectionId: string, request: Management.UpdateOrganizationConnectionRequestContent = {}, - requestOptions?: EnabledConnections.RequestOptions, + requestOptions?: EnabledConnectionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, connectionId, request, requestOptions)); } @@ -464,11 +431,12 @@ export class EnabledConnections { id: string, connectionId: string, request: Management.UpdateOrganizationConnectionRequestContent = {}, - requestOptions?: EnabledConnections.RequestOptions, + requestOptions?: EnabledConnectionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -488,6 +456,7 @@ export class EnabledConnections { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -515,26 +484,11 @@ export class EnabledConnections { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /organizations/{id}/enabled_connections/{connectionId}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/organizations/{id}/enabled_connections/{connectionId}", + ); } } diff --git a/src/management/api/resources/organizations/resources/invitations/client/Client.ts b/src/management/api/resources/organizations/resources/invitations/client/Client.ts index 9533c07ce6..d74074b37a 100644 --- a/src/management/api/resources/organizations/resources/invitations/client/Client.ts +++ b/src/management/api/resources/organizations/resources/invitations/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Invitations { - export interface Options extends BaseClientOptions {} +export declare namespace InvitationsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Invitations { - protected readonly _options: Invitations.Options; +export class InvitationsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Invitations.Options) { - this._options = _options; + constructor(options: InvitationsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -25,7 +27,7 @@ export class Invitations { * * @param {string} id - Organization identifier. * @param {Management.ListOrganizationInvitationsRequestParameters} request - * @param {Invitations.RequestOptions} requestOptions - Request-specific configuration. + * @param {InvitationsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -46,7 +48,7 @@ export class Invitations { public async list( id: string, request: Management.ListOrganizationInvitationsRequestParameters = {}, - requestOptions?: Invitations.RequestOptions, + requestOptions?: InvitationsClient.RequestOptions, ): Promise< core.Page< Management.OrganizationInvitation, @@ -84,9 +86,10 @@ export class Invitations { if (sort !== undefined) { _queryParams["sort"] = sort; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -103,6 +106,7 @@ export class Invitations { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -139,23 +143,12 @@ export class Invitations { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /organizations/{id}/invitations.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/organizations/{id}/invitations", + ); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -166,10 +159,10 @@ export class Invitations { >({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.invitations ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.invitations ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.invitations ?? [], - loadPage: (response) => { - _offset += response?.invitations != null ? response.invitations.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -180,7 +173,7 @@ export class Invitations { * * @param {string} id - Organization identifier. * @param {Management.CreateOrganizationInvitationRequestContent} request - * @param {Invitations.RequestOptions} requestOptions - Request-specific configuration. + * @param {InvitationsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -202,7 +195,7 @@ export class Invitations { public create( id: string, request: Management.CreateOrganizationInvitationRequestContent, - requestOptions?: Invitations.RequestOptions, + requestOptions?: InvitationsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(id, request, requestOptions)); } @@ -210,11 +203,12 @@ export class Invitations { private async __create( id: string, request: Management.CreateOrganizationInvitationRequestContent, - requestOptions?: Invitations.RequestOptions, + requestOptions?: InvitationsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -234,6 +228,7 @@ export class Invitations { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -263,30 +258,19 @@ export class Invitations { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /organizations/{id}/invitations.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/organizations/{id}/invitations", + ); } /** * @param {string} id - Organization identifier. - * @param {string} invitationId - The id of the user invitation. + * @param {string} invitation_id - The id of the user invitation. * @param {Management.GetOrganizationInvitationRequestParameters} request - * @param {Invitations.RequestOptions} requestOptions - Request-specific configuration. + * @param {InvitationsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -302,18 +286,18 @@ export class Invitations { */ public get( id: string, - invitationId: string, + invitation_id: string, request: Management.GetOrganizationInvitationRequestParameters = {}, - requestOptions?: Invitations.RequestOptions, + requestOptions?: InvitationsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__get(id, invitationId, request, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__get(id, invitation_id, request, requestOptions)); } private async __get( id: string, - invitationId: string, + invitation_id: string, request: Management.GetOrganizationInvitationRequestParameters = {}, - requestOptions?: Invitations.RequestOptions, + requestOptions?: InvitationsClient.RequestOptions, ): Promise> { const { fields, include_fields: includeFields } = request; const _queryParams: Record = {}; @@ -325,9 +309,10 @@ export class Invitations { _queryParams["include_fields"] = includeFields?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -335,7 +320,7 @@ export class Invitations { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `organizations/${core.url.encodePathParam(id)}/invitations/${core.url.encodePathParam(invitationId)}`, + `organizations/${core.url.encodePathParam(id)}/invitations/${core.url.encodePathParam(invitation_id)}`, ), method: "GET", headers: _headers, @@ -344,6 +329,7 @@ export class Invitations { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -373,29 +359,18 @@ export class Invitations { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /organizations/{id}/invitations/{invitation_id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/organizations/{id}/invitations/{invitation_id}", + ); } /** * @param {string} id - Organization identifier. - * @param {string} invitationId - The id of the user invitation. - * @param {Invitations.RequestOptions} requestOptions - Request-specific configuration. + * @param {string} invitation_id - The id of the user invitation. + * @param {InvitationsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -407,20 +382,21 @@ export class Invitations { */ public delete( id: string, - invitationId: string, - requestOptions?: Invitations.RequestOptions, + invitation_id: string, + requestOptions?: InvitationsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__delete(id, invitationId, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__delete(id, invitation_id, requestOptions)); } private async __delete( id: string, - invitationId: string, - requestOptions?: Invitations.RequestOptions, + invitation_id: string, + requestOptions?: InvitationsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -428,7 +404,7 @@ export class Invitations { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `organizations/${core.url.encodePathParam(id)}/invitations/${core.url.encodePathParam(invitationId)}`, + `organizations/${core.url.encodePathParam(id)}/invitations/${core.url.encodePathParam(invitation_id)}`, ), method: "DELETE", headers: _headers, @@ -437,6 +413,7 @@ export class Invitations { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -461,26 +438,11 @@ export class Invitations { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /organizations/{id}/invitations/{invitation_id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/organizations/{id}/invitations/{invitation_id}", + ); } } diff --git a/src/management/api/resources/organizations/resources/members/client/Client.ts b/src/management/api/resources/organizations/resources/members/client/Client.ts index 4b791c3493..06edb91e60 100644 --- a/src/management/api/resources/organizations/resources/members/client/Client.ts +++ b/src/management/api/resources/organizations/resources/members/client/Client.ts @@ -1,29 +1,31 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; -import { Roles } from "../resources/roles/client/Client.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; +import { RolesClient } from "../resources/roles/client/Client.js"; -export declare namespace Members { - export interface Options extends BaseClientOptions {} +export declare namespace MembersClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Members { - protected readonly _options: Members.Options; - protected _roles: Roles | undefined; +export class MembersClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _roles: RolesClient | undefined; - constructor(_options: Members.Options) { - this._options = _options; + constructor(options: MembersClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get roles(): Roles { - return (this._roles ??= new Roles(this._options)); + public get roles(): RolesClient { + return (this._roles ??= new RolesClient(this._options)); } /** @@ -52,7 +54,7 @@ export class Members { * * @param {string} id - Organization identifier. * @param {Management.ListOrganizationMembersRequestParameters} request - * @param {Members.RequestOptions} requestOptions - Request-specific configuration. + * @param {MembersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -70,7 +72,7 @@ export class Members { public async list( id: string, request: Management.ListOrganizationMembersRequestParameters = {}, - requestOptions?: Members.RequestOptions, + requestOptions?: MembersClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -90,9 +92,10 @@ export class Members { if (includeFields !== undefined) { _queryParams["include_fields"] = includeFields?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -109,6 +112,7 @@ export class Members { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -143,23 +147,12 @@ export class Members { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /organizations/{id}/members.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/organizations/{id}/members", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -184,7 +177,7 @@ export class Members { * * @param {string} id - Organization identifier. * @param {Management.CreateOrganizationMemberRequestContent} request - * @param {Members.RequestOptions} requestOptions - Request-specific configuration. + * @param {MembersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -199,7 +192,7 @@ export class Members { public create( id: string, request: Management.CreateOrganizationMemberRequestContent, - requestOptions?: Members.RequestOptions, + requestOptions?: MembersClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(id, request, requestOptions)); } @@ -207,11 +200,12 @@ export class Members { private async __create( id: string, request: Management.CreateOrganizationMemberRequestContent, - requestOptions?: Members.RequestOptions, + requestOptions?: MembersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -231,6 +225,7 @@ export class Members { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -255,29 +250,13 @@ export class Members { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /organizations/{id}/members.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/organizations/{id}/members"); } /** * @param {string} id - Organization identifier. * @param {Management.DeleteOrganizationMembersRequestContent} request - * @param {Members.RequestOptions} requestOptions - Request-specific configuration. + * @param {MembersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -292,7 +271,7 @@ export class Members { public delete( id: string, request: Management.DeleteOrganizationMembersRequestContent, - requestOptions?: Members.RequestOptions, + requestOptions?: MembersClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, request, requestOptions)); } @@ -300,11 +279,12 @@ export class Members { private async __delete( id: string, request: Management.DeleteOrganizationMembersRequestContent, - requestOptions?: Members.RequestOptions, + requestOptions?: MembersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -324,6 +304,7 @@ export class Members { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -348,26 +329,11 @@ export class Members { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /organizations/{id}/members.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/organizations/{id}/members", + ); } } diff --git a/src/management/api/resources/organizations/resources/members/resources/roles/client/Client.ts b/src/management/api/resources/organizations/resources/members/resources/roles/client/Client.ts index c7e1c7c4dd..aea248bbd5 100644 --- a/src/management/api/resources/organizations/resources/members/resources/roles/client/Client.ts +++ b/src/management/api/resources/organizations/resources/members/resources/roles/client/Client.ts @@ -1,23 +1,28 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../../../BaseClient.js"; +import { + type NormalizedClientOptionsWithAuth, + normalizeClientOptionsWithAuth, +} from "../../../../../../../../BaseClient.js"; import * as environments from "../../../../../../../../environments.js"; import * as core from "../../../../../../../../core/index.js"; import * as Management from "../../../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../../../core/headers.js"; import * as errors from "../../../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Roles { - export interface Options extends BaseClientOptions {} +export declare namespace RolesClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Roles { - protected readonly _options: Roles.Options; +export class RolesClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Roles.Options) { - this._options = _options; + constructor(options: RolesClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -26,9 +31,9 @@ export class Roles { * Users can be members of multiple Organizations with unique roles assigned for each membership. This action only returns the roles associated with the specified Organization; any roles assigned to the user within other Organizations are not included. * * @param {string} id - Organization identifier. - * @param {string} userId - ID of the user to associate roles with. + * @param {string} user_id - ID of the user to associate roles with. * @param {Management.ListOrganizationMemberRolesRequestParameters} request - * @param {Roles.RequestOptions} requestOptions - Request-specific configuration. + * @param {RolesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -44,9 +49,9 @@ export class Roles { */ public async list( id: string, - userId: string, + user_id: string, request: Management.ListOrganizationMemberRolesRequestParameters = {}, - requestOptions?: Roles.RequestOptions, + requestOptions?: RolesClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -63,9 +68,10 @@ export class Roles { if (includeTotals !== undefined) { _queryParams["include_totals"] = includeTotals?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -73,7 +79,7 @@ export class Roles { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `organizations/${core.url.encodePathParam(id)}/members/${core.url.encodePathParam(userId)}/roles`, + `organizations/${core.url.encodePathParam(id)}/members/${core.url.encodePathParam(user_id)}/roles`, ), method: "GET", headers: _headers, @@ -82,6 +88,7 @@ export class Roles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -116,23 +123,12 @@ export class Roles { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /organizations/{id}/members/{user_id}/roles.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/organizations/{id}/members/{user_id}/roles", + ); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -140,10 +136,10 @@ export class Roles { return new core.Page({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.roles ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.roles ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.roles ?? [], - loadPage: (response) => { - _offset += response?.roles != null ? response.roles.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -155,9 +151,9 @@ export class Roles { * Users can be members of multiple Organizations with unique roles assigned for each membership. This action assigns roles to a user only for the specified Organization. Roles cannot be assigned to a user across multiple Organizations in the same call. * * @param {string} id - Organization identifier. - * @param {string} userId - ID of the user to associate roles with. + * @param {string} user_id - ID of the user to associate roles with. * @param {Management.AssignOrganizationMemberRolesRequestContent} request - * @param {Roles.RequestOptions} requestOptions - Request-specific configuration. + * @param {RolesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -172,22 +168,23 @@ export class Roles { */ public assign( id: string, - userId: string, + user_id: string, request: Management.AssignOrganizationMemberRolesRequestContent, - requestOptions?: Roles.RequestOptions, + requestOptions?: RolesClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__assign(id, userId, request, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__assign(id, user_id, request, requestOptions)); } private async __assign( id: string, - userId: string, + user_id: string, request: Management.AssignOrganizationMemberRolesRequestContent, - requestOptions?: Roles.RequestOptions, + requestOptions?: RolesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -195,7 +192,7 @@ export class Roles { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `organizations/${core.url.encodePathParam(id)}/members/${core.url.encodePathParam(userId)}/roles`, + `organizations/${core.url.encodePathParam(id)}/members/${core.url.encodePathParam(user_id)}/roles`, ), method: "POST", headers: _headers, @@ -207,6 +204,7 @@ export class Roles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -233,23 +231,12 @@ export class Roles { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /organizations/{id}/members/{user_id}/roles.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/organizations/{id}/members/{user_id}/roles", + ); } /** @@ -258,9 +245,9 @@ export class Roles { * Users can be members of multiple Organizations with unique roles assigned for each membership. This action removes roles from a user in relation to the specified Organization. Roles assigned to the user within a different Organization cannot be managed in the same call. * * @param {string} id - Organization identifier. - * @param {string} userId - User ID of the organization member to remove roles from. + * @param {string} user_id - User ID of the organization member to remove roles from. * @param {Management.DeleteOrganizationMemberRolesRequestContent} request - * @param {Roles.RequestOptions} requestOptions - Request-specific configuration. + * @param {RolesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -274,22 +261,23 @@ export class Roles { */ public delete( id: string, - userId: string, + user_id: string, request: Management.DeleteOrganizationMemberRolesRequestContent, - requestOptions?: Roles.RequestOptions, + requestOptions?: RolesClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__delete(id, userId, request, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__delete(id, user_id, request, requestOptions)); } private async __delete( id: string, - userId: string, + user_id: string, request: Management.DeleteOrganizationMemberRolesRequestContent, - requestOptions?: Roles.RequestOptions, + requestOptions?: RolesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -297,7 +285,7 @@ export class Roles { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `organizations/${core.url.encodePathParam(id)}/members/${core.url.encodePathParam(userId)}/roles`, + `organizations/${core.url.encodePathParam(id)}/members/${core.url.encodePathParam(user_id)}/roles`, ), method: "DELETE", headers: _headers, @@ -309,6 +297,7 @@ export class Roles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -333,26 +322,11 @@ export class Roles { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /organizations/{id}/members/{user_id}/roles.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/organizations/{id}/members/{user_id}/roles", + ); } } diff --git a/src/management/api/resources/prompts/client/Client.ts b/src/management/api/resources/prompts/client/Client.ts index 22b51a1d40..3f103d0f0a 100644 --- a/src/management/api/resources/prompts/client/Client.ts +++ b/src/management/api/resources/prompts/client/Client.ts @@ -1,47 +1,49 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; -import { Rendering } from "../resources/rendering/client/Client.js"; -import { CustomText } from "../resources/customText/client/Client.js"; -import { Partials } from "../resources/partials/client/Client.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; +import { RenderingClient } from "../resources/rendering/client/Client.js"; +import { CustomTextClient } from "../resources/customText/client/Client.js"; +import { PartialsClient } from "../resources/partials/client/Client.js"; -export declare namespace Prompts { - export interface Options extends BaseClientOptions {} +export declare namespace PromptsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Prompts { - protected readonly _options: Prompts.Options; - protected _rendering: Rendering | undefined; - protected _customText: CustomText | undefined; - protected _partials: Partials | undefined; +export class PromptsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _rendering: RenderingClient | undefined; + protected _customText: CustomTextClient | undefined; + protected _partials: PartialsClient | undefined; - constructor(_options: Prompts.Options) { - this._options = _options; + constructor(options: PromptsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get rendering(): Rendering { - return (this._rendering ??= new Rendering(this._options)); + public get rendering(): RenderingClient { + return (this._rendering ??= new RenderingClient(this._options)); } - public get customText(): CustomText { - return (this._customText ??= new CustomText(this._options)); + public get customText(): CustomTextClient { + return (this._customText ??= new CustomTextClient(this._options)); } - public get partials(): Partials { - return (this._partials ??= new Partials(this._options)); + public get partials(): PartialsClient { + return (this._partials ??= new PartialsClient(this._options)); } /** * Retrieve details of the Universal Login configuration of your tenant. This includes the Identifier First Authentication and WebAuthn with Device Biometrics for MFA features. * - * @param {Prompts.RequestOptions} requestOptions - Request-specific configuration. + * @param {PromptsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -51,17 +53,18 @@ export class Prompts { * await client.prompts.getSettings() */ public getSettings( - requestOptions?: Prompts.RequestOptions, + requestOptions?: PromptsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__getSettings(requestOptions)); } private async __getSettings( - requestOptions?: Prompts.RequestOptions, + requestOptions?: PromptsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -78,6 +81,7 @@ export class Prompts { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -103,28 +107,14 @@ export class Prompts { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /prompts."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/prompts"); } /** * Update the Universal Login configuration of your tenant. This includes the Identifier First Authentication and WebAuthn with Device Biometrics for MFA features. * * @param {Management.UpdateSettingsRequestContent} request - * @param {Prompts.RequestOptions} requestOptions - Request-specific configuration. + * @param {PromptsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -136,18 +126,19 @@ export class Prompts { */ public updateSettings( request: Management.UpdateSettingsRequestContent = {}, - requestOptions?: Prompts.RequestOptions, + requestOptions?: PromptsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__updateSettings(request, requestOptions)); } private async __updateSettings( request: Management.UpdateSettingsRequestContent = {}, - requestOptions?: Prompts.RequestOptions, + requestOptions?: PromptsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -167,6 +158,7 @@ export class Prompts { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -194,24 +186,6 @@ export class Prompts { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PATCH /prompts."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/prompts"); } } diff --git a/src/management/api/resources/prompts/resources/customText/client/Client.ts b/src/management/api/resources/prompts/resources/customText/client/Client.ts index ac17d70cbb..99444b9327 100644 --- a/src/management/api/resources/prompts/resources/customText/client/Client.ts +++ b/src/management/api/resources/prompts/resources/customText/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace CustomText { - export interface Options extends BaseClientOptions {} +export declare namespace CustomTextClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class CustomText { - protected readonly _options: CustomText.Options; +export class CustomTextClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: CustomText.Options) { - this._options = _options; + constructor(options: CustomTextClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -25,7 +27,7 @@ export class CustomText { * * @param {Management.PromptGroupNameEnum} prompt - Name of the prompt. * @param {Management.PromptLanguageEnum} language - Language to update. - * @param {CustomText.RequestOptions} requestOptions - Request-specific configuration. + * @param {CustomTextClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -39,7 +41,7 @@ export class CustomText { public get( prompt: Management.PromptGroupNameEnum, language: Management.PromptLanguageEnum, - requestOptions?: CustomText.RequestOptions, + requestOptions?: CustomTextClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(prompt, language, requestOptions)); } @@ -47,11 +49,12 @@ export class CustomText { private async __get( prompt: Management.PromptGroupNameEnum, language: Management.PromptLanguageEnum, - requestOptions?: CustomText.RequestOptions, + requestOptions?: CustomTextClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -68,6 +71,7 @@ export class CustomText { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -97,23 +101,12 @@ export class CustomText { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /prompts/{prompt}/custom-text/{language}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/prompts/{prompt}/custom-text/{language}", + ); } /** @@ -122,7 +115,7 @@ export class CustomText { * @param {Management.PromptGroupNameEnum} prompt - Name of the prompt. * @param {Management.PromptLanguageEnum} language - Language to update. * @param {Management.SetsCustomTextsByLanguageRequestContent} request - * @param {CustomText.RequestOptions} requestOptions - Request-specific configuration. + * @param {CustomTextClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -138,7 +131,7 @@ export class CustomText { prompt: Management.PromptGroupNameEnum, language: Management.PromptLanguageEnum, request: Management.SetsCustomTextsByLanguageRequestContent, - requestOptions?: CustomText.RequestOptions, + requestOptions?: CustomTextClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__set(prompt, language, request, requestOptions)); } @@ -147,11 +140,12 @@ export class CustomText { prompt: Management.PromptGroupNameEnum, language: Management.PromptLanguageEnum, request: Management.SetsCustomTextsByLanguageRequestContent, - requestOptions?: CustomText.RequestOptions, + requestOptions?: CustomTextClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -171,6 +165,7 @@ export class CustomText { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -195,26 +190,11 @@ export class CustomText { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PUT /prompts/{prompt}/custom-text/{language}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/prompts/{prompt}/custom-text/{language}", + ); } } diff --git a/src/management/api/resources/prompts/resources/partials/client/Client.ts b/src/management/api/resources/prompts/resources/partials/client/Client.ts index 51d614d63c..8510a0fb2c 100644 --- a/src/management/api/resources/prompts/resources/partials/client/Client.ts +++ b/src/management/api/resources/prompts/resources/partials/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Partials { - export interface Options extends BaseClientOptions {} +export declare namespace PartialsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Partials { - protected readonly _options: Partials.Options; +export class PartialsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Partials.Options) { - this._options = _options; + constructor(options: PartialsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Get template partials for a prompt * * @param {Management.PartialGroupsEnum} prompt - Name of the prompt. - * @param {Partials.RequestOptions} requestOptions - Request-specific configuration. + * @param {PartialsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -37,18 +39,19 @@ export class Partials { */ public get( prompt: Management.PartialGroupsEnum, - requestOptions?: Partials.RequestOptions, + requestOptions?: PartialsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(prompt, requestOptions)); } private async __get( prompt: Management.PartialGroupsEnum, - requestOptions?: Partials.RequestOptions, + requestOptions?: PartialsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -65,6 +68,7 @@ export class Partials { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -94,23 +98,7 @@ export class Partials { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /prompts/{prompt}/partials.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/prompts/{prompt}/partials"); } /** @@ -118,7 +106,7 @@ export class Partials { * * @param {Management.PartialGroupsEnum} prompt - Name of the prompt. * @param {Management.SetPartialsRequestContent} request - * @param {Partials.RequestOptions} requestOptions - Request-specific configuration. + * @param {PartialsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -133,7 +121,7 @@ export class Partials { public set( prompt: Management.PartialGroupsEnum, request: Management.SetPartialsRequestContent, - requestOptions?: Partials.RequestOptions, + requestOptions?: PartialsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__set(prompt, request, requestOptions)); } @@ -141,11 +129,12 @@ export class Partials { private async __set( prompt: Management.PartialGroupsEnum, request: Management.SetPartialsRequestContent, - requestOptions?: Partials.RequestOptions, + requestOptions?: PartialsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -165,6 +154,7 @@ export class Partials { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -189,26 +179,6 @@ export class Partials { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PUT /prompts/{prompt}/partials.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PUT", "/prompts/{prompt}/partials"); } } diff --git a/src/management/api/resources/prompts/resources/rendering/client/Client.ts b/src/management/api/resources/prompts/resources/rendering/client/Client.ts index c49809ce78..18f2c082d3 100644 --- a/src/management/api/resources/prompts/resources/rendering/client/Client.ts +++ b/src/management/api/resources/prompts/resources/rendering/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Rendering { - export interface Options extends BaseClientOptions {} +export declare namespace RenderingClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Rendering { - protected readonly _options: Rendering.Options; +export class RenderingClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Rendering.Options) { - this._options = _options; + constructor(options: RenderingClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Get render setting configurations for all screens. * * @param {Management.ListAculsRequestParameters} request - * @param {Rendering.RequestOptions} requestOptions - Request-specific configuration. + * @param {RenderingClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -46,7 +48,7 @@ export class Rendering { */ public async list( request: Management.ListAculsRequestParameters = {}, - requestOptions?: Rendering.RequestOptions, + requestOptions?: RenderingClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -87,9 +89,10 @@ export class Rendering { if (renderingMode !== undefined) { _queryParams["rendering_mode"] = renderingMode; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -106,6 +109,7 @@ export class Rendering { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -145,23 +149,7 @@ export class Rendering { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /prompts/rendering.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/prompts/rendering"); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -169,10 +157,10 @@ export class Rendering { return new core.Page({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.configs ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.configs ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.configs ?? [], - loadPage: (response) => { - _offset += response?.configs != null ? response.configs.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -181,35 +169,8 @@ export class Rendering { /** * Learn more about configuring render settings for advanced customization. * - *

    - * Example head_tags array. See our documentation on using Liquid variables within head tags. - *

    - *
    {
    -     *   "head_tags": [
    -     *     {
    -     *       "tag": "script",
    -     *       "attributes": {
    -     *         "defer": true,
    -     *         "src": "URL_TO_ASSET",
    -     *         "async": true,
    -     *         "integrity": [
    -     *           "ASSET_SHA"
    -     *         ]
    -     *       }
    -     *     },
    -     *     {
    -     *       "tag": "link",
    -     *       "attributes": {
    -     *         "href": "URL_TO_ASSET",
    -     *         "rel": "stylesheet"
    -     *       }
    -     *     }
    -     *   ]
    -     * }
    -     * 
    - * * @param {Management.BulkUpdateAculRequestContent} request - * @param {Rendering.RequestOptions} requestOptions - Request-specific configuration. + * @param {RenderingClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -221,26 +182,25 @@ export class Rendering { * await client.prompts.rendering.bulkUpdate({ * configs: [{ * prompt: "login", - * screen: "login", - * rendering_mode: "advanced", - * head_tags: [{}] + * screen: "login" * }] * }) */ public bulkUpdate( request: Management.BulkUpdateAculRequestContent, - requestOptions?: Rendering.RequestOptions, + requestOptions?: RenderingClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__bulkUpdate(request, requestOptions)); } private async __bulkUpdate( request: Management.BulkUpdateAculRequestContent, - requestOptions?: Rendering.RequestOptions, + requestOptions?: RenderingClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -260,6 +220,7 @@ export class Rendering { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -289,21 +250,7 @@ export class Rendering { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PATCH /prompts/rendering."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/prompts/rendering"); } /** @@ -311,7 +258,7 @@ export class Rendering { * * @param {Management.PromptGroupNameEnum} prompt - Name of the prompt * @param {Management.ScreenGroupNameEnum} screen - Name of the screen - * @param {Rendering.RequestOptions} requestOptions - Request-specific configuration. + * @param {RenderingClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -326,7 +273,7 @@ export class Rendering { public get( prompt: Management.PromptGroupNameEnum, screen: Management.ScreenGroupNameEnum, - requestOptions?: Rendering.RequestOptions, + requestOptions?: RenderingClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(prompt, screen, requestOptions)); } @@ -334,11 +281,12 @@ export class Rendering { private async __get( prompt: Management.PromptGroupNameEnum, screen: Management.ScreenGroupNameEnum, - requestOptions?: Rendering.RequestOptions, + requestOptions?: RenderingClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -355,6 +303,7 @@ export class Rendering { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.GetAculResponseContent, rawResponse: _response.rawResponse }; @@ -383,59 +332,21 @@ export class Rendering { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /prompts/{prompt}/screen/{screen}/rendering.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/prompts/{prompt}/screen/{screen}/rendering", + ); } /** * Learn more about configuring render settings for advanced customization. * - *

    - * Example head_tags array. See our documentation on using Liquid variables within head tags. - *

    - *
    {
    -     *   "head_tags": [
    -     *     {
    -     *       "tag": "script",
    -     *       "attributes": {
    -     *         "defer": true,
    -     *         "src": "URL_TO_ASSET",
    -     *         "async": true,
    -     *         "integrity": [
    -     *           "ASSET_SHA"
    -     *         ]
    -     *       }
    -     *     },
    -     *     {
    -     *       "tag": "link",
    -     *       "attributes": {
    -     *         "href": "URL_TO_ASSET",
    -     *         "rel": "stylesheet"
    -     *       }
    -     *     }
    -     *   ]
    -     * }
    -     * 
    - * * @param {Management.PromptGroupNameEnum} prompt - Name of the prompt * @param {Management.ScreenGroupNameEnum} screen - Name of the screen * @param {Management.UpdateAculRequestContent} request - * @param {Rendering.RequestOptions} requestOptions - Request-specific configuration. + * @param {RenderingClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -444,16 +355,13 @@ export class Rendering { * @throws {@link Management.TooManyRequestsError} * * @example - * await client.prompts.rendering.update("login", "login", { - * rendering_mode: "advanced", - * head_tags: [{}] - * }) + * await client.prompts.rendering.update("login", "login") */ public update( prompt: Management.PromptGroupNameEnum, screen: Management.ScreenGroupNameEnum, - request: Management.UpdateAculRequestContent, - requestOptions?: Rendering.RequestOptions, + request: Management.UpdateAculRequestContent = {}, + requestOptions?: RenderingClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(prompt, screen, request, requestOptions)); } @@ -461,12 +369,13 @@ export class Rendering { private async __update( prompt: Management.PromptGroupNameEnum, screen: Management.ScreenGroupNameEnum, - request: Management.UpdateAculRequestContent, - requestOptions?: Rendering.RequestOptions, + request: Management.UpdateAculRequestContent = {}, + requestOptions?: RenderingClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -486,6 +395,7 @@ export class Rendering { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.UpdateAculResponseContent, rawResponse: _response.rawResponse }; @@ -512,26 +422,11 @@ export class Rendering { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /prompts/{prompt}/screen/{screen}/rendering.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/prompts/{prompt}/screen/{screen}/rendering", + ); } } diff --git a/src/management/api/resources/refreshTokens/client/Client.ts b/src/management/api/resources/refreshTokens/client/Client.ts index 2a4bf9430b..d2d113f177 100644 --- a/src/management/api/resources/refreshTokens/client/Client.ts +++ b/src/management/api/resources/refreshTokens/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; -export declare namespace RefreshTokens { - export interface Options extends BaseClientOptions {} +export declare namespace RefreshTokensClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class RefreshTokens { - protected readonly _options: RefreshTokens.Options; +export class RefreshTokensClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: RefreshTokens.Options) { - this._options = _options; + constructor(options: RefreshTokensClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve refresh token information. * * @param {string} id - ID refresh token to retrieve - * @param {RefreshTokens.RequestOptions} requestOptions - Request-specific configuration. + * @param {RefreshTokensClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -36,18 +38,19 @@ export class RefreshTokens { */ public get( id: string, - requestOptions?: RefreshTokens.RequestOptions, + requestOptions?: RefreshTokensClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: RefreshTokens.RequestOptions, + requestOptions?: RefreshTokensClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -64,6 +67,7 @@ export class RefreshTokens { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -91,28 +95,14 @@ export class RefreshTokens { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /refresh-tokens/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/refresh-tokens/{id}"); } /** * Delete a refresh token by its ID. * * @param {string} id - ID of the refresh token to delete. - * @param {RefreshTokens.RequestOptions} requestOptions - Request-specific configuration. + * @param {RefreshTokensClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -122,17 +112,18 @@ export class RefreshTokens { * @example * await client.refreshTokens.delete("id") */ - public delete(id: string, requestOptions?: RefreshTokens.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: RefreshTokensClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } private async __delete( id: string, - requestOptions?: RefreshTokens.RequestOptions, + requestOptions?: RefreshTokensClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -149,6 +140,7 @@ export class RefreshTokens { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -173,24 +165,6 @@ export class RefreshTokens { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /refresh-tokens/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/refresh-tokens/{id}"); } } diff --git a/src/management/api/resources/resourceServers/client/Client.ts b/src/management/api/resources/resourceServers/client/Client.ts index 5ef63de3ee..346035c010 100644 --- a/src/management/api/resources/resourceServers/client/Client.ts +++ b/src/management/api/resources/resourceServers/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; -export declare namespace ResourceServers { - export interface Options extends BaseClientOptions {} +export declare namespace ResourceServersClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class ResourceServers { - protected readonly _options: ResourceServers.Options; +export class ResourceServersClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: ResourceServers.Options) { - this._options = _options; + constructor(options: ResourceServersClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve details of all APIs associated with your tenant. * * @param {Management.ListResourceServerRequestParameters} request - * @param {ResourceServers.RequestOptions} requestOptions - Request-specific configuration. + * @param {ResourceServersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -41,7 +43,7 @@ export class ResourceServers { */ public async list( request: Management.ListResourceServerRequestParameters = {}, - requestOptions?: ResourceServers.RequestOptions, + requestOptions?: ResourceServersClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -74,9 +76,10 @@ export class ResourceServers { if (includeFields !== undefined) { _queryParams["include_fields"] = includeFields?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -93,6 +96,7 @@ export class ResourceServers { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -127,21 +131,7 @@ export class ResourceServers { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /resource-servers."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/resource-servers"); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -149,10 +139,10 @@ export class ResourceServers { return new core.Page({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.resource_servers ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.resource_servers ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.resource_servers ?? [], - loadPage: (response) => { - _offset += response?.resource_servers != null ? response.resource_servers.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -162,7 +152,7 @@ export class ResourceServers { * Create a new API associated with your tenant. Note that all new APIs must be registered with Auth0. For more information, read APIs. * * @param {Management.CreateResourceServerRequestContent} request - * @param {ResourceServers.RequestOptions} requestOptions - Request-specific configuration. + * @param {ResourceServersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -177,18 +167,19 @@ export class ResourceServers { */ public create( request: Management.CreateResourceServerRequestContent, - requestOptions?: ResourceServers.RequestOptions, + requestOptions?: ResourceServersClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateResourceServerRequestContent, - requestOptions?: ResourceServers.RequestOptions, + requestOptions?: ResourceServersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -208,6 +199,7 @@ export class ResourceServers { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -237,21 +229,7 @@ export class ResourceServers { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /resource-servers."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/resource-servers"); } /** @@ -259,7 +237,7 @@ export class ResourceServers { * * @param {string} id - ID or audience of the resource server to retrieve. * @param {Management.GetResourceServerRequestParameters} request - * @param {ResourceServers.RequestOptions} requestOptions - Request-specific configuration. + * @param {ResourceServersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -275,7 +253,7 @@ export class ResourceServers { public get( id: string, request: Management.GetResourceServerRequestParameters = {}, - requestOptions?: ResourceServers.RequestOptions, + requestOptions?: ResourceServersClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, request, requestOptions)); } @@ -283,7 +261,7 @@ export class ResourceServers { private async __get( id: string, request: Management.GetResourceServerRequestParameters = {}, - requestOptions?: ResourceServers.RequestOptions, + requestOptions?: ResourceServersClient.RequestOptions, ): Promise> { const { include_fields: includeFields } = request; const _queryParams: Record = {}; @@ -291,9 +269,10 @@ export class ResourceServers { _queryParams["include_fields"] = includeFields?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -310,6 +289,7 @@ export class ResourceServers { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -339,28 +319,14 @@ export class ResourceServers { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /resource-servers/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/resource-servers/{id}"); } /** * Delete an existing API by ID. For more information, read API Settings. * * @param {string} id - ID or the audience of the resource server to delete. - * @param {ResourceServers.RequestOptions} requestOptions - Request-specific configuration. + * @param {ResourceServersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -370,17 +336,18 @@ export class ResourceServers { * @example * await client.resourceServers.delete("id") */ - public delete(id: string, requestOptions?: ResourceServers.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: ResourceServersClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } private async __delete( id: string, - requestOptions?: ResourceServers.RequestOptions, + requestOptions?: ResourceServersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -397,6 +364,7 @@ export class ResourceServers { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -421,21 +389,7 @@ export class ResourceServers { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /resource-servers/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/resource-servers/{id}"); } /** @@ -443,7 +397,7 @@ export class ResourceServers { * * @param {string} id - ID or audience of the resource server to update. * @param {Management.UpdateResourceServerRequestContent} request - * @param {ResourceServers.RequestOptions} requestOptions - Request-specific configuration. + * @param {ResourceServersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -457,7 +411,7 @@ export class ResourceServers { public update( id: string, request: Management.UpdateResourceServerRequestContent = {}, - requestOptions?: ResourceServers.RequestOptions, + requestOptions?: ResourceServersClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -465,11 +419,12 @@ export class ResourceServers { private async __update( id: string, request: Management.UpdateResourceServerRequestContent = {}, - requestOptions?: ResourceServers.RequestOptions, + requestOptions?: ResourceServersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -489,6 +444,7 @@ export class ResourceServers { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -518,24 +474,6 @@ export class ResourceServers { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PATCH /resource-servers/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/resource-servers/{id}"); } } diff --git a/src/management/api/resources/riskAssessments/client/Client.ts b/src/management/api/resources/riskAssessments/client/Client.ts index ce970cb28b..95abca0e2b 100644 --- a/src/management/api/resources/riskAssessments/client/Client.ts +++ b/src/management/api/resources/riskAssessments/client/Client.ts @@ -1,23 +1,24 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; -import { Settings } from "../resources/settings/client/Client.js"; +import { SettingsClient } from "../resources/settings/client/Client.js"; -export declare namespace RiskAssessments { - export interface Options extends BaseClientOptions {} +export declare namespace RiskAssessmentsClient { + export type Options = BaseClientOptions; } -export class RiskAssessments { - protected readonly _options: RiskAssessments.Options; - protected _settings: Settings | undefined; +export class RiskAssessmentsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _settings: SettingsClient | undefined; - constructor(_options: RiskAssessments.Options) { - this._options = _options; + constructor(options: RiskAssessmentsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get settings(): Settings { - return (this._settings ??= new Settings(this._options)); + public get settings(): SettingsClient { + return (this._settings ??= new SettingsClient(this._options)); } } diff --git a/src/management/api/resources/riskAssessments/resources/settings/client/Client.ts b/src/management/api/resources/riskAssessments/resources/settings/client/Client.ts index 44aa72b612..5a680aa3ed 100644 --- a/src/management/api/resources/riskAssessments/resources/settings/client/Client.ts +++ b/src/management/api/resources/riskAssessments/resources/settings/client/Client.ts @@ -1,35 +1,37 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; -import { NewDevice } from "../resources/newDevice/client/Client.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; +import { NewDeviceClient } from "../resources/newDevice/client/Client.js"; -export declare namespace Settings { - export interface Options extends BaseClientOptions {} +export declare namespace SettingsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Settings { - protected readonly _options: Settings.Options; - protected _newDevice: NewDevice | undefined; +export class SettingsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _newDevice: NewDeviceClient | undefined; - constructor(_options: Settings.Options) { - this._options = _options; + constructor(options: SettingsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get newDevice(): NewDevice { - return (this._newDevice ??= new NewDevice(this._options)); + public get newDevice(): NewDeviceClient { + return (this._newDevice ??= new NewDeviceClient(this._options)); } /** * Gets the tenant settings for risk assessments * - * @param {Settings.RequestOptions} requestOptions - Request-specific configuration. + * @param {SettingsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -40,17 +42,18 @@ export class Settings { * await client.riskAssessments.settings.get() */ public get( - requestOptions?: Settings.RequestOptions, + requestOptions?: SettingsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(requestOptions)); } private async __get( - requestOptions?: Settings.RequestOptions, + requestOptions?: SettingsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -67,6 +70,7 @@ export class Settings { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -94,30 +98,14 @@ export class Settings { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /risk-assessments/settings.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/risk-assessments/settings"); } /** * Updates the tenant settings for risk assessments * * @param {Management.UpdateRiskAssessmentsSettingsRequestContent} request - * @param {Settings.RequestOptions} requestOptions - Request-specific configuration. + * @param {SettingsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -132,18 +120,19 @@ export class Settings { */ public update( request: Management.UpdateRiskAssessmentsSettingsRequestContent, - requestOptions?: Settings.RequestOptions, + requestOptions?: SettingsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(request, requestOptions)); } private async __update( request: Management.UpdateRiskAssessmentsSettingsRequestContent, - requestOptions?: Settings.RequestOptions, + requestOptions?: SettingsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -163,6 +152,7 @@ export class Settings { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -192,26 +182,6 @@ export class Settings { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /risk-assessments/settings.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/risk-assessments/settings"); } } diff --git a/src/management/api/resources/riskAssessments/resources/settings/resources/newDevice/client/Client.ts b/src/management/api/resources/riskAssessments/resources/settings/resources/newDevice/client/Client.ts index ab245f7513..52c29ad954 100644 --- a/src/management/api/resources/riskAssessments/resources/settings/resources/newDevice/client/Client.ts +++ b/src/management/api/resources/riskAssessments/resources/settings/resources/newDevice/client/Client.ts @@ -1,29 +1,34 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../../../BaseClient.js"; +import { + type NormalizedClientOptionsWithAuth, + normalizeClientOptionsWithAuth, +} from "../../../../../../../../BaseClient.js"; import * as environments from "../../../../../../../../environments.js"; import * as core from "../../../../../../../../core/index.js"; import * as Management from "../../../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../../../core/headers.js"; import * as errors from "../../../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace NewDevice { - export interface Options extends BaseClientOptions {} +export declare namespace NewDeviceClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class NewDevice { - protected readonly _options: NewDevice.Options; +export class NewDeviceClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: NewDevice.Options) { - this._options = _options; + constructor(options: NewDeviceClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Gets the risk assessment settings for the new device assessor * - * @param {NewDevice.RequestOptions} requestOptions - Request-specific configuration. + * @param {NewDeviceClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -34,17 +39,18 @@ export class NewDevice { * await client.riskAssessments.settings.newDevice.get() */ public get( - requestOptions?: NewDevice.RequestOptions, + requestOptions?: NewDeviceClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(requestOptions)); } private async __get( - requestOptions?: NewDevice.RequestOptions, + requestOptions?: NewDeviceClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -61,6 +67,7 @@ export class NewDevice { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -88,30 +95,19 @@ export class NewDevice { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /risk-assessments/settings/new-device.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/risk-assessments/settings/new-device", + ); } /** * Updates the risk assessment settings for the new device assessor * * @param {Management.UpdateRiskAssessmentsSettingsNewDeviceRequestContent} request - * @param {NewDevice.RequestOptions} requestOptions - Request-specific configuration. + * @param {NewDeviceClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -126,18 +122,19 @@ export class NewDevice { */ public update( request: Management.UpdateRiskAssessmentsSettingsNewDeviceRequestContent, - requestOptions?: NewDevice.RequestOptions, + requestOptions?: NewDeviceClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(request, requestOptions)); } private async __update( request: Management.UpdateRiskAssessmentsSettingsNewDeviceRequestContent, - requestOptions?: NewDevice.RequestOptions, + requestOptions?: NewDeviceClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -157,6 +154,7 @@ export class NewDevice { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -186,26 +184,11 @@ export class NewDevice { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /risk-assessments/settings/new-device.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/risk-assessments/settings/new-device", + ); } } diff --git a/src/management/api/resources/roles/client/Client.ts b/src/management/api/resources/roles/client/Client.ts index 1896ced357..810dd22ef5 100644 --- a/src/management/api/resources/roles/client/Client.ts +++ b/src/management/api/resources/roles/client/Client.ts @@ -1,35 +1,37 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; -import { Permissions } from "../resources/permissions/client/Client.js"; -import { Users } from "../resources/users/client/Client.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; +import { PermissionsClient } from "../resources/permissions/client/Client.js"; +import { UsersClient } from "../resources/users/client/Client.js"; -export declare namespace Roles { - export interface Options extends BaseClientOptions {} +export declare namespace RolesClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Roles { - protected readonly _options: Roles.Options; - protected _permissions: Permissions | undefined; - protected _users: Users | undefined; +export class RolesClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _permissions: PermissionsClient | undefined; + protected _users: UsersClient | undefined; - constructor(_options: Roles.Options) { - this._options = _options; + constructor(options: RolesClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get permissions(): Permissions { - return (this._permissions ??= new Permissions(this._options)); + public get permissions(): PermissionsClient { + return (this._permissions ??= new PermissionsClient(this._options)); } - public get users(): Users { - return (this._users ??= new Users(this._options)); + public get users(): UsersClient { + return (this._users ??= new UsersClient(this._options)); } /** @@ -38,7 +40,7 @@ export class Roles { * Note: The returned list does not include standard roles available for tenant members, such as Admin or Support Access. * * @param {Management.ListRolesRequestParameters} request - * @param {Roles.RequestOptions} requestOptions - Request-specific configuration. + * @param {RolesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -55,7 +57,7 @@ export class Roles { */ public async list( request: Management.ListRolesRequestParameters = {}, - requestOptions?: Roles.RequestOptions, + requestOptions?: RolesClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -80,9 +82,10 @@ export class Roles { if (nameFilter !== undefined) { _queryParams["name_filter"] = nameFilter; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -99,6 +102,7 @@ export class Roles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -133,21 +137,7 @@ export class Roles { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /roles."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/roles"); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -155,10 +145,10 @@ export class Roles { return new core.Page({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.roles ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.roles ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.roles ?? [], - loadPage: (response) => { - _offset += response?.roles != null ? response.roles.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -170,7 +160,7 @@ export class Roles { * Note: New roles are not associated with any permissions by default. To assign existing permissions to your role, review Associate Permissions with a Role. To create new permissions, review Add API Permissions. * * @param {Management.CreateRoleRequestContent} request - * @param {Roles.RequestOptions} requestOptions - Request-specific configuration. + * @param {RolesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -184,18 +174,19 @@ export class Roles { */ public create( request: Management.CreateRoleRequestContent, - requestOptions?: Roles.RequestOptions, + requestOptions?: RolesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateRoleRequestContent, - requestOptions?: Roles.RequestOptions, + requestOptions?: RolesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -215,6 +206,7 @@ export class Roles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.CreateRoleResponseContent, rawResponse: _response.rawResponse }; @@ -239,28 +231,14 @@ export class Roles { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /roles."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/roles"); } /** * Retrieve details about a specific user role specified by ID. * * @param {string} id - ID of the role to retrieve. - * @param {Roles.RequestOptions} requestOptions - Request-specific configuration. + * @param {RolesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -273,18 +251,19 @@ export class Roles { */ public get( id: string, - requestOptions?: Roles.RequestOptions, + requestOptions?: RolesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: Roles.RequestOptions, + requestOptions?: RolesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -301,6 +280,7 @@ export class Roles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.GetRoleResponseContent, rawResponse: _response.rawResponse }; @@ -327,28 +307,14 @@ export class Roles { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /roles/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/roles/{id}"); } /** * Delete a specific user role from your tenant. Once deleted, it is removed from any user who was previously assigned that role. This action cannot be undone. * * @param {string} id - ID of the role to delete. - * @param {Roles.RequestOptions} requestOptions - Request-specific configuration. + * @param {RolesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -359,14 +325,18 @@ export class Roles { * @example * await client.roles.delete("id") */ - public delete(id: string, requestOptions?: Roles.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: RolesClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } - private async __delete(id: string, requestOptions?: Roles.RequestOptions): Promise> { + private async __delete( + id: string, + requestOptions?: RolesClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -383,6 +353,7 @@ export class Roles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -409,21 +380,7 @@ export class Roles { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /roles/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/roles/{id}"); } /** @@ -431,7 +388,7 @@ export class Roles { * * @param {string} id - ID of the role to update. * @param {Management.UpdateRoleRequestContent} request - * @param {Roles.RequestOptions} requestOptions - Request-specific configuration. + * @param {RolesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -444,7 +401,7 @@ export class Roles { public update( id: string, request: Management.UpdateRoleRequestContent = {}, - requestOptions?: Roles.RequestOptions, + requestOptions?: RolesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -452,11 +409,12 @@ export class Roles { private async __update( id: string, request: Management.UpdateRoleRequestContent = {}, - requestOptions?: Roles.RequestOptions, + requestOptions?: RolesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -476,6 +434,7 @@ export class Roles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.UpdateRoleResponseContent, rawResponse: _response.rawResponse }; @@ -500,24 +459,6 @@ export class Roles { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PATCH /roles/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/roles/{id}"); } } diff --git a/src/management/api/resources/roles/resources/permissions/client/Client.ts b/src/management/api/resources/roles/resources/permissions/client/Client.ts index 8bafa8176c..32bba1a35b 100644 --- a/src/management/api/resources/roles/resources/permissions/client/Client.ts +++ b/src/management/api/resources/roles/resources/permissions/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Permissions { - export interface Options extends BaseClientOptions {} +export declare namespace PermissionsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Permissions { - protected readonly _options: Permissions.Options; +export class PermissionsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Permissions.Options) { - this._options = _options; + constructor(options: PermissionsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -25,7 +27,7 @@ export class Permissions { * * @param {string} id - ID of the role to list granted permissions. * @param {Management.ListRolePermissionsRequestParameters} request - * @param {Permissions.RequestOptions} requestOptions - Request-specific configuration. + * @param {PermissionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -43,7 +45,7 @@ export class Permissions { public async list( id: string, request: Management.ListRolePermissionsRequestParameters = {}, - requestOptions?: Permissions.RequestOptions, + requestOptions?: PermissionsClient.RequestOptions, ): Promise< core.Page > { @@ -62,9 +64,10 @@ export class Permissions { if (includeTotals !== undefined) { _queryParams["include_totals"] = includeTotals?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -81,6 +84,7 @@ export class Permissions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -117,23 +121,12 @@ export class Permissions { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /roles/{id}/permissions.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/roles/{id}/permissions", + ); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -144,10 +137,10 @@ export class Permissions { >({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.permissions ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.permissions ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.permissions ?? [], - loadPage: (response) => { - _offset += response?.permissions != null ? response.permissions.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -158,7 +151,7 @@ export class Permissions { * * @param {string} id - ID of the role to add permissions to. * @param {Management.AddRolePermissionsRequestContent} request - * @param {Permissions.RequestOptions} requestOptions - Request-specific configuration. + * @param {PermissionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -176,7 +169,7 @@ export class Permissions { public add( id: string, request: Management.AddRolePermissionsRequestContent, - requestOptions?: Permissions.RequestOptions, + requestOptions?: PermissionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__add(id, request, requestOptions)); } @@ -184,11 +177,12 @@ export class Permissions { private async __add( id: string, request: Management.AddRolePermissionsRequestContent, - requestOptions?: Permissions.RequestOptions, + requestOptions?: PermissionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -208,6 +202,7 @@ export class Permissions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -232,21 +227,7 @@ export class Permissions { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /roles/{id}/permissions."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/roles/{id}/permissions"); } /** @@ -254,7 +235,7 @@ export class Permissions { * * @param {string} id - ID of the role to remove permissions from. * @param {Management.DeleteRolePermissionsRequestContent} request - * @param {Permissions.RequestOptions} requestOptions - Request-specific configuration. + * @param {PermissionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -272,7 +253,7 @@ export class Permissions { public delete( id: string, request: Management.DeleteRolePermissionsRequestContent, - requestOptions?: Permissions.RequestOptions, + requestOptions?: PermissionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, request, requestOptions)); } @@ -280,11 +261,12 @@ export class Permissions { private async __delete( id: string, request: Management.DeleteRolePermissionsRequestContent, - requestOptions?: Permissions.RequestOptions, + requestOptions?: PermissionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -304,6 +286,7 @@ export class Permissions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -328,26 +311,6 @@ export class Permissions { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /roles/{id}/permissions.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/roles/{id}/permissions"); } } diff --git a/src/management/api/resources/roles/resources/users/client/Client.ts b/src/management/api/resources/roles/resources/users/client/Client.ts index 9200395657..4e9be3b652 100644 --- a/src/management/api/resources/roles/resources/users/client/Client.ts +++ b/src/management/api/resources/roles/resources/users/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Users { - export interface Options extends BaseClientOptions {} +export declare namespace UsersClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Users { - protected readonly _options: Users.Options; +export class UsersClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Users.Options) { - this._options = _options; + constructor(options: UsersClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -43,7 +45,7 @@ export class Users { * * @param {string} id - ID of the role to retrieve a list of users associated with. * @param {Management.ListRoleUsersRequestParameters} request - * @param {Users.RequestOptions} requestOptions - Request-specific configuration. + * @param {UsersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -60,7 +62,7 @@ export class Users { public async list( id: string, request: Management.ListRoleUsersRequestParameters = {}, - requestOptions?: Users.RequestOptions, + requestOptions?: UsersClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -74,9 +76,10 @@ export class Users { if (take !== undefined) { _queryParams["take"] = take?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -93,6 +96,7 @@ export class Users { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -129,21 +133,7 @@ export class Users { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /roles/{id}/users."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/roles/{id}/users"); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -166,7 +156,7 @@ export class Users { * * @param {string} id - ID of the role to assign users to. * @param {Management.AssignRoleUsersRequestContent} request - * @param {Users.RequestOptions} requestOptions - Request-specific configuration. + * @param {UsersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -182,7 +172,7 @@ export class Users { public assign( id: string, request: Management.AssignRoleUsersRequestContent, - requestOptions?: Users.RequestOptions, + requestOptions?: UsersClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__assign(id, request, requestOptions)); } @@ -190,11 +180,12 @@ export class Users { private async __assign( id: string, request: Management.AssignRoleUsersRequestContent, - requestOptions?: Users.RequestOptions, + requestOptions?: UsersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -214,6 +205,7 @@ export class Users { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -240,24 +232,6 @@ export class Users { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /roles/{id}/users."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/roles/{id}/users"); } } diff --git a/src/management/api/resources/rules/client/Client.ts b/src/management/api/resources/rules/client/Client.ts index 0550a34ef3..f1ccee6db6 100644 --- a/src/management/api/resources/rules/client/Client.ts +++ b/src/management/api/resources/rules/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Rules { - export interface Options extends BaseClientOptions {} +export declare namespace RulesClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Rules { - protected readonly _options: Rules.Options; +export class RulesClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Rules.Options) { - this._options = _options; + constructor(options: RulesClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve a filtered list of rules. Accepts a list of fields to include or exclude. * * @param {Management.ListRulesRequestParameters} request - * @param {Rules.RequestOptions} requestOptions - Request-specific configuration. + * @param {RulesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -44,7 +46,7 @@ export class Rules { */ public async list( request: Management.ListRulesRequestParameters = {}, - requestOptions?: Rules.RequestOptions, + requestOptions?: RulesClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -77,9 +79,10 @@ export class Rules { if (includeFields !== undefined) { _queryParams["include_fields"] = includeFields?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -96,6 +99,7 @@ export class Rules { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -132,21 +136,7 @@ export class Rules { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /rules."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/rules"); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -154,10 +144,10 @@ export class Rules { return new core.Page({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.rules ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.rules ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.rules ?? [], - loadPage: (response) => { - _offset += response?.rules != null ? response.rules.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -169,7 +159,7 @@ export class Rules { * Note: Changing a rule's stage of execution from the default login_success can change the rule's function signature to have user omitted. * * @param {Management.CreateRuleRequestContent} request - * @param {Rules.RequestOptions} requestOptions - Request-specific configuration. + * @param {RulesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -185,18 +175,19 @@ export class Rules { */ public create( request: Management.CreateRuleRequestContent, - requestOptions?: Rules.RequestOptions, + requestOptions?: RulesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateRuleRequestContent, - requestOptions?: Rules.RequestOptions, + requestOptions?: RulesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -216,6 +207,7 @@ export class Rules { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.CreateRuleResponseContent, rawResponse: _response.rawResponse }; @@ -242,21 +234,7 @@ export class Rules { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /rules."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/rules"); } /** @@ -264,7 +242,7 @@ export class Rules { * * @param {string} id - ID of the rule to retrieve. * @param {Management.GetRuleRequestParameters} request - * @param {Rules.RequestOptions} requestOptions - Request-specific configuration. + * @param {RulesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -281,7 +259,7 @@ export class Rules { public get( id: string, request: Management.GetRuleRequestParameters = {}, - requestOptions?: Rules.RequestOptions, + requestOptions?: RulesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, request, requestOptions)); } @@ -289,7 +267,7 @@ export class Rules { private async __get( id: string, request: Management.GetRuleRequestParameters = {}, - requestOptions?: Rules.RequestOptions, + requestOptions?: RulesClient.RequestOptions, ): Promise> { const { fields, include_fields: includeFields } = request; const _queryParams: Record = {}; @@ -301,9 +279,10 @@ export class Rules { _queryParams["include_fields"] = includeFields?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -320,6 +299,7 @@ export class Rules { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.GetRuleResponseContent, rawResponse: _response.rawResponse }; @@ -346,28 +326,14 @@ export class Rules { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /rules/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/rules/{id}"); } /** * Delete a rule. * * @param {string} id - ID of the rule to delete. - * @param {Rules.RequestOptions} requestOptions - Request-specific configuration. + * @param {RulesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -377,14 +343,18 @@ export class Rules { * @example * await client.rules.delete("id") */ - public delete(id: string, requestOptions?: Rules.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: RulesClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } - private async __delete(id: string, requestOptions?: Rules.RequestOptions): Promise> { + private async __delete( + id: string, + requestOptions?: RulesClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -401,6 +371,7 @@ export class Rules { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -425,21 +396,7 @@ export class Rules { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /rules/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/rules/{id}"); } /** @@ -447,7 +404,7 @@ export class Rules { * * @param {string} id - ID of the rule to retrieve. * @param {Management.UpdateRuleRequestContent} request - * @param {Rules.RequestOptions} requestOptions - Request-specific configuration. + * @param {RulesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -462,7 +419,7 @@ export class Rules { public update( id: string, request: Management.UpdateRuleRequestContent = {}, - requestOptions?: Rules.RequestOptions, + requestOptions?: RulesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -470,11 +427,12 @@ export class Rules { private async __update( id: string, request: Management.UpdateRuleRequestContent = {}, - requestOptions?: Rules.RequestOptions, + requestOptions?: RulesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -494,6 +452,7 @@ export class Rules { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.UpdateRuleResponseContent, rawResponse: _response.rawResponse }; @@ -522,24 +481,6 @@ export class Rules { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PATCH /rules/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/rules/{id}"); } } diff --git a/src/management/api/resources/rulesConfigs/client/Client.ts b/src/management/api/resources/rulesConfigs/client/Client.ts index 89f5938f81..049bc57686 100644 --- a/src/management/api/resources/rulesConfigs/client/Client.ts +++ b/src/management/api/resources/rulesConfigs/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; -export declare namespace RulesConfigs { - export interface Options extends BaseClientOptions {} +export declare namespace RulesConfigsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class RulesConfigs { - protected readonly _options: RulesConfigs.Options; +export class RulesConfigsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: RulesConfigs.Options) { - this._options = _options; + constructor(options: RulesConfigsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -25,7 +27,7 @@ export class RulesConfigs { * * Note: For security, config variable values cannot be retrieved outside rule execution. * - * @param {RulesConfigs.RequestOptions} requestOptions - Request-specific configuration. + * @param {RulesConfigsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -34,16 +36,19 @@ export class RulesConfigs { * @example * await client.rulesConfigs.list() */ - public list(requestOptions?: RulesConfigs.RequestOptions): core.HttpResponsePromise { + public list( + requestOptions?: RulesConfigsClient.RequestOptions, + ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__list(requestOptions)); } private async __list( - requestOptions?: RulesConfigs.RequestOptions, + requestOptions?: RulesConfigsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -60,6 +65,7 @@ export class RulesConfigs { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.RulesConfig[], rawResponse: _response.rawResponse }; @@ -82,21 +88,7 @@ export class RulesConfigs { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /rules-configs."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/rules-configs"); } /** @@ -104,7 +96,7 @@ export class RulesConfigs { * * @param {string} key - Key of the rules config variable to set (max length: 127 characters). * @param {Management.SetRulesConfigRequestContent} request - * @param {RulesConfigs.RequestOptions} requestOptions - Request-specific configuration. + * @param {RulesConfigsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -118,7 +110,7 @@ export class RulesConfigs { public set( key: string, request: Management.SetRulesConfigRequestContent, - requestOptions?: RulesConfigs.RequestOptions, + requestOptions?: RulesConfigsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__set(key, request, requestOptions)); } @@ -126,11 +118,12 @@ export class RulesConfigs { private async __set( key: string, request: Management.SetRulesConfigRequestContent, - requestOptions?: RulesConfigs.RequestOptions, + requestOptions?: RulesConfigsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -150,6 +143,7 @@ export class RulesConfigs { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -175,28 +169,14 @@ export class RulesConfigs { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PUT /rules-configs/{key}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PUT", "/rules-configs/{key}"); } /** * Delete a rules config variable identified by its key. * * @param {string} key - Key of the rules config variable to delete. - * @param {RulesConfigs.RequestOptions} requestOptions - Request-specific configuration. + * @param {RulesConfigsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -205,17 +185,18 @@ export class RulesConfigs { * @example * await client.rulesConfigs.delete("key") */ - public delete(key: string, requestOptions?: RulesConfigs.RequestOptions): core.HttpResponsePromise { + public delete(key: string, requestOptions?: RulesConfigsClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(key, requestOptions)); } private async __delete( key: string, - requestOptions?: RulesConfigs.RequestOptions, + requestOptions?: RulesConfigsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -232,6 +213,7 @@ export class RulesConfigs { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -254,24 +236,6 @@ export class RulesConfigs { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /rules-configs/{key}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/rules-configs/{key}"); } } diff --git a/src/management/api/resources/selfServiceProfiles/client/Client.ts b/src/management/api/resources/selfServiceProfiles/client/Client.ts index 69dea0ae38..1b2f8f1c51 100644 --- a/src/management/api/resources/selfServiceProfiles/client/Client.ts +++ b/src/management/api/resources/selfServiceProfiles/client/Client.ts @@ -1,42 +1,44 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; -import { CustomText } from "../resources/customText/client/Client.js"; -import { SsoTicket } from "../resources/ssoTicket/client/Client.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; +import { CustomTextClient } from "../resources/customText/client/Client.js"; +import { SsoTicketClient } from "../resources/ssoTicket/client/Client.js"; -export declare namespace SelfServiceProfiles { - export interface Options extends BaseClientOptions {} +export declare namespace SelfServiceProfilesClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class SelfServiceProfiles { - protected readonly _options: SelfServiceProfiles.Options; - protected _customText: CustomText | undefined; - protected _ssoTicket: SsoTicket | undefined; +export class SelfServiceProfilesClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _customText: CustomTextClient | undefined; + protected _ssoTicket: SsoTicketClient | undefined; - constructor(_options: SelfServiceProfiles.Options) { - this._options = _options; + constructor(options: SelfServiceProfilesClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get customText(): CustomText { - return (this._customText ??= new CustomText(this._options)); + public get customText(): CustomTextClient { + return (this._customText ??= new CustomTextClient(this._options)); } - public get ssoTicket(): SsoTicket { - return (this._ssoTicket ??= new SsoTicket(this._options)); + public get ssoTicket(): SsoTicketClient { + return (this._ssoTicket ??= new SsoTicketClient(this._options)); } /** * Retrieves self-service profiles. * * @param {Management.ListSelfServiceProfilesRequestParameters} request - * @param {SelfServiceProfiles.RequestOptions} requestOptions - Request-specific configuration. + * @param {SelfServiceProfilesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -52,7 +54,7 @@ export class SelfServiceProfiles { */ public async list( request: Management.ListSelfServiceProfilesRequestParameters = {}, - requestOptions?: SelfServiceProfiles.RequestOptions, + requestOptions?: SelfServiceProfilesClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -69,9 +71,10 @@ export class SelfServiceProfiles { if (includeTotals !== undefined) { _queryParams["include_totals"] = includeTotals?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -88,6 +91,7 @@ export class SelfServiceProfiles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -122,23 +126,12 @@ export class SelfServiceProfiles { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /self-service-profiles.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/self-service-profiles", + ); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -147,10 +140,11 @@ export class SelfServiceProfiles { { response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.self_service_profiles ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => + (response?.self_service_profiles ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.self_service_profiles ?? [], - loadPage: (response) => { - _offset += response?.self_service_profiles != null ? response.self_service_profiles.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }, @@ -161,7 +155,7 @@ export class SelfServiceProfiles { * Creates a self-service profile. * * @param {Management.CreateSelfServiceProfileRequestContent} request - * @param {SelfServiceProfiles.RequestOptions} requestOptions - Request-specific configuration. + * @param {SelfServiceProfilesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -177,18 +171,19 @@ export class SelfServiceProfiles { */ public create( request: Management.CreateSelfServiceProfileRequestContent, - requestOptions?: SelfServiceProfiles.RequestOptions, + requestOptions?: SelfServiceProfilesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateSelfServiceProfileRequestContent, - requestOptions?: SelfServiceProfiles.RequestOptions, + requestOptions?: SelfServiceProfilesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -208,6 +203,7 @@ export class SelfServiceProfiles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -239,28 +235,14 @@ export class SelfServiceProfiles { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /self-service-profiles."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/self-service-profiles"); } /** * Retrieves a self-service profile by Id. * * @param {string} id - The id of the self-service profile to retrieve - * @param {SelfServiceProfiles.RequestOptions} requestOptions - Request-specific configuration. + * @param {SelfServiceProfilesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -274,18 +256,19 @@ export class SelfServiceProfiles { */ public get( id: string, - requestOptions?: SelfServiceProfiles.RequestOptions, + requestOptions?: SelfServiceProfilesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: SelfServiceProfiles.RequestOptions, + requestOptions?: SelfServiceProfilesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -302,6 +285,7 @@ export class SelfServiceProfiles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -333,30 +317,14 @@ export class SelfServiceProfiles { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /self-service-profiles/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/self-service-profiles/{id}"); } /** * Deletes a self-service profile by Id. * * @param {string} id - The id of the self-service profile to delete - * @param {SelfServiceProfiles.RequestOptions} requestOptions - Request-specific configuration. + * @param {SelfServiceProfilesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -367,17 +335,21 @@ export class SelfServiceProfiles { * @example * await client.selfServiceProfiles.delete("id") */ - public delete(id: string, requestOptions?: SelfServiceProfiles.RequestOptions): core.HttpResponsePromise { + public delete( + id: string, + requestOptions?: SelfServiceProfilesClient.RequestOptions, + ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } private async __delete( id: string, - requestOptions?: SelfServiceProfiles.RequestOptions, + requestOptions?: SelfServiceProfilesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -394,6 +366,7 @@ export class SelfServiceProfiles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -420,23 +393,12 @@ export class SelfServiceProfiles { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /self-service-profiles/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/self-service-profiles/{id}", + ); } /** @@ -444,7 +406,7 @@ export class SelfServiceProfiles { * * @param {string} id - The id of the self-service profile to update * @param {Management.UpdateSelfServiceProfileRequestContent} request - * @param {SelfServiceProfiles.RequestOptions} requestOptions - Request-specific configuration. + * @param {SelfServiceProfilesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -459,7 +421,7 @@ export class SelfServiceProfiles { public update( id: string, request: Management.UpdateSelfServiceProfileRequestContent = {}, - requestOptions?: SelfServiceProfiles.RequestOptions, + requestOptions?: SelfServiceProfilesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -467,11 +429,12 @@ export class SelfServiceProfiles { private async __update( id: string, request: Management.UpdateSelfServiceProfileRequestContent = {}, - requestOptions?: SelfServiceProfiles.RequestOptions, + requestOptions?: SelfServiceProfilesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -491,6 +454,7 @@ export class SelfServiceProfiles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -522,26 +486,6 @@ export class SelfServiceProfiles { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /self-service-profiles/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/self-service-profiles/{id}"); } } diff --git a/src/management/api/resources/selfServiceProfiles/resources/customText/client/Client.ts b/src/management/api/resources/selfServiceProfiles/resources/customText/client/Client.ts index 890f93fdf3..d670e888e5 100644 --- a/src/management/api/resources/selfServiceProfiles/resources/customText/client/Client.ts +++ b/src/management/api/resources/selfServiceProfiles/resources/customText/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace CustomText { - export interface Options extends BaseClientOptions {} +export declare namespace CustomTextClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class CustomText { - protected readonly _options: CustomText.Options; +export class CustomTextClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: CustomText.Options) { - this._options = _options; + constructor(options: CustomTextClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -26,7 +28,7 @@ export class CustomText { * @param {string} id - The id of the self-service profile. * @param {Management.SelfServiceProfileCustomTextLanguageEnum} language - The language of the custom text. * @param {Management.SelfServiceProfileCustomTextPageEnum} page - The page where the custom text is shown. - * @param {CustomText.RequestOptions} requestOptions - Request-specific configuration. + * @param {CustomTextClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -40,7 +42,7 @@ export class CustomText { id: string, language: Management.SelfServiceProfileCustomTextLanguageEnum, page: Management.SelfServiceProfileCustomTextPageEnum, - requestOptions?: CustomText.RequestOptions, + requestOptions?: CustomTextClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__list(id, language, page, requestOptions)); } @@ -49,11 +51,12 @@ export class CustomText { id: string, language: Management.SelfServiceProfileCustomTextLanguageEnum, page: Management.SelfServiceProfileCustomTextPageEnum, - requestOptions?: CustomText.RequestOptions, + requestOptions?: CustomTextClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -70,6 +73,7 @@ export class CustomText { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -97,23 +101,12 @@ export class CustomText { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /self-service-profiles/{id}/custom-text/{language}/{page}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/self-service-profiles/{id}/custom-text/{language}/{page}", + ); } /** @@ -123,7 +116,7 @@ export class CustomText { * @param {Management.SelfServiceProfileCustomTextLanguageEnum} language - The language of the custom text. * @param {Management.SelfServiceProfileCustomTextPageEnum} page - The page where the custom text is shown. * @param {Management.SetSelfServiceProfileCustomTextRequestContent} request - * @param {CustomText.RequestOptions} requestOptions - Request-specific configuration. + * @param {CustomTextClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -140,7 +133,7 @@ export class CustomText { language: Management.SelfServiceProfileCustomTextLanguageEnum, page: Management.SelfServiceProfileCustomTextPageEnum, request: Management.SetSelfServiceProfileCustomTextRequestContent, - requestOptions?: CustomText.RequestOptions, + requestOptions?: CustomTextClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__set(id, language, page, request, requestOptions)); } @@ -150,11 +143,12 @@ export class CustomText { language: Management.SelfServiceProfileCustomTextLanguageEnum, page: Management.SelfServiceProfileCustomTextPageEnum, request: Management.SetSelfServiceProfileCustomTextRequestContent, - requestOptions?: CustomText.RequestOptions, + requestOptions?: CustomTextClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -174,6 +168,7 @@ export class CustomText { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -201,26 +196,11 @@ export class CustomText { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PUT /self-service-profiles/{id}/custom-text/{language}/{page}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/self-service-profiles/{id}/custom-text/{language}/{page}", + ); } } diff --git a/src/management/api/resources/selfServiceProfiles/resources/ssoTicket/client/Client.ts b/src/management/api/resources/selfServiceProfiles/resources/ssoTicket/client/Client.ts index dc194c06a9..52fcd5e915 100644 --- a/src/management/api/resources/selfServiceProfiles/resources/ssoTicket/client/Client.ts +++ b/src/management/api/resources/selfServiceProfiles/resources/ssoTicket/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace SsoTicket { - export interface Options extends BaseClientOptions {} +export declare namespace SsoTicketClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class SsoTicket { - protected readonly _options: SsoTicket.Options; +export class SsoTicketClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: SsoTicket.Options) { - this._options = _options; + constructor(options: SsoTicketClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -25,7 +27,7 @@ export class SsoTicket { * * @param {string} id - The id of the self-service profile to retrieve * @param {Management.CreateSelfServiceProfileSsoTicketRequestContent} request - * @param {SsoTicket.RequestOptions} requestOptions - Request-specific configuration. + * @param {SsoTicketClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -38,7 +40,7 @@ export class SsoTicket { public create( id: string, request: Management.CreateSelfServiceProfileSsoTicketRequestContent = {}, - requestOptions?: SsoTicket.RequestOptions, + requestOptions?: SsoTicketClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(id, request, requestOptions)); } @@ -46,11 +48,12 @@ export class SsoTicket { private async __create( id: string, request: Management.CreateSelfServiceProfileSsoTicketRequestContent = {}, - requestOptions?: SsoTicket.RequestOptions, + requestOptions?: SsoTicketClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -70,6 +73,7 @@ export class SsoTicket { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -97,23 +101,12 @@ export class SsoTicket { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /self-service-profiles/{id}/sso-ticket.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/self-service-profiles/{id}/sso-ticket", + ); } /** @@ -122,7 +115,7 @@ export class SsoTicket { * * @param {string} profileId - The id of the self-service profile * @param {string} id - The id of the ticket to revoke - * @param {SsoTicket.RequestOptions} requestOptions - Request-specific configuration. + * @param {SsoTicketClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -134,7 +127,7 @@ export class SsoTicket { public revoke( profileId: string, id: string, - requestOptions?: SsoTicket.RequestOptions, + requestOptions?: SsoTicketClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__revoke(profileId, id, requestOptions)); } @@ -142,11 +135,12 @@ export class SsoTicket { private async __revoke( profileId: string, id: string, - requestOptions?: SsoTicket.RequestOptions, + requestOptions?: SsoTicketClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -163,6 +157,7 @@ export class SsoTicket { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -185,26 +180,11 @@ export class SsoTicket { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /self-service-profiles/{profileId}/sso-ticket/{id}/revoke.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/self-service-profiles/{profileId}/sso-ticket/{id}/revoke", + ); } } diff --git a/src/management/api/resources/sessions/client/Client.ts b/src/management/api/resources/sessions/client/Client.ts index 9d2a7d6fc3..89324f0b59 100644 --- a/src/management/api/resources/sessions/client/Client.ts +++ b/src/management/api/resources/sessions/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Sessions { - export interface Options extends BaseClientOptions {} +export declare namespace SessionsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Sessions { - protected readonly _options: Sessions.Options; +export class SessionsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Sessions.Options) { - this._options = _options; + constructor(options: SessionsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve session information. * * @param {string} id - ID of session to retrieve - * @param {Sessions.RequestOptions} requestOptions - Request-specific configuration. + * @param {SessionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -36,18 +38,19 @@ export class Sessions { */ public get( id: string, - requestOptions?: Sessions.RequestOptions, + requestOptions?: SessionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: Sessions.RequestOptions, + requestOptions?: SessionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -64,6 +67,7 @@ export class Sessions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.GetSessionResponseContent, rawResponse: _response.rawResponse }; @@ -88,28 +92,14 @@ export class Sessions { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /sessions/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/sessions/{id}"); } /** * Delete a session by ID. * * @param {string} id - ID of the session to delete. - * @param {Sessions.RequestOptions} requestOptions - Request-specific configuration. + * @param {SessionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -119,14 +109,18 @@ export class Sessions { * @example * await client.sessions.delete("id") */ - public delete(id: string, requestOptions?: Sessions.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: SessionsClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } - private async __delete(id: string, requestOptions?: Sessions.RequestOptions): Promise> { + private async __delete( + id: string, + requestOptions?: SessionsClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -143,6 +137,7 @@ export class Sessions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -167,21 +162,7 @@ export class Sessions { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /sessions/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/sessions/{id}"); } /** @@ -189,7 +170,7 @@ export class Sessions { * * @param {string} id - ID of the session to update. * @param {Management.UpdateSessionRequestContent} request - * @param {Sessions.RequestOptions} requestOptions - Request-specific configuration. + * @param {SessionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -203,7 +184,7 @@ export class Sessions { public update( id: string, request: Management.UpdateSessionRequestContent = {}, - requestOptions?: Sessions.RequestOptions, + requestOptions?: SessionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -211,11 +192,12 @@ export class Sessions { private async __update( id: string, request: Management.UpdateSessionRequestContent = {}, - requestOptions?: Sessions.RequestOptions, + requestOptions?: SessionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -235,6 +217,7 @@ export class Sessions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -264,28 +247,14 @@ export class Sessions { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PATCH /sessions/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/sessions/{id}"); } /** * Revokes a session by ID and all associated refresh tokens. * * @param {string} id - ID of the session to revoke. - * @param {Sessions.RequestOptions} requestOptions - Request-specific configuration. + * @param {SessionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -296,14 +265,18 @@ export class Sessions { * @example * await client.sessions.revoke("id") */ - public revoke(id: string, requestOptions?: Sessions.RequestOptions): core.HttpResponsePromise { + public revoke(id: string, requestOptions?: SessionsClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__revoke(id, requestOptions)); } - private async __revoke(id: string, requestOptions?: Sessions.RequestOptions): Promise> { + private async __revoke( + id: string, + requestOptions?: SessionsClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -320,6 +293,7 @@ export class Sessions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -346,24 +320,6 @@ export class Sessions { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /sessions/{id}/revoke."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/sessions/{id}/revoke"); } } diff --git a/src/management/api/resources/stats/client/Client.ts b/src/management/api/resources/stats/client/Client.ts index ce97562763..f9cb648090 100644 --- a/src/management/api/resources/stats/client/Client.ts +++ b/src/management/api/resources/stats/client/Client.ts @@ -1,29 +1,31 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Stats { - export interface Options extends BaseClientOptions {} +export declare namespace StatsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Stats { - protected readonly _options: Stats.Options; +export class StatsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Stats.Options) { - this._options = _options; + constructor(options: StatsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve the number of active users that logged in during the last 30 days. * - * @param {Stats.RequestOptions} requestOptions - Request-specific configuration. + * @param {StatsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -33,17 +35,18 @@ export class Stats { * await client.stats.getActiveUsersCount() */ public getActiveUsersCount( - requestOptions?: Stats.RequestOptions, + requestOptions?: StatsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__getActiveUsersCount(requestOptions)); } private async __getActiveUsersCount( - requestOptions?: Stats.RequestOptions, + requestOptions?: StatsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -60,6 +63,7 @@ export class Stats { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -85,28 +89,14 @@ export class Stats { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /stats/active-users."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/stats/active-users"); } /** * Retrieve the number of logins, signups and breached-password detections (subscription required) that occurred each day within a specified date range. * * @param {Management.GetDailyStatsRequestParameters} request - * @param {Stats.RequestOptions} requestOptions - Request-specific configuration. + * @param {StatsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -121,14 +111,14 @@ export class Stats { */ public getDaily( request: Management.GetDailyStatsRequestParameters = {}, - requestOptions?: Stats.RequestOptions, + requestOptions?: StatsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__getDaily(request, requestOptions)); } private async __getDaily( request: Management.GetDailyStatsRequestParameters = {}, - requestOptions?: Stats.RequestOptions, + requestOptions?: StatsClient.RequestOptions, ): Promise> { const { from: from_, to } = request; const _queryParams: Record = {}; @@ -140,9 +130,10 @@ export class Stats { _queryParams["to"] = to; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -159,6 +150,7 @@ export class Stats { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.DailyStats[], rawResponse: _response.rawResponse }; @@ -183,24 +175,6 @@ export class Stats { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /stats/daily."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/stats/daily"); } } diff --git a/src/management/api/resources/supplementalSignals/client/Client.ts b/src/management/api/resources/supplementalSignals/client/Client.ts index 7b9b28592e..55d9a70a77 100644 --- a/src/management/api/resources/supplementalSignals/client/Client.ts +++ b/src/management/api/resources/supplementalSignals/client/Client.ts @@ -1,29 +1,31 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; -export declare namespace SupplementalSignals { - export interface Options extends BaseClientOptions {} +export declare namespace SupplementalSignalsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class SupplementalSignals { - protected readonly _options: SupplementalSignals.Options; +export class SupplementalSignalsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: SupplementalSignals.Options) { - this._options = _options; + constructor(options: SupplementalSignalsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Get the supplemental signals configuration for a tenant. * - * @param {SupplementalSignals.RequestOptions} requestOptions - Request-specific configuration. + * @param {SupplementalSignalsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -34,17 +36,18 @@ export class SupplementalSignals { * await client.supplementalSignals.get() */ public get( - requestOptions?: SupplementalSignals.RequestOptions, + requestOptions?: SupplementalSignalsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(requestOptions)); } private async __get( - requestOptions?: SupplementalSignals.RequestOptions, + requestOptions?: SupplementalSignalsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -61,6 +64,7 @@ export class SupplementalSignals { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -88,28 +92,14 @@ export class SupplementalSignals { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /supplemental-signals."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/supplemental-signals"); } /** * Update the supplemental signals configuration for a tenant. * * @param {Management.UpdateSupplementalSignalsRequestContent} request - * @param {SupplementalSignals.RequestOptions} requestOptions - Request-specific configuration. + * @param {SupplementalSignalsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -123,18 +113,19 @@ export class SupplementalSignals { */ public patch( request: Management.UpdateSupplementalSignalsRequestContent, - requestOptions?: SupplementalSignals.RequestOptions, + requestOptions?: SupplementalSignalsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__patch(request, requestOptions)); } private async __patch( request: Management.UpdateSupplementalSignalsRequestContent, - requestOptions?: SupplementalSignals.RequestOptions, + requestOptions?: SupplementalSignalsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -154,6 +145,7 @@ export class SupplementalSignals { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -181,24 +173,6 @@ export class SupplementalSignals { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PATCH /supplemental-signals."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/supplemental-signals"); } } diff --git a/src/management/api/resources/tenants/client/Client.ts b/src/management/api/resources/tenants/client/Client.ts index c1b4123a95..c5e1cb2204 100644 --- a/src/management/api/resources/tenants/client/Client.ts +++ b/src/management/api/resources/tenants/client/Client.ts @@ -1,23 +1,24 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; -import { Settings } from "../resources/settings/client/Client.js"; +import { SettingsClient } from "../resources/settings/client/Client.js"; -export declare namespace Tenants { - export interface Options extends BaseClientOptions {} +export declare namespace TenantsClient { + export type Options = BaseClientOptions; } -export class Tenants { - protected readonly _options: Tenants.Options; - protected _settings: Settings | undefined; +export class TenantsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _settings: SettingsClient | undefined; - constructor(_options: Tenants.Options) { - this._options = _options; + constructor(options: TenantsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get settings(): Settings { - return (this._settings ??= new Settings(this._options)); + public get settings(): SettingsClient { + return (this._settings ??= new SettingsClient(this._options)); } } diff --git a/src/management/api/resources/tenants/resources/settings/client/Client.ts b/src/management/api/resources/tenants/resources/settings/client/Client.ts index 1d3cbff8e9..7cf47673ad 100644 --- a/src/management/api/resources/tenants/resources/settings/client/Client.ts +++ b/src/management/api/resources/tenants/resources/settings/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Settings { - export interface Options extends BaseClientOptions {} +export declare namespace SettingsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Settings { - protected readonly _options: Settings.Options; +export class SettingsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Settings.Options) { - this._options = _options; + constructor(options: SettingsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve tenant settings. A list of fields to include or exclude may also be specified. * * @param {Management.GetTenantSettingsRequestParameters} request - * @param {Settings.RequestOptions} requestOptions - Request-specific configuration. + * @param {SettingsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -39,14 +41,14 @@ export class Settings { */ public get( request: Management.GetTenantSettingsRequestParameters = {}, - requestOptions?: Settings.RequestOptions, + requestOptions?: SettingsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(request, requestOptions)); } private async __get( request: Management.GetTenantSettingsRequestParameters = {}, - requestOptions?: Settings.RequestOptions, + requestOptions?: SettingsClient.RequestOptions, ): Promise> { const { fields, include_fields: includeFields } = request; const _queryParams: Record = {}; @@ -58,9 +60,10 @@ export class Settings { _queryParams["include_fields"] = includeFields?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -77,6 +80,7 @@ export class Settings { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -104,28 +108,14 @@ export class Settings { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /tenants/settings."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/tenants/settings"); } /** * Update settings for a tenant. * * @param {Management.UpdateTenantSettingsRequestContent} request - * @param {Settings.RequestOptions} requestOptions - Request-specific configuration. + * @param {SettingsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -137,18 +127,19 @@ export class Settings { */ public update( request: Management.UpdateTenantSettingsRequestContent = {}, - requestOptions?: Settings.RequestOptions, + requestOptions?: SettingsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(request, requestOptions)); } private async __update( request: Management.UpdateTenantSettingsRequestContent = {}, - requestOptions?: Settings.RequestOptions, + requestOptions?: SettingsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -168,6 +159,7 @@ export class Settings { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -195,24 +187,6 @@ export class Settings { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PATCH /tenants/settings."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/tenants/settings"); } } diff --git a/src/management/api/resources/tickets/client/Client.ts b/src/management/api/resources/tickets/client/Client.ts index f7e2e9a40c..5cab7f627d 100644 --- a/src/management/api/resources/tickets/client/Client.ts +++ b/src/management/api/resources/tickets/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Tickets { - export interface Options extends BaseClientOptions {} +export declare namespace TicketsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Tickets { - protected readonly _options: Tickets.Options; +export class TicketsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Tickets.Options) { - this._options = _options; + constructor(options: TicketsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Create an email verification ticket for a given user. An email verification ticket is a generated URL that the user can consume to verify their email address. * * @param {Management.VerifyEmailTicketRequestContent} request - * @param {Tickets.RequestOptions} requestOptions - Request-specific configuration. + * @param {TicketsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -39,18 +41,19 @@ export class Tickets { */ public verifyEmail( request: Management.VerifyEmailTicketRequestContent, - requestOptions?: Tickets.RequestOptions, + requestOptions?: TicketsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__verifyEmail(request, requestOptions)); } private async __verifyEmail( request: Management.VerifyEmailTicketRequestContent, - requestOptions?: Tickets.RequestOptions, + requestOptions?: TicketsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -70,6 +73,7 @@ export class Tickets { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -99,23 +103,7 @@ export class Tickets { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /tickets/email-verification.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/tickets/email-verification"); } /** @@ -124,7 +112,7 @@ export class Tickets { * Note: This endpoint does not verify the given user’s identity. If you call this endpoint within your application, you must design your application to verify the user’s identity. * * @param {Management.ChangePasswordTicketRequestContent} request - * @param {Tickets.RequestOptions} requestOptions - Request-specific configuration. + * @param {TicketsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -137,18 +125,19 @@ export class Tickets { */ public changePassword( request: Management.ChangePasswordTicketRequestContent = {}, - requestOptions?: Tickets.RequestOptions, + requestOptions?: TicketsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__changePassword(request, requestOptions)); } private async __changePassword( request: Management.ChangePasswordTicketRequestContent = {}, - requestOptions?: Tickets.RequestOptions, + requestOptions?: TicketsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -168,6 +157,7 @@ export class Tickets { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -197,24 +187,6 @@ export class Tickets { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /tickets/password-change."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/tickets/password-change"); } } diff --git a/src/management/api/resources/tokenExchangeProfiles/client/Client.ts b/src/management/api/resources/tokenExchangeProfiles/client/Client.ts index 78392f6e59..cb262f3a14 100644 --- a/src/management/api/resources/tokenExchangeProfiles/client/Client.ts +++ b/src/management/api/resources/tokenExchangeProfiles/client/Client.ts @@ -1,28 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; -export declare namespace TokenExchangeProfiles { - export interface Options extends BaseClientOptions {} +export declare namespace TokenExchangeProfilesClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class TokenExchangeProfiles { - protected readonly _options: TokenExchangeProfiles.Options; +export class TokenExchangeProfilesClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: TokenExchangeProfiles.Options) { - this._options = _options; + constructor(options: TokenExchangeProfilesClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve a list of all Token Exchange Profiles available in your tenant. * + * By using this feature, you agree to the applicable Free Trial terms in Okta’s Master Subscription Agreement. It is your responsibility to securely validate the user’s subject_token. See User Guide for more details. + * * This endpoint supports Checkpoint pagination. To search by checkpoint, use the following parameters: *
      *
    • from: Optional id from which to start selection.
    • @@ -32,7 +36,7 @@ export class TokenExchangeProfiles { * Note: The first time you call this endpoint using checkpoint pagination, omit the from parameter. If there are more results, a next value is included in the response. You can use this for subsequent API calls. When next is no longer included in the response, no pages are remaining. * * @param {Management.TokenExchangeProfilesListRequest} request - * @param {TokenExchangeProfiles.RequestOptions} requestOptions - Request-specific configuration. + * @param {TokenExchangeProfilesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -47,7 +51,7 @@ export class TokenExchangeProfiles { */ public async list( request: Management.TokenExchangeProfilesListRequest = {}, - requestOptions?: TokenExchangeProfiles.RequestOptions, + requestOptions?: TokenExchangeProfilesClient.RequestOptions, ): Promise< core.Page > { @@ -63,9 +67,10 @@ export class TokenExchangeProfiles { if (take !== undefined) { _queryParams["take"] = take?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -82,6 +87,7 @@ export class TokenExchangeProfiles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -116,23 +122,12 @@ export class TokenExchangeProfiles { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /token-exchange-profiles.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/token-exchange-profiles", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -154,8 +149,10 @@ export class TokenExchangeProfiles { /** * Create a new Token Exchange Profile within your tenant. * + * By using this feature, you agree to the applicable Free Trial terms in Okta’s Master Subscription Agreement. It is your responsibility to securely validate the user’s subject_token. See User Guide for more details. + * * @param {Management.CreateTokenExchangeProfileRequestContent} request - * @param {TokenExchangeProfiles.RequestOptions} requestOptions - Request-specific configuration. + * @param {TokenExchangeProfilesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -172,18 +169,19 @@ export class TokenExchangeProfiles { */ public create( request: Management.CreateTokenExchangeProfileRequestContent, - requestOptions?: TokenExchangeProfiles.RequestOptions, + requestOptions?: TokenExchangeProfilesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateTokenExchangeProfileRequestContent, - requestOptions?: TokenExchangeProfiles.RequestOptions, + requestOptions?: TokenExchangeProfilesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -203,6 +201,7 @@ export class TokenExchangeProfiles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -232,28 +231,16 @@ export class TokenExchangeProfiles { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /token-exchange-profiles."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/token-exchange-profiles"); } /** * Retrieve details about a single Token Exchange Profile specified by ID. * + * By using this feature, you agree to the applicable Free Trial terms in Okta’s Master Subscription Agreement. It is your responsibility to securely validate the user’s subject_token. See User Guide for more details. + * * @param {string} id - ID of the Token Exchange Profile to retrieve. - * @param {TokenExchangeProfiles.RequestOptions} requestOptions - Request-specific configuration. + * @param {TokenExchangeProfilesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -266,18 +253,19 @@ export class TokenExchangeProfiles { */ public get( id: string, - requestOptions?: TokenExchangeProfiles.RequestOptions, + requestOptions?: TokenExchangeProfilesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: TokenExchangeProfiles.RequestOptions, + requestOptions?: TokenExchangeProfilesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -294,6 +282,7 @@ export class TokenExchangeProfiles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -323,30 +312,17 @@ export class TokenExchangeProfiles { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /token-exchange-profiles/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/token-exchange-profiles/{id}"); } /** * Delete a Token Exchange Profile within your tenant. * + * By using this feature, you agree to the applicable Free Trial terms in Okta's Master Subscription Agreement. It is your responsibility to securely validate the user's subject_token. See User Guide for more details. + * + * * @param {string} id - ID of the Token Exchange Profile to delete. - * @param {TokenExchangeProfiles.RequestOptions} requestOptions - Request-specific configuration. + * @param {TokenExchangeProfilesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -355,17 +331,21 @@ export class TokenExchangeProfiles { * @example * await client.tokenExchangeProfiles.delete("id") */ - public delete(id: string, requestOptions?: TokenExchangeProfiles.RequestOptions): core.HttpResponsePromise { + public delete( + id: string, + requestOptions?: TokenExchangeProfilesClient.RequestOptions, + ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } private async __delete( id: string, - requestOptions?: TokenExchangeProfiles.RequestOptions, + requestOptions?: TokenExchangeProfilesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -382,6 +362,7 @@ export class TokenExchangeProfiles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -404,31 +385,23 @@ export class TokenExchangeProfiles { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /token-exchange-profiles/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/token-exchange-profiles/{id}", + ); } /** * Update a Token Exchange Profile within your tenant. * + * By using this feature, you agree to the applicable Free Trial terms in Okta's Master Subscription Agreement. It is your responsibility to securely validate the user's subject_token. See User Guide for more details. + * + * * @param {string} id - ID of the Token Exchange Profile to update. * @param {Management.UpdateTokenExchangeProfileRequestContent} request - * @param {TokenExchangeProfiles.RequestOptions} requestOptions - Request-specific configuration. + * @param {TokenExchangeProfilesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -442,7 +415,7 @@ export class TokenExchangeProfiles { public update( id: string, request: Management.UpdateTokenExchangeProfileRequestContent = {}, - requestOptions?: TokenExchangeProfiles.RequestOptions, + requestOptions?: TokenExchangeProfilesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -450,11 +423,12 @@ export class TokenExchangeProfiles { private async __update( id: string, request: Management.UpdateTokenExchangeProfileRequestContent = {}, - requestOptions?: TokenExchangeProfiles.RequestOptions, + requestOptions?: TokenExchangeProfilesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -474,6 +448,7 @@ export class TokenExchangeProfiles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -500,26 +475,11 @@ export class TokenExchangeProfiles { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /token-exchange-profiles/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/token-exchange-profiles/{id}", + ); } } diff --git a/src/management/api/resources/userAttributeProfiles/client/Client.ts b/src/management/api/resources/userAttributeProfiles/client/Client.ts index 253d3d2bd1..4504505cd7 100644 --- a/src/management/api/resources/userAttributeProfiles/client/Client.ts +++ b/src/management/api/resources/userAttributeProfiles/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; -export declare namespace UserAttributeProfiles { - export interface Options extends BaseClientOptions {} +export declare namespace UserAttributeProfilesClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class UserAttributeProfiles { - protected readonly _options: UserAttributeProfiles.Options; +export class UserAttributeProfilesClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: UserAttributeProfiles.Options) { - this._options = _options; + constructor(options: UserAttributeProfilesClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve a list of User Attribute Profiles. This endpoint supports Checkpoint pagination. * * @param {Management.ListUserAttributeProfileRequestParameters} request - * @param {UserAttributeProfiles.RequestOptions} requestOptions - Request-specific configuration. + * @param {UserAttributeProfilesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -39,7 +41,7 @@ export class UserAttributeProfiles { */ public async list( request: Management.ListUserAttributeProfileRequestParameters = {}, - requestOptions?: UserAttributeProfiles.RequestOptions, + requestOptions?: UserAttributeProfilesClient.RequestOptions, ): Promise< core.Page > { @@ -55,9 +57,10 @@ export class UserAttributeProfiles { if (take !== undefined) { _queryParams["take"] = take?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -74,6 +77,7 @@ export class UserAttributeProfiles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -108,23 +112,12 @@ export class UserAttributeProfiles { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /user-attribute-profiles.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/user-attribute-profiles", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -147,7 +140,7 @@ export class UserAttributeProfiles { * Retrieve details about a single User Attribute Profile specified by ID. * * @param {Management.CreateUserAttributeProfileRequestContent} request - * @param {UserAttributeProfiles.RequestOptions} requestOptions - Request-specific configuration. + * @param {UserAttributeProfilesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -170,18 +163,19 @@ export class UserAttributeProfiles { */ public create( request: Management.CreateUserAttributeProfileRequestContent, - requestOptions?: UserAttributeProfiles.RequestOptions, + requestOptions?: UserAttributeProfilesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateUserAttributeProfileRequestContent, - requestOptions?: UserAttributeProfiles.RequestOptions, + requestOptions?: UserAttributeProfilesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -201,6 +195,7 @@ export class UserAttributeProfiles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -230,27 +225,13 @@ export class UserAttributeProfiles { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /user-attribute-profiles."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/user-attribute-profiles"); } /** * Retrieve a list of User Attribute Profile Templates. * - * @param {UserAttributeProfiles.RequestOptions} requestOptions - Request-specific configuration. + * @param {UserAttributeProfilesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -260,17 +241,18 @@ export class UserAttributeProfiles { * await client.userAttributeProfiles.listTemplates() */ public listTemplates( - requestOptions?: UserAttributeProfiles.RequestOptions, + requestOptions?: UserAttributeProfilesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__listTemplates(requestOptions)); } private async __listTemplates( - requestOptions?: UserAttributeProfiles.RequestOptions, + requestOptions?: UserAttributeProfilesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -287,6 +269,7 @@ export class UserAttributeProfiles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -312,30 +295,19 @@ export class UserAttributeProfiles { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /user-attribute-profiles/templates.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/user-attribute-profiles/templates", + ); } /** * Retrieve a User Attribute Profile Template. * * @param {string} id - ID of the user-attribute-profile-template to retrieve. - * @param {UserAttributeProfiles.RequestOptions} requestOptions - Request-specific configuration. + * @param {UserAttributeProfilesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -347,18 +319,19 @@ export class UserAttributeProfiles { */ public getTemplate( id: string, - requestOptions?: UserAttributeProfiles.RequestOptions, + requestOptions?: UserAttributeProfilesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__getTemplate(id, requestOptions)); } private async __getTemplate( id: string, - requestOptions?: UserAttributeProfiles.RequestOptions, + requestOptions?: UserAttributeProfilesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -375,6 +348,7 @@ export class UserAttributeProfiles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -402,30 +376,19 @@ export class UserAttributeProfiles { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /user-attribute-profiles/templates/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/user-attribute-profiles/templates/{id}", + ); } /** * Retrieve details about a single User Attribute Profile specified by ID. * * @param {string} id - ID of the user-attribute-profile to retrieve. - * @param {UserAttributeProfiles.RequestOptions} requestOptions - Request-specific configuration. + * @param {UserAttributeProfilesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -437,18 +400,19 @@ export class UserAttributeProfiles { */ public get( id: string, - requestOptions?: UserAttributeProfiles.RequestOptions, + requestOptions?: UserAttributeProfilesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: UserAttributeProfiles.RequestOptions, + requestOptions?: UserAttributeProfilesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -465,6 +429,7 @@ export class UserAttributeProfiles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -492,30 +457,14 @@ export class UserAttributeProfiles { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /user-attribute-profiles/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/user-attribute-profiles/{id}"); } /** * Delete a single User Attribute Profile specified by ID. * * @param {string} id - ID of the user-attribute-profile to delete. - * @param {UserAttributeProfiles.RequestOptions} requestOptions - Request-specific configuration. + * @param {UserAttributeProfilesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -524,17 +473,21 @@ export class UserAttributeProfiles { * @example * await client.userAttributeProfiles.delete("id") */ - public delete(id: string, requestOptions?: UserAttributeProfiles.RequestOptions): core.HttpResponsePromise { + public delete( + id: string, + requestOptions?: UserAttributeProfilesClient.RequestOptions, + ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } private async __delete( id: string, - requestOptions?: UserAttributeProfiles.RequestOptions, + requestOptions?: UserAttributeProfilesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -551,6 +504,7 @@ export class UserAttributeProfiles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -573,23 +527,12 @@ export class UserAttributeProfiles { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /user-attribute-profiles/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/user-attribute-profiles/{id}", + ); } /** @@ -597,7 +540,7 @@ export class UserAttributeProfiles { * * @param {string} id - ID of the user attribute profile to update. * @param {Management.UpdateUserAttributeProfileRequestContent} request - * @param {UserAttributeProfiles.RequestOptions} requestOptions - Request-specific configuration. + * @param {UserAttributeProfilesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -610,7 +553,7 @@ export class UserAttributeProfiles { public update( id: string, request: Management.UpdateUserAttributeProfileRequestContent = {}, - requestOptions?: UserAttributeProfiles.RequestOptions, + requestOptions?: UserAttributeProfilesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -618,11 +561,12 @@ export class UserAttributeProfiles { private async __update( id: string, request: Management.UpdateUserAttributeProfileRequestContent = {}, - requestOptions?: UserAttributeProfiles.RequestOptions, + requestOptions?: UserAttributeProfilesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -642,6 +586,7 @@ export class UserAttributeProfiles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -669,26 +614,11 @@ export class UserAttributeProfiles { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /user-attribute-profiles/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/user-attribute-profiles/{id}", + ); } } diff --git a/src/management/api/resources/userBlocks/client/Client.ts b/src/management/api/resources/userBlocks/client/Client.ts index c340b7741d..36ffa01e5c 100644 --- a/src/management/api/resources/userBlocks/client/Client.ts +++ b/src/management/api/resources/userBlocks/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; -export declare namespace UserBlocks { - export interface Options extends BaseClientOptions {} +export declare namespace UserBlocksClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class UserBlocks { - protected readonly _options: UserBlocks.Options; +export class UserBlocksClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: UserBlocks.Options) { - this._options = _options; + constructor(options: UserBlocksClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve details of all Brute-force Protection blocks for a user with the given identifier (username, phone number, or email). * * @param {Management.ListUserBlocksByIdentifierRequestParameters} request - * @param {UserBlocks.RequestOptions} requestOptions - Request-specific configuration. + * @param {UserBlocksClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -39,14 +41,14 @@ export class UserBlocks { */ public listByIdentifier( request: Management.ListUserBlocksByIdentifierRequestParameters, - requestOptions?: UserBlocks.RequestOptions, + requestOptions?: UserBlocksClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__listByIdentifier(request, requestOptions)); } private async __listByIdentifier( request: Management.ListUserBlocksByIdentifierRequestParameters, - requestOptions?: UserBlocks.RequestOptions, + requestOptions?: UserBlocksClient.RequestOptions, ): Promise> { const { identifier, consider_brute_force_enablement: considerBruteForceEnablement } = request; const _queryParams: Record = {}; @@ -55,9 +57,10 @@ export class UserBlocks { _queryParams["consider_brute_force_enablement"] = considerBruteForceEnablement?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -74,6 +77,7 @@ export class UserBlocks { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -101,21 +105,7 @@ export class UserBlocks { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /user-blocks."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/user-blocks"); } /** @@ -124,7 +114,7 @@ export class UserBlocks { * Note: This endpoint does not unblock users that were blocked by a tenant administrator. * * @param {Management.DeleteUserBlocksByIdentifierRequestParameters} request - * @param {UserBlocks.RequestOptions} requestOptions - Request-specific configuration. + * @param {UserBlocksClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -138,21 +128,22 @@ export class UserBlocks { */ public deleteByIdentifier( request: Management.DeleteUserBlocksByIdentifierRequestParameters, - requestOptions?: UserBlocks.RequestOptions, + requestOptions?: UserBlocksClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__deleteByIdentifier(request, requestOptions)); } private async __deleteByIdentifier( request: Management.DeleteUserBlocksByIdentifierRequestParameters, - requestOptions?: UserBlocks.RequestOptions, + requestOptions?: UserBlocksClient.RequestOptions, ): Promise> { const { identifier } = request; const _queryParams: Record = {}; _queryParams["identifier"] = identifier; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -169,6 +160,7 @@ export class UserBlocks { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -193,21 +185,7 @@ export class UserBlocks { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /user-blocks."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/user-blocks"); } /** @@ -215,7 +193,7 @@ export class UserBlocks { * * @param {string} id - user_id of the user blocks to retrieve. * @param {Management.ListUserBlocksRequestParameters} request - * @param {UserBlocks.RequestOptions} requestOptions - Request-specific configuration. + * @param {UserBlocksClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -231,7 +209,7 @@ export class UserBlocks { public list( id: string, request: Management.ListUserBlocksRequestParameters = {}, - requestOptions?: UserBlocks.RequestOptions, + requestOptions?: UserBlocksClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__list(id, request, requestOptions)); } @@ -239,7 +217,7 @@ export class UserBlocks { private async __list( id: string, request: Management.ListUserBlocksRequestParameters = {}, - requestOptions?: UserBlocks.RequestOptions, + requestOptions?: UserBlocksClient.RequestOptions, ): Promise> { const { consider_brute_force_enablement: considerBruteForceEnablement } = request; const _queryParams: Record = {}; @@ -247,9 +225,10 @@ export class UserBlocks { _queryParams["consider_brute_force_enablement"] = considerBruteForceEnablement?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -266,6 +245,7 @@ export class UserBlocks { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -295,21 +275,7 @@ export class UserBlocks { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /user-blocks/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/user-blocks/{id}"); } /** @@ -318,7 +284,7 @@ export class UserBlocks { * Note: This endpoint does not unblock users that were blocked by a tenant administrator. * * @param {string} id - The user_id of the user to update. - * @param {UserBlocks.RequestOptions} requestOptions - Request-specific configuration. + * @param {UserBlocksClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -329,17 +295,18 @@ export class UserBlocks { * @example * await client.userBlocks.delete("id") */ - public delete(id: string, requestOptions?: UserBlocks.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: UserBlocksClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } private async __delete( id: string, - requestOptions?: UserBlocks.RequestOptions, + requestOptions?: UserBlocksClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -356,6 +323,7 @@ export class UserBlocks { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -382,24 +350,6 @@ export class UserBlocks { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /user-blocks/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/user-blocks/{id}"); } } diff --git a/src/management/api/resources/userGrants/client/Client.ts b/src/management/api/resources/userGrants/client/Client.ts index a2211effd7..fd3f215779 100644 --- a/src/management/api/resources/userGrants/client/Client.ts +++ b/src/management/api/resources/userGrants/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; -export declare namespace UserGrants { - export interface Options extends BaseClientOptions {} +export declare namespace UserGrantsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class UserGrants { - protected readonly _options: UserGrants.Options; +export class UserGrantsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: UserGrants.Options) { - this._options = _options; + constructor(options: UserGrantsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve the grants associated with your account. * * @param {Management.ListUserGrantsRequestParameters} request - * @param {UserGrants.RequestOptions} requestOptions - Request-specific configuration. + * @param {UserGrantsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -42,7 +44,7 @@ export class UserGrants { */ public async list( request: Management.ListUserGrantsRequestParameters = {}, - requestOptions?: UserGrants.RequestOptions, + requestOptions?: UserGrantsClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -75,9 +77,10 @@ export class UserGrants { if (audience !== undefined) { _queryParams["audience"] = audience; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -94,6 +97,7 @@ export class UserGrants { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -123,21 +127,7 @@ export class UserGrants { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /grants."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/grants"); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -145,10 +135,10 @@ export class UserGrants { return new core.Page({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.grants ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.grants ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.grants ?? [], - loadPage: (response) => { - _offset += response?.grants != null ? response.grants.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -158,7 +148,7 @@ export class UserGrants { * Delete a grant associated with your account. * * @param {Management.DeleteUserGrantByUserIdRequestParameters} request - * @param {UserGrants.RequestOptions} requestOptions - Request-specific configuration. + * @param {UserGrantsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -171,21 +161,22 @@ export class UserGrants { */ public deleteByUserId( request: Management.DeleteUserGrantByUserIdRequestParameters, - requestOptions?: UserGrants.RequestOptions, + requestOptions?: UserGrantsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__deleteByUserId(request, requestOptions)); } private async __deleteByUserId( request: Management.DeleteUserGrantByUserIdRequestParameters, - requestOptions?: UserGrants.RequestOptions, + requestOptions?: UserGrantsClient.RequestOptions, ): Promise> { const { user_id: userId } = request; const _queryParams: Record = {}; _queryParams["user_id"] = userId; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -202,6 +193,7 @@ export class UserGrants { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -224,28 +216,14 @@ export class UserGrants { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /grants."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/grants"); } /** * Delete a grant associated with your account. * * @param {string} id - ID of the grant to delete. - * @param {UserGrants.RequestOptions} requestOptions - Request-specific configuration. + * @param {UserGrantsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -254,17 +232,18 @@ export class UserGrants { * @example * await client.userGrants.delete("id") */ - public delete(id: string, requestOptions?: UserGrants.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: UserGrantsClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } private async __delete( id: string, - requestOptions?: UserGrants.RequestOptions, + requestOptions?: UserGrantsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -281,6 +260,7 @@ export class UserGrants { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -303,24 +283,6 @@ export class UserGrants { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /grants/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/grants/{id}"); } } diff --git a/src/management/api/resources/users/client/Client.ts b/src/management/api/resources/users/client/Client.ts index 52cbdebe51..3f6a8aed1e 100644 --- a/src/management/api/resources/users/client/Client.ts +++ b/src/management/api/resources/users/client/Client.ts @@ -1,107 +1,109 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; import * as Management from "../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js"; +import { mergeHeaders } from "../../../../core/headers.js"; import * as errors from "../../../../errors/index.js"; -import { AuthenticationMethods } from "../resources/authenticationMethods/client/Client.js"; -import { Authenticators } from "../resources/authenticators/client/Client.js"; -import { ConnectedAccounts } from "../resources/connectedAccounts/client/Client.js"; -import { Enrollments } from "../resources/enrollments/client/Client.js"; -import { FederatedConnectionsTokensets } from "../resources/federatedConnectionsTokensets/client/Client.js"; -import { Identities } from "../resources/identities/client/Client.js"; -import { Logs } from "../resources/logs/client/Client.js"; -import { Multifactor } from "../resources/multifactor/client/Client.js"; -import { Organizations } from "../resources/organizations/client/Client.js"; -import { Permissions } from "../resources/permissions/client/Client.js"; -import { RiskAssessments } from "../resources/riskAssessments/client/Client.js"; -import { Roles } from "../resources/roles/client/Client.js"; -import { RefreshToken } from "../resources/refreshToken/client/Client.js"; -import { Sessions } from "../resources/sessions/client/Client.js"; - -export declare namespace Users { - export interface Options extends BaseClientOptions {} +import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js"; +import { AuthenticationMethodsClient } from "../resources/authenticationMethods/client/Client.js"; +import { AuthenticatorsClient } from "../resources/authenticators/client/Client.js"; +import { ConnectedAccountsClient } from "../resources/connectedAccounts/client/Client.js"; +import { EnrollmentsClient } from "../resources/enrollments/client/Client.js"; +import { FederatedConnectionsTokensetsClient } from "../resources/federatedConnectionsTokensets/client/Client.js"; +import { IdentitiesClient } from "../resources/identities/client/Client.js"; +import { LogsClient } from "../resources/logs/client/Client.js"; +import { MultifactorClient } from "../resources/multifactor/client/Client.js"; +import { OrganizationsClient } from "../resources/organizations/client/Client.js"; +import { PermissionsClient } from "../resources/permissions/client/Client.js"; +import { RiskAssessmentsClient } from "../resources/riskAssessments/client/Client.js"; +import { RolesClient } from "../resources/roles/client/Client.js"; +import { RefreshTokenClient } from "../resources/refreshToken/client/Client.js"; +import { SessionsClient } from "../resources/sessions/client/Client.js"; + +export declare namespace UsersClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Users { - protected readonly _options: Users.Options; - protected _authenticationMethods: AuthenticationMethods | undefined; - protected _authenticators: Authenticators | undefined; - protected _connectedAccounts: ConnectedAccounts | undefined; - protected _enrollments: Enrollments | undefined; - protected _federatedConnectionsTokensets: FederatedConnectionsTokensets | undefined; - protected _identities: Identities | undefined; - protected _logs: Logs | undefined; - protected _multifactor: Multifactor | undefined; - protected _organizations: Organizations | undefined; - protected _permissions: Permissions | undefined; - protected _riskAssessments: RiskAssessments | undefined; - protected _roles: Roles | undefined; - protected _refreshToken: RefreshToken | undefined; - protected _sessions: Sessions | undefined; - - constructor(_options: Users.Options) { - this._options = _options; +export class UsersClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _authenticationMethods: AuthenticationMethodsClient | undefined; + protected _authenticators: AuthenticatorsClient | undefined; + protected _connectedAccounts: ConnectedAccountsClient | undefined; + protected _enrollments: EnrollmentsClient | undefined; + protected _federatedConnectionsTokensets: FederatedConnectionsTokensetsClient | undefined; + protected _identities: IdentitiesClient | undefined; + protected _logs: LogsClient | undefined; + protected _multifactor: MultifactorClient | undefined; + protected _organizations: OrganizationsClient | undefined; + protected _permissions: PermissionsClient | undefined; + protected _riskAssessments: RiskAssessmentsClient | undefined; + protected _roles: RolesClient | undefined; + protected _refreshToken: RefreshTokenClient | undefined; + protected _sessions: SessionsClient | undefined; + + constructor(options: UsersClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get authenticationMethods(): AuthenticationMethods { - return (this._authenticationMethods ??= new AuthenticationMethods(this._options)); + public get authenticationMethods(): AuthenticationMethodsClient { + return (this._authenticationMethods ??= new AuthenticationMethodsClient(this._options)); } - public get authenticators(): Authenticators { - return (this._authenticators ??= new Authenticators(this._options)); + public get authenticators(): AuthenticatorsClient { + return (this._authenticators ??= new AuthenticatorsClient(this._options)); } - public get connectedAccounts(): ConnectedAccounts { - return (this._connectedAccounts ??= new ConnectedAccounts(this._options)); + public get connectedAccounts(): ConnectedAccountsClient { + return (this._connectedAccounts ??= new ConnectedAccountsClient(this._options)); } - public get enrollments(): Enrollments { - return (this._enrollments ??= new Enrollments(this._options)); + public get enrollments(): EnrollmentsClient { + return (this._enrollments ??= new EnrollmentsClient(this._options)); } - public get federatedConnectionsTokensets(): FederatedConnectionsTokensets { - return (this._federatedConnectionsTokensets ??= new FederatedConnectionsTokensets(this._options)); + public get federatedConnectionsTokensets(): FederatedConnectionsTokensetsClient { + return (this._federatedConnectionsTokensets ??= new FederatedConnectionsTokensetsClient(this._options)); } - public get identities(): Identities { - return (this._identities ??= new Identities(this._options)); + public get identities(): IdentitiesClient { + return (this._identities ??= new IdentitiesClient(this._options)); } - public get logs(): Logs { - return (this._logs ??= new Logs(this._options)); + public get logs(): LogsClient { + return (this._logs ??= new LogsClient(this._options)); } - public get multifactor(): Multifactor { - return (this._multifactor ??= new Multifactor(this._options)); + public get multifactor(): MultifactorClient { + return (this._multifactor ??= new MultifactorClient(this._options)); } - public get organizations(): Organizations { - return (this._organizations ??= new Organizations(this._options)); + public get organizations(): OrganizationsClient { + return (this._organizations ??= new OrganizationsClient(this._options)); } - public get permissions(): Permissions { - return (this._permissions ??= new Permissions(this._options)); + public get permissions(): PermissionsClient { + return (this._permissions ??= new PermissionsClient(this._options)); } - public get riskAssessments(): RiskAssessments { - return (this._riskAssessments ??= new RiskAssessments(this._options)); + public get riskAssessments(): RiskAssessmentsClient { + return (this._riskAssessments ??= new RiskAssessmentsClient(this._options)); } - public get roles(): Roles { - return (this._roles ??= new Roles(this._options)); + public get roles(): RolesClient { + return (this._roles ??= new RolesClient(this._options)); } - public get refreshToken(): RefreshToken { - return (this._refreshToken ??= new RefreshToken(this._options)); + public get refreshToken(): RefreshTokenClient { + return (this._refreshToken ??= new RefreshTokenClient(this._options)); } - public get sessions(): Sessions { - return (this._sessions ??= new Sessions(this._options)); + public get sessions(): SessionsClient { + return (this._sessions ??= new SessionsClient(this._options)); } /** @@ -121,7 +123,7 @@ export class Users { * Auth0 limits the number of users you can return. If you exceed this threshold, please redefine your search, use the export job, or the User Import / Export extension. * * @param {Management.ListUsersRequestParameters} request - * @param {Users.RequestOptions} requestOptions - Request-specific configuration. + * @param {UsersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -145,7 +147,7 @@ export class Users { */ public async list( request: Management.ListUsersRequestParameters = {}, - requestOptions?: Users.RequestOptions, + requestOptions?: UsersClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -194,9 +196,10 @@ export class Users { if (primaryOrder !== undefined) { _queryParams["primary_order"] = primaryOrder?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -213,6 +216,7 @@ export class Users { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -252,21 +256,7 @@ export class Users { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /users."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/users"); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -274,10 +264,10 @@ export class Users { return new core.Page({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.users ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.users ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.users ?? [], - loadPage: (response) => { - _offset += response?.users != null ? response.users.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -289,7 +279,7 @@ export class Users { * Note: connection is required but other parameters such as email and password are dependent upon the type of connection. * * @param {Management.CreateUserRequestContent} request - * @param {Users.RequestOptions} requestOptions - Request-specific configuration. + * @param {UsersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -304,18 +294,19 @@ export class Users { */ public create( request: Management.CreateUserRequestContent, - requestOptions?: Users.RequestOptions, + requestOptions?: UsersClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateUserRequestContent, - requestOptions?: Users.RequestOptions, + requestOptions?: UsersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -335,6 +326,7 @@ export class Users { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.CreateUserResponseContent, rawResponse: _response.rawResponse }; @@ -361,21 +353,7 @@ export class Users { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /users."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/users"); } /** @@ -386,7 +364,7 @@ export class Users { * Therefore, when using this endpoint, make sure that you are searching for users via email addresses using the correct case. * * @param {Management.ListUsersByEmailRequestParameters} request - * @param {Users.RequestOptions} requestOptions - Request-specific configuration. + * @param {UsersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -402,14 +380,14 @@ export class Users { */ public listUsersByEmail( request: Management.ListUsersByEmailRequestParameters, - requestOptions?: Users.RequestOptions, + requestOptions?: UsersClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__listUsersByEmail(request, requestOptions)); } private async __listUsersByEmail( request: Management.ListUsersByEmailRequestParameters, - requestOptions?: Users.RequestOptions, + requestOptions?: UsersClient.RequestOptions, ): Promise> { const { fields, include_fields: includeFields, email } = request; const _queryParams: Record = {}; @@ -422,9 +400,10 @@ export class Users { } _queryParams["email"] = email; + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -441,6 +420,7 @@ export class Users { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.UserResponseSchema[], rawResponse: _response.rawResponse }; @@ -465,21 +445,7 @@ export class Users { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /users-by-email."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/users-by-email"); } /** @@ -487,7 +453,7 @@ export class Users { * * @param {string} id - ID of the user to retrieve. * @param {Management.GetUserRequestParameters} request - * @param {Users.RequestOptions} requestOptions - Request-specific configuration. + * @param {UsersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -504,7 +470,7 @@ export class Users { public get( id: string, request: Management.GetUserRequestParameters = {}, - requestOptions?: Users.RequestOptions, + requestOptions?: UsersClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, request, requestOptions)); } @@ -512,7 +478,7 @@ export class Users { private async __get( id: string, request: Management.GetUserRequestParameters = {}, - requestOptions?: Users.RequestOptions, + requestOptions?: UsersClient.RequestOptions, ): Promise> { const { fields, include_fields: includeFields } = request; const _queryParams: Record = {}; @@ -524,9 +490,10 @@ export class Users { _queryParams["include_fields"] = includeFields?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -543,6 +510,7 @@ export class Users { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.GetUserResponseContent, rawResponse: _response.rawResponse }; @@ -569,28 +537,14 @@ export class Users { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /users/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/users/{id}"); } /** * Delete a user by user ID. This action cannot be undone. For Auth0 Dashboard instructions, see Delete Users. * * @param {string} id - ID of the user to delete. - * @param {Users.RequestOptions} requestOptions - Request-specific configuration. + * @param {UsersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -600,14 +554,18 @@ export class Users { * @example * await client.users.delete("id") */ - public delete(id: string, requestOptions?: Users.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: UsersClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } - private async __delete(id: string, requestOptions?: Users.RequestOptions): Promise> { + private async __delete( + id: string, + requestOptions?: UsersClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -624,6 +582,7 @@ export class Users { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -648,21 +607,7 @@ export class Users { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /users/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/users/{id}"); } /** @@ -739,7 +684,7 @@ export class Users { * * @param {string} id - ID of the user to update. * @param {Management.UpdateUserRequestContent} request - * @param {Users.RequestOptions} requestOptions - Request-specific configuration. + * @param {UsersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -753,7 +698,7 @@ export class Users { public update( id: string, request: Management.UpdateUserRequestContent = {}, - requestOptions?: Users.RequestOptions, + requestOptions?: UsersClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -761,11 +706,12 @@ export class Users { private async __update( id: string, request: Management.UpdateUserRequestContent = {}, - requestOptions?: Users.RequestOptions, + requestOptions?: UsersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -785,6 +731,7 @@ export class Users { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.UpdateUserResponseContent, rawResponse: _response.rawResponse }; @@ -811,28 +758,14 @@ export class Users { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling PATCH /users/{id}."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/users/{id}"); } /** * Remove an existing multi-factor authentication (MFA) recovery code and generate a new one. If a user cannot access the original device or account used for MFA enrollment, they can use a recovery code to authenticate. * * @param {string} id - ID of the user to regenerate a multi-factor authentication recovery code for. - * @param {Users.RequestOptions} requestOptions - Request-specific configuration. + * @param {UsersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -844,18 +777,19 @@ export class Users { */ public regenerateRecoveryCode( id: string, - requestOptions?: Users.RequestOptions, + requestOptions?: UsersClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__regenerateRecoveryCode(id, requestOptions)); } private async __regenerateRecoveryCode( id: string, - requestOptions?: Users.RequestOptions, + requestOptions?: UsersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -872,6 +806,7 @@ export class Users { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -899,23 +834,12 @@ export class Users { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /users/{id}/recovery-code-regeneration.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/users/{id}/recovery-code-regeneration", + ); } /** @@ -923,7 +847,7 @@ export class Users { * * @param {string} id - ID of the user. * @param {Management.RevokeUserAccessRequestContent} request - * @param {Users.RequestOptions} requestOptions - Request-specific configuration. + * @param {UsersClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -936,7 +860,7 @@ export class Users { public revokeAccess( id: string, request: Management.RevokeUserAccessRequestContent = {}, - requestOptions?: Users.RequestOptions, + requestOptions?: UsersClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__revokeAccess(id, request, requestOptions)); } @@ -944,11 +868,12 @@ export class Users { private async __revokeAccess( id: string, request: Management.RevokeUserAccessRequestContent = {}, - requestOptions?: Users.RequestOptions, + requestOptions?: UsersClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -968,6 +893,7 @@ export class Users { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -992,26 +918,6 @@ export class Users { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /users/{id}/revoke-access.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/users/{id}/revoke-access"); } } diff --git a/src/management/api/resources/users/resources/authenticationMethods/client/Client.ts b/src/management/api/resources/users/resources/authenticationMethods/client/Client.ts index 150c635b8e..b01476a04a 100644 --- a/src/management/api/resources/users/resources/authenticationMethods/client/Client.ts +++ b/src/management/api/resources/users/resources/authenticationMethods/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace AuthenticationMethods { - export interface Options extends BaseClientOptions {} +export declare namespace AuthenticationMethodsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class AuthenticationMethods { - protected readonly _options: AuthenticationMethods.Options; +export class AuthenticationMethodsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: AuthenticationMethods.Options) { - this._options = _options; + constructor(options: AuthenticationMethodsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -25,7 +27,7 @@ export class AuthenticationMethods { * * @param {string} id - The ID of the user in question. * @param {Management.ListUserAuthenticationMethodsRequestParameters} request - * @param {AuthenticationMethods.RequestOptions} requestOptions - Request-specific configuration. + * @param {AuthenticationMethodsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -43,7 +45,7 @@ export class AuthenticationMethods { public async list( id: string, request: Management.ListUserAuthenticationMethodsRequestParameters = {}, - requestOptions?: AuthenticationMethods.RequestOptions, + requestOptions?: AuthenticationMethodsClient.RequestOptions, ): Promise< core.Page< Management.UserAuthenticationMethod, @@ -67,9 +69,10 @@ export class AuthenticationMethods { if (includeTotals !== undefined) { _queryParams["include_totals"] = includeTotals?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -86,6 +89,7 @@ export class AuthenticationMethods { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -122,23 +126,12 @@ export class AuthenticationMethods { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /users/{id}/authentication-methods.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/users/{id}/authentication-methods", + ); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -149,10 +142,10 @@ export class AuthenticationMethods { >({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.authenticators ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.authenticators ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.authenticators ?? [], - loadPage: (response) => { - _offset += response?.authenticators != null ? response.authenticators.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -163,7 +156,7 @@ export class AuthenticationMethods { * * @param {string} id - The ID of the user to whom the new authentication method will be assigned. * @param {Management.CreateUserAuthenticationMethodRequestContent} request - * @param {AuthenticationMethods.RequestOptions} requestOptions - Request-specific configuration. + * @param {AuthenticationMethodsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -180,7 +173,7 @@ export class AuthenticationMethods { public create( id: string, request: Management.CreateUserAuthenticationMethodRequestContent, - requestOptions?: AuthenticationMethods.RequestOptions, + requestOptions?: AuthenticationMethodsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(id, request, requestOptions)); } @@ -188,11 +181,12 @@ export class AuthenticationMethods { private async __create( id: string, request: Management.CreateUserAuthenticationMethodRequestContent, - requestOptions?: AuthenticationMethods.RequestOptions, + requestOptions?: AuthenticationMethodsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -212,6 +206,7 @@ export class AuthenticationMethods { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -243,23 +238,12 @@ export class AuthenticationMethods { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /users/{id}/authentication-methods.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/users/{id}/authentication-methods", + ); } /** @@ -269,7 +253,7 @@ export class AuthenticationMethods { * * @param {string} id - The ID of the user in question. * @param {Management.SetUserAuthenticationMethodsRequestContent} request - * @param {AuthenticationMethods.RequestOptions} requestOptions - Request-specific configuration. + * @param {AuthenticationMethodsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -285,7 +269,7 @@ export class AuthenticationMethods { public set( id: string, request: Management.SetUserAuthenticationMethodsRequestContent, - requestOptions?: AuthenticationMethods.RequestOptions, + requestOptions?: AuthenticationMethodsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__set(id, request, requestOptions)); } @@ -293,11 +277,12 @@ export class AuthenticationMethods { private async __set( id: string, request: Management.SetUserAuthenticationMethodsRequestContent, - requestOptions?: AuthenticationMethods.RequestOptions, + requestOptions?: AuthenticationMethodsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -317,6 +302,7 @@ export class AuthenticationMethods { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -346,30 +332,19 @@ export class AuthenticationMethods { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PUT /users/{id}/authentication-methods.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PUT", + "/users/{id}/authentication-methods", + ); } /** * Remove all authentication methods (i.e., enrolled MFA factors) from the specified user account. This action cannot be undone. * * @param {string} id - The ID of the user in question. - * @param {AuthenticationMethods.RequestOptions} requestOptions - Request-specific configuration. + * @param {AuthenticationMethodsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -381,18 +356,19 @@ export class AuthenticationMethods { */ public deleteAll( id: string, - requestOptions?: AuthenticationMethods.RequestOptions, + requestOptions?: AuthenticationMethodsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__deleteAll(id, requestOptions)); } private async __deleteAll( id: string, - requestOptions?: AuthenticationMethods.RequestOptions, + requestOptions?: AuthenticationMethodsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -409,6 +385,7 @@ export class AuthenticationMethods { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -433,29 +410,18 @@ export class AuthenticationMethods { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /users/{id}/authentication-methods.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/users/{id}/authentication-methods", + ); } /** * @param {string} id - The ID of the user in question. - * @param {string} authenticationMethodId - The ID of the authentication methods in question. - * @param {AuthenticationMethods.RequestOptions} requestOptions - Request-specific configuration. + * @param {string} authentication_method_id - The ID of the authentication methods in question. + * @param {AuthenticationMethodsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -468,20 +434,21 @@ export class AuthenticationMethods { */ public get( id: string, - authenticationMethodId: string, - requestOptions?: AuthenticationMethods.RequestOptions, + authentication_method_id: string, + requestOptions?: AuthenticationMethodsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__get(id, authenticationMethodId, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__get(id, authentication_method_id, requestOptions)); } private async __get( id: string, - authenticationMethodId: string, - requestOptions?: AuthenticationMethods.RequestOptions, + authentication_method_id: string, + requestOptions?: AuthenticationMethodsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -489,7 +456,7 @@ export class AuthenticationMethods { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `users/${core.url.encodePathParam(id)}/authentication-methods/${core.url.encodePathParam(authenticationMethodId)}`, + `users/${core.url.encodePathParam(id)}/authentication-methods/${core.url.encodePathParam(authentication_method_id)}`, ), method: "GET", headers: _headers, @@ -498,6 +465,7 @@ export class AuthenticationMethods { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -527,31 +495,20 @@ export class AuthenticationMethods { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /users/{id}/authentication-methods/{authentication_method_id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/users/{id}/authentication-methods/{authentication_method_id}", + ); } /** * Remove the authentication method with the given ID from the specified user. For more information, review Manage Authentication Methods with Management API. * * @param {string} id - The ID of the user in question. - * @param {string} authenticationMethodId - The ID of the authentication method to delete. - * @param {AuthenticationMethods.RequestOptions} requestOptions - Request-specific configuration. + * @param {string} authentication_method_id - The ID of the authentication method to delete. + * @param {AuthenticationMethodsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -564,20 +521,21 @@ export class AuthenticationMethods { */ public delete( id: string, - authenticationMethodId: string, - requestOptions?: AuthenticationMethods.RequestOptions, + authentication_method_id: string, + requestOptions?: AuthenticationMethodsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__delete(id, authenticationMethodId, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__delete(id, authentication_method_id, requestOptions)); } private async __delete( id: string, - authenticationMethodId: string, - requestOptions?: AuthenticationMethods.RequestOptions, + authentication_method_id: string, + requestOptions?: AuthenticationMethodsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -585,7 +543,7 @@ export class AuthenticationMethods { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `users/${core.url.encodePathParam(id)}/authentication-methods/${core.url.encodePathParam(authenticationMethodId)}`, + `users/${core.url.encodePathParam(id)}/authentication-methods/${core.url.encodePathParam(authentication_method_id)}`, ), method: "DELETE", headers: _headers, @@ -594,6 +552,7 @@ export class AuthenticationMethods { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -620,32 +579,21 @@ export class AuthenticationMethods { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /users/{id}/authentication-methods/{authentication_method_id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/users/{id}/authentication-methods/{authentication_method_id}", + ); } /** * Modify the authentication method with the given ID from the specified user. For more information, review Manage Authentication Methods with Management API. * * @param {string} id - The ID of the user in question. - * @param {string} authenticationMethodId - The ID of the authentication method to update. + * @param {string} authentication_method_id - The ID of the authentication method to update. * @param {Management.UpdateUserAuthenticationMethodRequestContent} request - * @param {AuthenticationMethods.RequestOptions} requestOptions - Request-specific configuration. + * @param {AuthenticationMethodsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -658,22 +606,25 @@ export class AuthenticationMethods { */ public update( id: string, - authenticationMethodId: string, + authentication_method_id: string, request: Management.UpdateUserAuthenticationMethodRequestContent = {}, - requestOptions?: AuthenticationMethods.RequestOptions, + requestOptions?: AuthenticationMethodsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__update(id, authenticationMethodId, request, requestOptions)); + return core.HttpResponsePromise.fromPromise( + this.__update(id, authentication_method_id, request, requestOptions), + ); } private async __update( id: string, - authenticationMethodId: string, + authentication_method_id: string, request: Management.UpdateUserAuthenticationMethodRequestContent = {}, - requestOptions?: AuthenticationMethods.RequestOptions, + requestOptions?: AuthenticationMethodsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -681,7 +632,7 @@ export class AuthenticationMethods { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `users/${core.url.encodePathParam(id)}/authentication-methods/${core.url.encodePathParam(authenticationMethodId)}`, + `users/${core.url.encodePathParam(id)}/authentication-methods/${core.url.encodePathParam(authentication_method_id)}`, ), method: "PATCH", headers: _headers, @@ -693,6 +644,7 @@ export class AuthenticationMethods { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -722,26 +674,11 @@ export class AuthenticationMethods { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /users/{id}/authentication-methods/{authentication_method_id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/users/{id}/authentication-methods/{authentication_method_id}", + ); } } diff --git a/src/management/api/resources/users/resources/authenticators/client/Client.ts b/src/management/api/resources/users/resources/authenticators/client/Client.ts index a37730e3e3..2ae6f869ae 100644 --- a/src/management/api/resources/users/resources/authenticators/client/Client.ts +++ b/src/management/api/resources/users/resources/authenticators/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Authenticators { - export interface Options extends BaseClientOptions {} +export declare namespace AuthenticatorsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Authenticators { - protected readonly _options: Authenticators.Options; +export class AuthenticatorsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Authenticators.Options) { - this._options = _options; + constructor(options: AuthenticatorsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Remove all authenticators registered to a given user ID, such as OTP, email, phone, and push-notification. This action cannot be undone. For more information, review Manage Authentication Methods with Management API. * * @param {string} id - ID of the user to delete. - * @param {Authenticators.RequestOptions} requestOptions - Request-specific configuration. + * @param {AuthenticatorsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -34,17 +36,18 @@ export class Authenticators { * @example * await client.users.authenticators.deleteAll("id") */ - public deleteAll(id: string, requestOptions?: Authenticators.RequestOptions): core.HttpResponsePromise { + public deleteAll(id: string, requestOptions?: AuthenticatorsClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__deleteAll(id, requestOptions)); } private async __deleteAll( id: string, - requestOptions?: Authenticators.RequestOptions, + requestOptions?: AuthenticatorsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -61,6 +64,7 @@ export class Authenticators { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -85,26 +89,6 @@ export class Authenticators { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /users/{id}/authenticators.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/users/{id}/authenticators"); } } diff --git a/src/management/api/resources/users/resources/connectedAccounts/client/Client.ts b/src/management/api/resources/users/resources/connectedAccounts/client/Client.ts index 14bcef1b0d..2bb0c458ad 100644 --- a/src/management/api/resources/users/resources/connectedAccounts/client/Client.ts +++ b/src/management/api/resources/users/resources/connectedAccounts/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace ConnectedAccounts { - export interface Options extends BaseClientOptions {} +export declare namespace ConnectedAccountsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class ConnectedAccounts { - protected readonly _options: ConnectedAccounts.Options; +export class ConnectedAccountsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: ConnectedAccounts.Options) { - this._options = _options; + constructor(options: ConnectedAccountsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -25,7 +27,7 @@ export class ConnectedAccounts { * * @param {string} id - ID of the user to list connected accounts for. * @param {Management.GetUserConnectedAccountsRequestParameters} request - * @param {ConnectedAccounts.RequestOptions} requestOptions - Request-specific configuration. + * @param {ConnectedAccountsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -41,7 +43,7 @@ export class ConnectedAccounts { public async list( id: string, request: Management.GetUserConnectedAccountsRequestParameters = {}, - requestOptions?: ConnectedAccounts.RequestOptions, + requestOptions?: ConnectedAccountsClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -55,9 +57,10 @@ export class ConnectedAccounts { if (take !== undefined) { _queryParams["take"] = take?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -74,6 +77,7 @@ export class ConnectedAccounts { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -108,23 +112,12 @@ export class ConnectedAccounts { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /users/{id}/connected-accounts.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/users/{id}/connected-accounts", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -139,8 +132,4 @@ export class ConnectedAccounts { }, }); } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; - } } diff --git a/src/management/api/resources/users/resources/enrollments/client/Client.ts b/src/management/api/resources/users/resources/enrollments/client/Client.ts index 8781617f4b..555f1a81b1 100644 --- a/src/management/api/resources/users/resources/enrollments/client/Client.ts +++ b/src/management/api/resources/users/resources/enrollments/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Enrollments { - export interface Options extends BaseClientOptions {} +export declare namespace EnrollmentsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Enrollments { - protected readonly _options: Enrollments.Options; +export class EnrollmentsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Enrollments.Options) { - this._options = _options; + constructor(options: EnrollmentsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve the first multi-factor authentication enrollment that a specific user has confirmed. * * @param {string} id - ID of the user to list enrollments for. - * @param {Enrollments.RequestOptions} requestOptions - Request-specific configuration. + * @param {EnrollmentsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -37,18 +39,19 @@ export class Enrollments { */ public get( id: string, - requestOptions?: Enrollments.RequestOptions, + requestOptions?: EnrollmentsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: Enrollments.RequestOptions, + requestOptions?: EnrollmentsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -65,6 +68,7 @@ export class Enrollments { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.UsersEnrollment[], rawResponse: _response.rawResponse }; @@ -91,24 +95,6 @@ export class Enrollments { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /users/{id}/enrollments."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/users/{id}/enrollments"); } } diff --git a/src/management/api/resources/users/resources/federatedConnectionsTokensets/client/Client.ts b/src/management/api/resources/users/resources/federatedConnectionsTokensets/client/Client.ts index 846c6b62d1..322020f7c6 100644 --- a/src/management/api/resources/users/resources/federatedConnectionsTokensets/client/Client.ts +++ b/src/management/api/resources/users/resources/federatedConnectionsTokensets/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace FederatedConnectionsTokensets { - export interface Options extends BaseClientOptions {} +export declare namespace FederatedConnectionsTokensetsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class FederatedConnectionsTokensets { - protected readonly _options: FederatedConnectionsTokensets.Options; +export class FederatedConnectionsTokensetsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: FederatedConnectionsTokensets.Options) { - this._options = _options; + constructor(options: FederatedConnectionsTokensetsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * List active federated connections tokensets for a provided user * * @param {string} id - User identifier - * @param {FederatedConnectionsTokensets.RequestOptions} requestOptions - Request-specific configuration. + * @param {FederatedConnectionsTokensetsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -36,18 +38,19 @@ export class FederatedConnectionsTokensets { */ public list( id: string, - requestOptions?: FederatedConnectionsTokensets.RequestOptions, + requestOptions?: FederatedConnectionsTokensetsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__list(id, requestOptions)); } private async __list( id: string, - requestOptions?: FederatedConnectionsTokensets.RequestOptions, + requestOptions?: FederatedConnectionsTokensetsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -64,6 +67,7 @@ export class FederatedConnectionsTokensets { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -91,29 +95,18 @@ export class FederatedConnectionsTokensets { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /users/{id}/federated-connections-tokensets.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/users/{id}/federated-connections-tokensets", + ); } /** * @param {string} id - Id of the user that owns the tokenset - * @param {string} tokensetId - The tokenset id - * @param {FederatedConnectionsTokensets.RequestOptions} requestOptions - Request-specific configuration. + * @param {string} tokenset_id - The tokenset id + * @param {FederatedConnectionsTokensetsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -125,20 +118,21 @@ export class FederatedConnectionsTokensets { */ public delete( id: string, - tokensetId: string, - requestOptions?: FederatedConnectionsTokensets.RequestOptions, + tokenset_id: string, + requestOptions?: FederatedConnectionsTokensetsClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__delete(id, tokensetId, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__delete(id, tokenset_id, requestOptions)); } private async __delete( id: string, - tokensetId: string, - requestOptions?: FederatedConnectionsTokensets.RequestOptions, + tokenset_id: string, + requestOptions?: FederatedConnectionsTokensetsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -146,7 +140,7 @@ export class FederatedConnectionsTokensets { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `users/${core.url.encodePathParam(id)}/federated-connections-tokensets/${core.url.encodePathParam(tokensetId)}`, + `users/${core.url.encodePathParam(id)}/federated-connections-tokensets/${core.url.encodePathParam(tokenset_id)}`, ), method: "DELETE", headers: _headers, @@ -155,6 +149,7 @@ export class FederatedConnectionsTokensets { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -179,26 +174,11 @@ export class FederatedConnectionsTokensets { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /users/{id}/federated-connections-tokensets/{tokenset_id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/users/{id}/federated-connections-tokensets/{tokenset_id}", + ); } } diff --git a/src/management/api/resources/users/resources/identities/client/Client.ts b/src/management/api/resources/users/resources/identities/client/Client.ts index ff2331e4c8..45239a70e6 100644 --- a/src/management/api/resources/users/resources/identities/client/Client.ts +++ b/src/management/api/resources/users/resources/identities/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Identities { - export interface Options extends BaseClientOptions {} +export declare namespace IdentitiesClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Identities { - protected readonly _options: Identities.Options; +export class IdentitiesClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Identities.Options) { - this._options = _options; + constructor(options: IdentitiesClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -52,7 +54,7 @@ export class Identities { * * @param {string} id - ID of the primary user account to link a second user account to. * @param {Management.LinkUserIdentityRequestContent} request - * @param {Identities.RequestOptions} requestOptions - Request-specific configuration. + * @param {IdentitiesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -66,7 +68,7 @@ export class Identities { public link( id: string, request: Management.LinkUserIdentityRequestContent = {}, - requestOptions?: Identities.RequestOptions, + requestOptions?: IdentitiesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__link(id, request, requestOptions)); } @@ -74,11 +76,12 @@ export class Identities { private async __link( id: string, request: Management.LinkUserIdentityRequestContent = {}, - requestOptions?: Identities.RequestOptions, + requestOptions?: IdentitiesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -98,6 +101,7 @@ export class Identities { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: _response.body as Management.UserIdentity[], rawResponse: _response.rawResponse }; @@ -124,21 +128,7 @@ export class Identities { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /users/{id}/identities."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/users/{id}/identities"); } /** @@ -148,8 +138,8 @@ export class Identities { * * @param {string} id - ID of the primary user account. * @param {Management.UserIdentityProviderEnum} provider - Identity provider name of the secondary linked account (e.g. `google-oauth2`). - * @param {string} userId - ID of the secondary linked account (e.g. `123456789081523216417` part after the `|` in `google-oauth2|123456789081523216417`). - * @param {Identities.RequestOptions} requestOptions - Request-specific configuration. + * @param {string} user_id - ID of the secondary linked account (e.g. `123456789081523216417` part after the `|` in `google-oauth2|123456789081523216417`). + * @param {IdentitiesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -162,21 +152,22 @@ export class Identities { public delete( id: string, provider: Management.UserIdentityProviderEnum, - userId: string, - requestOptions?: Identities.RequestOptions, + user_id: string, + requestOptions?: IdentitiesClient.RequestOptions, ): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__delete(id, provider, userId, requestOptions)); + return core.HttpResponsePromise.fromPromise(this.__delete(id, provider, user_id, requestOptions)); } private async __delete( id: string, provider: Management.UserIdentityProviderEnum, - userId: string, - requestOptions?: Identities.RequestOptions, + user_id: string, + requestOptions?: IdentitiesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -184,7 +175,7 @@ export class Identities { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `users/${core.url.encodePathParam(id)}/identities/${core.url.encodePathParam(provider)}/${core.url.encodePathParam(userId)}`, + `users/${core.url.encodePathParam(id)}/identities/${core.url.encodePathParam(provider)}/${core.url.encodePathParam(user_id)}`, ), method: "DELETE", headers: _headers, @@ -193,6 +184,7 @@ export class Identities { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -220,26 +212,11 @@ export class Identities { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /users/{id}/identities/{provider}/{user_id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/users/{id}/identities/{provider}/{user_id}", + ); } } diff --git a/src/management/api/resources/users/resources/logs/client/Client.ts b/src/management/api/resources/users/resources/logs/client/Client.ts index 3ee0641ebc..dca46abe16 100644 --- a/src/management/api/resources/users/resources/logs/client/Client.ts +++ b/src/management/api/resources/users/resources/logs/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Logs { - export interface Options extends BaseClientOptions {} +export declare namespace LogsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Logs { - protected readonly _options: Logs.Options; +export class LogsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Logs.Options) { - this._options = _options; + constructor(options: LogsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -31,7 +33,7 @@ export class Logs { * * @param {string} id - ID of the user of the logs to retrieve * @param {Management.ListUserLogsRequestParameters} request - * @param {Logs.RequestOptions} requestOptions - Request-specific configuration. + * @param {LogsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -49,7 +51,7 @@ export class Logs { public async list( id: string, request: Management.ListUserLogsRequestParameters = {}, - requestOptions?: Logs.RequestOptions, + requestOptions?: LogsClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -69,9 +71,10 @@ export class Logs { if (includeTotals !== undefined) { _queryParams["include_totals"] = includeTotals?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -88,6 +91,7 @@ export class Logs { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -122,21 +126,7 @@ export class Logs { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /users/{id}/logs."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/users/{id}/logs"); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -144,16 +134,12 @@ export class Logs { return new core.Page({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.logs ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.logs ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.logs ?? [], - loadPage: (response) => { - _offset += response?.logs != null ? response.logs.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; - } } diff --git a/src/management/api/resources/users/resources/multifactor/client/Client.ts b/src/management/api/resources/users/resources/multifactor/client/Client.ts index 11257dfd20..13934043d2 100644 --- a/src/management/api/resources/users/resources/multifactor/client/Client.ts +++ b/src/management/api/resources/users/resources/multifactor/client/Client.ts @@ -1,30 +1,32 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Multifactor { - export interface Options extends BaseClientOptions {} +export declare namespace MultifactorClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Multifactor { - protected readonly _options: Multifactor.Options; +export class MultifactorClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Multifactor.Options) { - this._options = _options; + constructor(options: MultifactorClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Invalidate all remembered browsers across all authentication factors for a user. * * @param {string} id - ID of the user to invalidate all remembered browsers and authentication factors for. - * @param {Multifactor.RequestOptions} requestOptions - Request-specific configuration. + * @param {MultifactorClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -35,18 +37,19 @@ export class Multifactor { */ public invalidateRememberBrowser( id: string, - requestOptions?: Multifactor.RequestOptions, + requestOptions?: MultifactorClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__invalidateRememberBrowser(id, requestOptions)); } private async __invalidateRememberBrowser( id: string, - requestOptions?: Multifactor.RequestOptions, + requestOptions?: MultifactorClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -63,6 +66,7 @@ export class Multifactor { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -85,23 +89,12 @@ export class Multifactor { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /users/{id}/multifactor/actions/invalidate-remember-browser.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/users/{id}/multifactor/actions/invalidate-remember-browser", + ); } /** @@ -109,7 +102,7 @@ export class Multifactor { * * @param {string} id - ID of the user to remove a multifactor configuration from. * @param {Management.UserMultifactorProviderEnum} provider - The multi-factor provider. Supported values 'duo' or 'google-authenticator' - * @param {Multifactor.RequestOptions} requestOptions - Request-specific configuration. + * @param {MultifactorClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -123,7 +116,7 @@ export class Multifactor { public deleteProvider( id: string, provider: Management.UserMultifactorProviderEnum, - requestOptions?: Multifactor.RequestOptions, + requestOptions?: MultifactorClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__deleteProvider(id, provider, requestOptions)); } @@ -131,11 +124,12 @@ export class Multifactor { private async __deleteProvider( id: string, provider: Management.UserMultifactorProviderEnum, - requestOptions?: Multifactor.RequestOptions, + requestOptions?: MultifactorClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -152,6 +146,7 @@ export class Multifactor { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -178,26 +173,11 @@ export class Multifactor { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /users/{id}/multifactor/{provider}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/users/{id}/multifactor/{provider}", + ); } } diff --git a/src/management/api/resources/users/resources/organizations/client/Client.ts b/src/management/api/resources/users/resources/organizations/client/Client.ts index bf370edad5..78feb34e3d 100644 --- a/src/management/api/resources/users/resources/organizations/client/Client.ts +++ b/src/management/api/resources/users/resources/organizations/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Organizations { - export interface Options extends BaseClientOptions {} +export declare namespace OrganizationsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Organizations { - protected readonly _options: Organizations.Options; +export class OrganizationsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Organizations.Options) { - this._options = _options; + constructor(options: OrganizationsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -25,7 +27,7 @@ export class Organizations { * * @param {string} id - ID of the user to retrieve the organizations for. * @param {Management.ListUserOrganizationsRequestParameters} request - * @param {Organizations.RequestOptions} requestOptions - Request-specific configuration. + * @param {OrganizationsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -41,7 +43,7 @@ export class Organizations { public async list( id: string, request: Management.ListUserOrganizationsRequestParameters = {}, - requestOptions?: Organizations.RequestOptions, + requestOptions?: OrganizationsClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -58,9 +60,10 @@ export class Organizations { if (includeTotals !== undefined) { _queryParams["include_totals"] = includeTotals?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -77,6 +80,7 @@ export class Organizations { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -106,23 +110,12 @@ export class Organizations { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /users/{id}/organizations.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/users/{id}/organizations", + ); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -130,16 +123,12 @@ export class Organizations { return new core.Page({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.organizations ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.organizations ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.organizations ?? [], - loadPage: (response) => { - _offset += response?.organizations != null ? response.organizations.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; - } } diff --git a/src/management/api/resources/users/resources/permissions/client/Client.ts b/src/management/api/resources/users/resources/permissions/client/Client.ts index b6c2d350c6..2e74920acc 100644 --- a/src/management/api/resources/users/resources/permissions/client/Client.ts +++ b/src/management/api/resources/users/resources/permissions/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Permissions { - export interface Options extends BaseClientOptions {} +export declare namespace PermissionsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Permissions { - protected readonly _options: Permissions.Options; +export class PermissionsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Permissions.Options) { - this._options = _options; + constructor(options: PermissionsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -25,7 +27,7 @@ export class Permissions { * * @param {string} id - ID of the user to retrieve the permissions for. * @param {Management.ListUserPermissionsRequestParameters} request - * @param {Permissions.RequestOptions} requestOptions - Request-specific configuration. + * @param {PermissionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -43,7 +45,7 @@ export class Permissions { public async list( id: string, request: Management.ListUserPermissionsRequestParameters = {}, - requestOptions?: Permissions.RequestOptions, + requestOptions?: PermissionsClient.RequestOptions, ): Promise< core.Page > { @@ -62,9 +64,10 @@ export class Permissions { if (includeTotals !== undefined) { _queryParams["include_totals"] = includeTotals?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -81,6 +84,7 @@ export class Permissions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -117,23 +121,12 @@ export class Permissions { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /users/{id}/permissions.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/users/{id}/permissions", + ); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -144,10 +137,10 @@ export class Permissions { >({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.permissions ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.permissions ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.permissions ?? [], - loadPage: (response) => { - _offset += response?.permissions != null ? response.permissions.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -158,7 +151,7 @@ export class Permissions { * * @param {string} id - ID of the user to assign permissions to. * @param {Management.CreateUserPermissionsRequestContent} request - * @param {Permissions.RequestOptions} requestOptions - Request-specific configuration. + * @param {PermissionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -176,7 +169,7 @@ export class Permissions { public create( id: string, request: Management.CreateUserPermissionsRequestContent, - requestOptions?: Permissions.RequestOptions, + requestOptions?: PermissionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(id, request, requestOptions)); } @@ -184,11 +177,12 @@ export class Permissions { private async __create( id: string, request: Management.CreateUserPermissionsRequestContent, - requestOptions?: Permissions.RequestOptions, + requestOptions?: PermissionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -208,6 +202,7 @@ export class Permissions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -232,21 +227,7 @@ export class Permissions { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /users/{id}/permissions."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/users/{id}/permissions"); } /** @@ -254,7 +235,7 @@ export class Permissions { * * @param {string} id - ID of the user to remove permissions from. * @param {Management.DeleteUserPermissionsRequestContent} request - * @param {Permissions.RequestOptions} requestOptions - Request-specific configuration. + * @param {PermissionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -272,7 +253,7 @@ export class Permissions { public delete( id: string, request: Management.DeleteUserPermissionsRequestContent, - requestOptions?: Permissions.RequestOptions, + requestOptions?: PermissionsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, request, requestOptions)); } @@ -280,11 +261,12 @@ export class Permissions { private async __delete( id: string, request: Management.DeleteUserPermissionsRequestContent, - requestOptions?: Permissions.RequestOptions, + requestOptions?: PermissionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -304,6 +286,7 @@ export class Permissions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -328,26 +311,6 @@ export class Permissions { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /users/{id}/permissions.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/users/{id}/permissions"); } } diff --git a/src/management/api/resources/users/resources/refreshToken/client/Client.ts b/src/management/api/resources/users/resources/refreshToken/client/Client.ts index 8bd4a257d5..19ab46c8b2 100644 --- a/src/management/api/resources/users/resources/refreshToken/client/Client.ts +++ b/src/management/api/resources/users/resources/refreshToken/client/Client.ts @@ -1,31 +1,33 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace RefreshToken { - export interface Options extends BaseClientOptions {} +export declare namespace RefreshTokenClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class RefreshToken { - protected readonly _options: RefreshToken.Options; +export class RefreshTokenClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: RefreshToken.Options) { - this._options = _options; + constructor(options: RefreshTokenClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve details for a user's refresh tokens. * - * @param {string} userId - ID of the user to get refresh tokens for + * @param {string} user_id - ID of the user to get refresh tokens for * @param {Management.ListRefreshTokensRequestParameters} request - * @param {RefreshToken.RequestOptions} requestOptions - Request-specific configuration. + * @param {RefreshTokenClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -39,9 +41,9 @@ export class RefreshToken { * }) */ public async list( - userId: string, + user_id: string, request: Management.ListRefreshTokensRequestParameters = {}, - requestOptions?: RefreshToken.RequestOptions, + requestOptions?: RefreshTokenClient.RequestOptions, ): Promise< core.Page > { @@ -57,9 +59,10 @@ export class RefreshToken { if (take !== undefined) { _queryParams["take"] = take?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -67,7 +70,7 @@ export class RefreshToken { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `users/${core.url.encodePathParam(userId)}/refresh-tokens`, + `users/${core.url.encodePathParam(user_id)}/refresh-tokens`, ), method: "GET", headers: _headers, @@ -76,6 +79,7 @@ export class RefreshToken { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -107,23 +111,12 @@ export class RefreshToken { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /users/{user_id}/refresh-tokens.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/users/{user_id}/refresh-tokens", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -145,8 +138,8 @@ export class RefreshToken { /** * Delete all refresh tokens for a user. * - * @param {string} userId - ID of the user to get remove refresh tokens for - * @param {RefreshToken.RequestOptions} requestOptions - Request-specific configuration. + * @param {string} user_id - ID of the user to get remove refresh tokens for + * @param {RefreshTokenClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -157,17 +150,18 @@ export class RefreshToken { * @example * await client.users.refreshToken.delete("user_id") */ - public delete(userId: string, requestOptions?: RefreshToken.RequestOptions): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__delete(userId, requestOptions)); + public delete(user_id: string, requestOptions?: RefreshTokenClient.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__delete(user_id, requestOptions)); } private async __delete( - userId: string, - requestOptions?: RefreshToken.RequestOptions, + user_id: string, + requestOptions?: RefreshTokenClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -175,7 +169,7 @@ export class RefreshToken { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `users/${core.url.encodePathParam(userId)}/refresh-tokens`, + `users/${core.url.encodePathParam(user_id)}/refresh-tokens`, ), method: "DELETE", headers: _headers, @@ -184,6 +178,7 @@ export class RefreshToken { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -210,26 +205,11 @@ export class RefreshToken { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /users/{user_id}/refresh-tokens.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/users/{user_id}/refresh-tokens", + ); } } diff --git a/src/management/api/resources/users/resources/riskAssessments/client/Client.ts b/src/management/api/resources/users/resources/riskAssessments/client/Client.ts index 643a053acd..2634aa497e 100644 --- a/src/management/api/resources/users/resources/riskAssessments/client/Client.ts +++ b/src/management/api/resources/users/resources/riskAssessments/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace RiskAssessments { - export interface Options extends BaseClientOptions {} +export declare namespace RiskAssessmentsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class RiskAssessments { - protected readonly _options: RiskAssessments.Options; +export class RiskAssessmentsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: RiskAssessments.Options) { - this._options = _options; + constructor(options: RiskAssessmentsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -25,7 +27,7 @@ export class RiskAssessments { * * @param {string} id - ID of the user to clear assessors for. * @param {Management.ClearAssessorsRequestContent} request - * @param {RiskAssessments.RequestOptions} requestOptions - Request-specific configuration. + * @param {RiskAssessmentsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -41,7 +43,7 @@ export class RiskAssessments { public clear( id: string, request: Management.ClearAssessorsRequestContent, - requestOptions?: RiskAssessments.RequestOptions, + requestOptions?: RiskAssessmentsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__clear(id, request, requestOptions)); } @@ -49,11 +51,12 @@ export class RiskAssessments { private async __clear( id: string, request: Management.ClearAssessorsRequestContent, - requestOptions?: RiskAssessments.RequestOptions, + requestOptions?: RiskAssessmentsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -73,6 +76,7 @@ export class RiskAssessments { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -97,26 +101,11 @@ export class RiskAssessments { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /users/{id}/risk-assessments/clear.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/users/{id}/risk-assessments/clear", + ); } } diff --git a/src/management/api/resources/users/resources/roles/client/Client.ts b/src/management/api/resources/users/resources/roles/client/Client.ts index f03b5c733d..c1faf38452 100644 --- a/src/management/api/resources/users/resources/roles/client/Client.ts +++ b/src/management/api/resources/users/resources/roles/client/Client.ts @@ -1,23 +1,25 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Roles { - export interface Options extends BaseClientOptions {} +export declare namespace RolesClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Roles { - protected readonly _options: Roles.Options; +export class RolesClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Roles.Options) { - this._options = _options; + constructor(options: RolesClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** @@ -27,7 +29,7 @@ export class Roles { * * @param {string} id - ID of the user to list roles for. * @param {Management.ListUserRolesRequestParameters} request - * @param {Roles.RequestOptions} requestOptions - Request-specific configuration. + * @param {RolesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -43,7 +45,7 @@ export class Roles { public async list( id: string, request: Management.ListUserRolesRequestParameters = {}, - requestOptions?: Roles.RequestOptions, + requestOptions?: RolesClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -60,9 +62,10 @@ export class Roles { if (includeTotals !== undefined) { _queryParams["include_totals"] = includeTotals?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -79,6 +82,7 @@ export class Roles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -108,21 +112,7 @@ export class Roles { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling GET /users/{id}/roles."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/users/{id}/roles"); }, ); let _offset = request?.page != null ? request?.page : 0; @@ -130,10 +120,10 @@ export class Roles { return new core.Page({ response: dataWithRawResponse.data, rawResponse: dataWithRawResponse.rawResponse, - hasNextPage: (response) => (response?.roles ?? []).length >= (request?.per_page ?? 1), + hasNextPage: (response) => (response?.roles ?? []).length >= Math.floor(request?.per_page ?? 1), getItems: (response) => response?.roles ?? [], - loadPage: (response) => { - _offset += response?.roles != null ? response.roles.length : 1; + loadPage: (_response) => { + _offset += 1; return list(core.setObjectProperty(request, "page", _offset)); }, }); @@ -146,7 +136,7 @@ export class Roles { * * @param {string} id - ID of the user to associate roles with. * @param {Management.AssignUserRolesRequestContent} request - * @param {Roles.RequestOptions} requestOptions - Request-specific configuration. + * @param {RolesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -161,7 +151,7 @@ export class Roles { public assign( id: string, request: Management.AssignUserRolesRequestContent, - requestOptions?: Roles.RequestOptions, + requestOptions?: RolesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__assign(id, request, requestOptions)); } @@ -169,11 +159,12 @@ export class Roles { private async __assign( id: string, request: Management.AssignUserRolesRequestContent, - requestOptions?: Roles.RequestOptions, + requestOptions?: RolesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -193,6 +184,7 @@ export class Roles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -217,21 +209,7 @@ export class Roles { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling POST /users/{id}/roles."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/users/{id}/roles"); } /** @@ -241,7 +219,7 @@ export class Roles { * * @param {string} id - ID of the user to remove roles from. * @param {Management.DeleteUserRolesRequestContent} request - * @param {Roles.RequestOptions} requestOptions - Request-specific configuration. + * @param {RolesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -255,7 +233,7 @@ export class Roles { public delete( id: string, request: Management.DeleteUserRolesRequestContent, - requestOptions?: Roles.RequestOptions, + requestOptions?: RolesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, request, requestOptions)); } @@ -263,11 +241,12 @@ export class Roles { private async __delete( id: string, request: Management.DeleteUserRolesRequestContent, - requestOptions?: Roles.RequestOptions, + requestOptions?: RolesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -287,6 +266,7 @@ export class Roles { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -309,24 +289,6 @@ export class Roles { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError("Timeout exceeded when calling DELETE /users/{id}/roles."); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/users/{id}/roles"); } } diff --git a/src/management/api/resources/users/resources/sessions/client/Client.ts b/src/management/api/resources/users/resources/sessions/client/Client.ts index 141a626c6d..b48ed23af3 100644 --- a/src/management/api/resources/users/resources/sessions/client/Client.ts +++ b/src/management/api/resources/users/resources/sessions/client/Client.ts @@ -1,31 +1,33 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; import * as Management from "../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../core/headers.js"; import * as errors from "../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Sessions { - export interface Options extends BaseClientOptions {} +export declare namespace SessionsClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Sessions { - protected readonly _options: Sessions.Options; +export class SessionsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Sessions.Options) { - this._options = _options; + constructor(options: SessionsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * Retrieve details for a user's sessions. * - * @param {string} userId - ID of the user to get sessions for + * @param {string} user_id - ID of the user to get sessions for * @param {Management.ListUserSessionsRequestParameters} request - * @param {Sessions.RequestOptions} requestOptions - Request-specific configuration. + * @param {SessionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -39,9 +41,9 @@ export class Sessions { * }) */ public async list( - userId: string, + user_id: string, request: Management.ListUserSessionsRequestParameters = {}, - requestOptions?: Sessions.RequestOptions, + requestOptions?: SessionsClient.RequestOptions, ): Promise> { const list = core.HttpResponsePromise.interceptFunction( async ( @@ -55,9 +57,10 @@ export class Sessions { if (take !== undefined) { _queryParams["take"] = take?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -65,7 +68,7 @@ export class Sessions { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `users/${core.url.encodePathParam(userId)}/sessions`, + `users/${core.url.encodePathParam(user_id)}/sessions`, ), method: "GET", headers: _headers, @@ -74,6 +77,7 @@ export class Sessions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -105,23 +109,12 @@ export class Sessions { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /users/{user_id}/sessions.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/users/{user_id}/sessions", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -140,8 +133,8 @@ export class Sessions { /** * Delete all sessions for a user. * - * @param {string} userId - ID of the user to get sessions for - * @param {Sessions.RequestOptions} requestOptions - Request-specific configuration. + * @param {string} user_id - ID of the user to get sessions for + * @param {SessionsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -152,17 +145,18 @@ export class Sessions { * @example * await client.users.sessions.delete("user_id") */ - public delete(userId: string, requestOptions?: Sessions.RequestOptions): core.HttpResponsePromise { - return core.HttpResponsePromise.fromPromise(this.__delete(userId, requestOptions)); + public delete(user_id: string, requestOptions?: SessionsClient.RequestOptions): core.HttpResponsePromise { + return core.HttpResponsePromise.fromPromise(this.__delete(user_id, requestOptions)); } private async __delete( - userId: string, - requestOptions?: Sessions.RequestOptions, + user_id: string, + requestOptions?: SessionsClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -170,7 +164,7 @@ export class Sessions { (await core.Supplier.get(this._options.baseUrl)) ?? (await core.Supplier.get(this._options.environment)) ?? environments.ManagementEnvironment.Default, - `users/${core.url.encodePathParam(userId)}/sessions`, + `users/${core.url.encodePathParam(user_id)}/sessions`, ), method: "DELETE", headers: _headers, @@ -179,6 +173,7 @@ export class Sessions { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -205,26 +200,6 @@ export class Sessions { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /users/{user_id}/sessions.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/users/{user_id}/sessions"); } } diff --git a/src/management/api/resources/verifiableCredentials/client/Client.ts b/src/management/api/resources/verifiableCredentials/client/Client.ts index 5ef516ef46..ba896b6f4a 100644 --- a/src/management/api/resources/verifiableCredentials/client/Client.ts +++ b/src/management/api/resources/verifiableCredentials/client/Client.ts @@ -1,23 +1,24 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions } from "../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as environments from "../../../../environments.js"; import * as core from "../../../../core/index.js"; -import { Verification } from "../resources/verification/client/Client.js"; +import { VerificationClient } from "../resources/verification/client/Client.js"; -export declare namespace VerifiableCredentials { - export interface Options extends BaseClientOptions {} +export declare namespace VerifiableCredentialsClient { + export type Options = BaseClientOptions; } -export class VerifiableCredentials { - protected readonly _options: VerifiableCredentials.Options; - protected _verification: Verification | undefined; +export class VerifiableCredentialsClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _verification: VerificationClient | undefined; - constructor(_options: VerifiableCredentials.Options) { - this._options = _options; + constructor(options: VerifiableCredentialsClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get verification(): Verification { - return (this._verification ??= new Verification(this._options)); + public get verification(): VerificationClient { + return (this._verification ??= new VerificationClient(this._options)); } } diff --git a/src/management/api/resources/verifiableCredentials/resources/verification/client/Client.ts b/src/management/api/resources/verifiableCredentials/resources/verification/client/Client.ts index 295cb570ce..c6c05992b0 100644 --- a/src/management/api/resources/verifiableCredentials/resources/verification/client/Client.ts +++ b/src/management/api/resources/verifiableCredentials/resources/verification/client/Client.ts @@ -1,23 +1,24 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions } from "../../../../../../BaseClient.js"; +import { type NormalizedClientOptionsWithAuth, normalizeClientOptionsWithAuth } from "../../../../../../BaseClient.js"; import * as environments from "../../../../../../environments.js"; import * as core from "../../../../../../core/index.js"; -import { Templates } from "../resources/templates/client/Client.js"; +import { TemplatesClient } from "../resources/templates/client/Client.js"; -export declare namespace Verification { - export interface Options extends BaseClientOptions {} +export declare namespace VerificationClient { + export type Options = BaseClientOptions; } -export class Verification { - protected readonly _options: Verification.Options; - protected _templates: Templates | undefined; +export class VerificationClient { + protected readonly _options: NormalizedClientOptionsWithAuth; + protected _templates: TemplatesClient | undefined; - constructor(_options: Verification.Options) { - this._options = _options; + constructor(options: VerificationClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } - public get templates(): Templates { - return (this._templates ??= new Templates(this._options)); + public get templates(): TemplatesClient { + return (this._templates ??= new TemplatesClient(this._options)); } } diff --git a/src/management/api/resources/verifiableCredentials/resources/verification/resources/templates/client/Client.ts b/src/management/api/resources/verifiableCredentials/resources/verification/resources/templates/client/Client.ts index 5e71b7a289..681b727b99 100644 --- a/src/management/api/resources/verifiableCredentials/resources/verification/resources/templates/client/Client.ts +++ b/src/management/api/resources/verifiableCredentials/resources/verification/resources/templates/client/Client.ts @@ -1,30 +1,35 @@ // This file was auto-generated by Fern from our API Definition. import type { BaseClientOptions, BaseRequestOptions } from "../../../../../../../../BaseClient.js"; +import { + type NormalizedClientOptionsWithAuth, + normalizeClientOptionsWithAuth, +} from "../../../../../../../../BaseClient.js"; import * as environments from "../../../../../../../../environments.js"; import * as core from "../../../../../../../../core/index.js"; import * as Management from "../../../../../../../index.js"; -import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../../../../../core/headers.js"; +import { mergeHeaders } from "../../../../../../../../core/headers.js"; import * as errors from "../../../../../../../../errors/index.js"; +import { handleNonStatusCodeError } from "../../../../../../../../errors/handleNonStatusCodeError.js"; -export declare namespace Templates { - export interface Options extends BaseClientOptions {} +export declare namespace TemplatesClient { + export type Options = BaseClientOptions; export interface RequestOptions extends BaseRequestOptions {} } -export class Templates { - protected readonly _options: Templates.Options; +export class TemplatesClient { + protected readonly _options: NormalizedClientOptionsWithAuth; - constructor(_options: Templates.Options) { - this._options = _options; + constructor(options: TemplatesClient.Options) { + this._options = normalizeClientOptionsWithAuth(options); } /** * List a verifiable credential templates. * * @param {Management.ListVerifiableCredentialTemplatesRequestParameters} request - * @param {Templates.RequestOptions} requestOptions - Request-specific configuration. + * @param {TemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -39,7 +44,7 @@ export class Templates { */ public async list( request: Management.ListVerifiableCredentialTemplatesRequestParameters = {}, - requestOptions?: Templates.RequestOptions, + requestOptions?: TemplatesClient.RequestOptions, ): Promise< core.Page< Management.VerifiableCredentialTemplateResponse, @@ -58,9 +63,10 @@ export class Templates { if (take !== undefined) { _queryParams["take"] = take?.toString() ?? null; } + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -77,6 +83,7 @@ export class Templates { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -111,23 +118,12 @@ export class Templates { }); } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /verifiable-credentials/verification/templates.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/verifiable-credentials/verification/templates", + ); }, ); const dataWithRawResponse = await list(request).withRawResponse(); @@ -150,7 +146,7 @@ export class Templates { * Create a verifiable credential template. * * @param {Management.CreateVerifiableCredentialTemplateRequestContent} request - * @param {Templates.RequestOptions} requestOptions - Request-specific configuration. + * @param {TemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -173,18 +169,19 @@ export class Templates { */ public create( request: Management.CreateVerifiableCredentialTemplateRequestContent, - requestOptions?: Templates.RequestOptions, + requestOptions?: TemplatesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__create(request, requestOptions)); } private async __create( request: Management.CreateVerifiableCredentialTemplateRequestContent, - requestOptions?: Templates.RequestOptions, + requestOptions?: TemplatesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -204,6 +201,7 @@ export class Templates { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -233,30 +231,19 @@ export class Templates { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling POST /verifiable-credentials/verification/templates.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "POST", + "/verifiable-credentials/verification/templates", + ); } /** * Get a verifiable credential template. * * @param {string} id - ID of the template to retrieve. - * @param {Templates.RequestOptions} requestOptions - Request-specific configuration. + * @param {TemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -269,18 +256,19 @@ export class Templates { */ public get( id: string, - requestOptions?: Templates.RequestOptions, + requestOptions?: TemplatesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__get(id, requestOptions)); } private async __get( id: string, - requestOptions?: Templates.RequestOptions, + requestOptions?: TemplatesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -297,6 +285,7 @@ export class Templates { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -326,30 +315,19 @@ export class Templates { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling GET /verifiable-credentials/verification/templates/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "GET", + "/verifiable-credentials/verification/templates/{id}", + ); } /** * Delete a verifiable credential template. * * @param {string} id - ID of the template to retrieve. - * @param {Templates.RequestOptions} requestOptions - Request-specific configuration. + * @param {TemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -359,14 +337,18 @@ export class Templates { * @example * await client.verifiableCredentials.verification.templates.delete("id") */ - public delete(id: string, requestOptions?: Templates.RequestOptions): core.HttpResponsePromise { + public delete(id: string, requestOptions?: TemplatesClient.RequestOptions): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__delete(id, requestOptions)); } - private async __delete(id: string, requestOptions?: Templates.RequestOptions): Promise> { + private async __delete( + id: string, + requestOptions?: TemplatesClient.RequestOptions, + ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -383,6 +365,7 @@ export class Templates { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { data: undefined, rawResponse: _response.rawResponse }; @@ -407,23 +390,12 @@ export class Templates { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling DELETE /verifiable-credentials/verification/templates/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "DELETE", + "/verifiable-credentials/verification/templates/{id}", + ); } /** @@ -431,7 +403,7 @@ export class Templates { * * @param {string} id - ID of the template to retrieve. * @param {Management.UpdateVerifiableCredentialTemplateRequestContent} request - * @param {Templates.RequestOptions} requestOptions - Request-specific configuration. + * @param {TemplatesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.BadRequestError} * @throws {@link Management.UnauthorizedError} @@ -445,7 +417,7 @@ export class Templates { public update( id: string, request: Management.UpdateVerifiableCredentialTemplateRequestContent = {}, - requestOptions?: Templates.RequestOptions, + requestOptions?: TemplatesClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(id, request, requestOptions)); } @@ -453,11 +425,12 @@ export class Templates { private async __update( id: string, request: Management.UpdateVerifiableCredentialTemplateRequestContent = {}, - requestOptions?: Templates.RequestOptions, + requestOptions?: TemplatesClient.RequestOptions, ): Promise> { + const _authRequest: core.AuthRequest = await this._options.authProvider.getAuthRequest(); let _headers: core.Fetcher.Args["headers"] = mergeHeaders( + _authRequest.headers, this._options?.headers, - mergeOnlyDefinedHeaders({ Authorization: await this._getAuthorizationHeader() }), requestOptions?.headers, ); const _response = await (this._options.fetcher ?? core.fetcher)({ @@ -477,6 +450,7 @@ export class Templates { maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries, abortSignal: requestOptions?.abortSignal, fetchFn: this._options?.fetch, + logging: this._options.logging, }); if (_response.ok) { return { @@ -506,26 +480,11 @@ export class Templates { } } - switch (_response.error.reason) { - case "non-json": - throw new errors.ManagementError({ - statusCode: _response.error.statusCode, - body: _response.error.rawBody, - rawResponse: _response.rawResponse, - }); - case "timeout": - throw new errors.ManagementTimeoutError( - "Timeout exceeded when calling PATCH /verifiable-credentials/verification/templates/{id}.", - ); - case "unknown": - throw new errors.ManagementError({ - message: _response.error.errorMessage, - rawResponse: _response.rawResponse, - }); - } - } - - protected async _getAuthorizationHeader(): Promise { - return `Bearer ${await core.Supplier.get(this._options.token)}`; + return handleNonStatusCodeError( + _response.error, + _response.rawResponse, + "PATCH", + "/verifiable-credentials/verification/templates/{id}", + ); } } diff --git a/src/management/api/types/types.ts b/src/management/api/types/types.ts index 9dc219b393..5a1c7a0f14 100644 --- a/src/management/api/types/types.ts +++ b/src/management/api/types/types.ts @@ -267,6 +267,9 @@ export const OauthScope = { /** * Update Event Deliveries */ UpdateEventDeliveries: "update:event_deliveries", + /** + * Read Events */ + ReadEvents: "read:events", /** * Read Extensions */ ReadExtensions: "read:extensions", @@ -1054,12 +1057,12 @@ export type AculClientMetadata = Record; export interface AculConfigsItem { prompt: Management.PromptGroupNameEnum; screen: Management.ScreenGroupNameEnum; - rendering_mode: Management.AculRenderingModeEnum; + rendering_mode?: Management.AculRenderingModeEnum; context_configuration?: Management.AculContextConfiguration; default_head_tags_disabled?: (Management.AculDefaultHeadTagsDisabled | undefined) | null; - head_tags: Management.AculHeadTags; - filters?: Management.AculFilters | null; use_page_template?: (Management.AculUsePageTemplate | undefined) | null; + head_tags?: Management.AculHeadTags; + filters?: Management.AculFilters | null; } /** @@ -1072,7 +1075,33 @@ export type AculConfigs = Management.AculConfigsItem[]; */ export type AculContextConfiguration = Management.AculContextConfigurationItem[]; -export type AculContextConfigurationItem = string; +export type AculContextConfigurationItem = + | Management.AculContextEnum + /** + * Dynamic authorization param ext key (e.g., `untrusted_data.authorization_params.ext-myKey`) */ + | string; + +/** Static context values */ +export const AculContextEnum = { + BrandingSettings: "branding.settings", + BrandingThemesDefault: "branding.themes.default", + ClientLogoUri: "client.logo_uri", + ClientDescription: "client.description", + OrganizationDisplayName: "organization.display_name", + OrganizationBranding: "organization.branding", + ScreenTexts: "screen.texts", + TenantName: "tenant.name", + TenantFriendlyName: "tenant.friendly_name", + TenantLogoUrl: "tenant.logo_url", + TenantEnabledLocales: "tenant.enabled_locales", + UntrustedDataSubmittedFormData: "untrusted_data.submitted_form_data", + UntrustedDataAuthorizationParamsLoginHint: "untrusted_data.authorization_params.login_hint", + UntrustedDataAuthorizationParamsScreenHint: "untrusted_data.authorization_params.screen_hint", + UntrustedDataAuthorizationParamsUiLocales: "untrusted_data.authorization_params.ui_locales", + UserOrganizations: "user.organizations", + TransactionCustomDomainDomain: "transaction.custom_domain.domain", +} as const; +export type AculContextEnum = (typeof AculContextEnum)[keyof typeof AculContextEnum]; /** * Override Universal Login default head tags @@ -1115,23 +1144,21 @@ export interface AculHeadTag { /** Any HTML element valid for use in the head tag */ tag?: string; attributes?: Management.AculHeadTagAttributes; - /** - * Text/content within the opening and closing tags of the element. - * See documentation on using context variables - */ - content?: string; + content?: Management.AculHeadTagContent; /** Accepts any additional properties */ [key: string]: any; } /** - * Attributes of the HTML tag + * Attributes of the HTML tag. See MDN documentation for valid attributes. */ -export interface AculHeadTagAttributes { - integrity?: string[]; - /** Accepts any additional properties */ - [key: string]: any; -} +export type AculHeadTagAttributes = Record; + +/** + * Text or markup between the element’s opening and closing tags. + * You can use context variables to display dynamic values. + */ +export type AculHeadTagContent = string; /** * An array of head tags @@ -1179,11 +1206,11 @@ export interface AculResponseContent { context_configuration?: string[]; /** Override Universal Login default head tags */ default_head_tags_disabled?: boolean | null; + /** Use page template with ACUL */ + use_page_template?: boolean | null; /** An array of head tags */ head_tags?: Management.AculHeadTag[]; filters?: Management.AculFilters | null; - /** Use page template with ACUL */ - use_page_template?: boolean | null; /** Accepts any additional properties */ [key: string]: any; } @@ -1407,19 +1434,29 @@ export type BotDetectionChallengePolicyPasswordlessFlowEnum = (typeof BotDetectionChallengePolicyPasswordlessFlowEnum)[keyof typeof BotDetectionChallengePolicyPasswordlessFlowEnum]; /** - * IPv4 address or CIDR block + * CIDR block */ -export type BotDetectionIPv4OrCidrBlock = string; +export type BotDetectionCidrBlock = string; /** - * IPv6 address or CIDR block + * IP address (IPv4 or IPv6) or CIDR block */ -export type BotDetectionIPv6OrCidrBlock = string; +export type BotDetectionIpAddressOrCidrBlock = string; /** - * IP address (IPv4 or IPv6) or CIDR block + * IPv4 address */ -export type BotDetectionIpAddressOrCidrBlock = string; +export type BotDetectionIPv4 = string; + +/** + * IPv6 address + */ +export type BotDetectionIPv6 = string; + +/** + * IPv6 CIDR block + */ +export type BotDetectionIPv6CidrBlock = string; /** The level of bot detection sensitivity */ export const BotDetectionLevelEnum = { @@ -1759,6 +1796,17 @@ export interface BulkUpdateAculResponseContent { [key: string]: any; } +/** + * The user's identity. If you set this value, you must also send the user_id parameter. + */ +export interface ChangePasswordTicketIdentity { + /** user_id of the identity. */ + user_id: string; + provider: Management.IdentityProviderOnlyAuth0Enum; + /** connection_id of the identity. */ + connection_id?: string; +} + export interface ChangePasswordTicketResponseContent { /** URL representing the ticket. */ ticket: string; @@ -1848,9 +1896,11 @@ export interface Client { * See https://auth0.com/docs/secure/security-guidance/measures-against-app-impersonation for more information. */ skip_non_verifiable_callback_uri_confirmation_prompt?: boolean; + token_exchange?: Management.ClientTokenExchangeConfiguration; /** Specifies how long, in seconds, a Pushed Authorization Request URI remains valid */ par_request_expiry?: number | null; token_quota?: Management.TokenQuota; + express_configuration?: Management.ExpressConfiguration; /** The identifier of the resource server that this client is linked to. */ resource_server_identifier?: string; async_approval_notification_channels?: Management.ClientAsyncApprovalNotificationsChannelsApiPostConfiguration; @@ -2724,6 +2774,24 @@ export const ClientTokenEndpointAuthMethodOrNullEnum = { export type ClientTokenEndpointAuthMethodOrNullEnum = (typeof ClientTokenEndpointAuthMethodOrNullEnum)[keyof typeof ClientTokenEndpointAuthMethodOrNullEnum]; +/** + * Configuration for token exchange. + */ +export interface ClientTokenExchangeConfiguration { + /** List the enabled token exchange types for this client. */ + allow_any_profile_of_type?: Management.ClientTokenExchangeTypeEnum[]; +} + +/** + * Configuration for token exchange. + */ +export interface ClientTokenExchangeConfigurationOrNull { + /** List the enabled token exchange types for this client. */ + allow_any_profile_of_type?: Management.ClientTokenExchangeTypeEnum[]; +} + +export type ClientTokenExchangeTypeEnum = "custom_authentication"; + export interface ConnectedAccount { /** The unique identifier for the connected account. */ id: string; @@ -2747,11 +2815,54 @@ export interface ConnectedAccount { */ export type ConnectedAccountAccessTypeEnum = "offline"; +/** + * A list of the Authentication Context Class References that this OP supports + */ +export type ConnectionAcrValuesSupported = string[]; + +/** + * List of allowed audiences in the ID token for Google Native Social Login + */ +export type ConnectionAllowedAudiencesGoogleOAuth2 = string[]; + +/** + * The Azure AD application domain (e.g., 'contoso.onmicrosoft.com'). Used primarily with WS-Federation protocol and Azure AD v1 endpoints. + */ +export type ConnectionAppDomainAzureAd = string; + export interface ConnectionAttributeIdentifier { /** Determines if the attribute is used for identification */ active?: boolean; } +/** + * Object containing mapping details for incoming claims + */ +export type ConnectionAttributeMapAttributes = Record; + +/** + * Mapping of claims received from the identity provider (IdP) + */ +export interface ConnectionAttributeMapOidc { + attributes?: Management.ConnectionAttributeMapAttributes; + mapping_mode?: Management.ConnectionMappingModeEnumOidc; + userinfo_scope?: Management.ConnectionAttributeMapUserinfoScope; +} + +/** + * Mapping of claims received from the identity provider (IdP) + */ +export interface ConnectionAttributeMapOkta { + attributes?: Management.ConnectionAttributeMapAttributes; + mapping_mode?: Management.ConnectionMappingModeEnumOkta; + userinfo_scope?: Management.ConnectionAttributeMapUserinfoScope; +} + +/** + * Scopes to send to the IdP's Userinfo endpoint + */ +export type ConnectionAttributeMapUserinfoScope = string; + /** * Attribute configuration */ @@ -2761,6 +2872,21 @@ export interface ConnectionAttributes { username?: Management.UsernameAttribute; } +/** + * Additional properties for OAuth2 connection authentication parameters + */ +export type ConnectionAuthParamsAdditionalPropertiesOAuth2 = string; + +/** + * Maps parameter names from Auth0's /authorize endpoint to the identity provider's authorization endpoint parameters. For example, mapping 'audience' to 'resource' transforms the parameter name during authorization requests. Applied after authParams merging. See https://auth0.com/docs/authenticate/identity-providers/social-identity-providers/oauth2#pass-dynamic-parameters + */ +export type ConnectionAuthParamsMap = Record; + +/** + * Additional static parameters included in every authorization request to the identity provider. These parameters are merged with runtime parameters before the authorization redirect. Keys and values are passed as-is to the identity provider's authorization endpoint. See https://auth0.com/docs/authenticate/identity-providers/social-identity-providers/oauth2#pass-static-parameters + */ +export type ConnectionAuthParamsOAuth2 = Record; + /** * Options for enabling authentication methods. */ @@ -2776,6 +2902,86 @@ export interface ConnectionAuthenticationPurpose { active: boolean; } +export type ConnectionAuthorizationEndpoint = string; + +export type ConnectionAuthorizationEndpointOAuth2 = Management.ConnectionAuthorizationEndpoint; + +/** + * Indicates whether brute force protection is enabled. + */ +export type ConnectionBruteForceProtection = boolean; + +/** + * JSON array containing a list of the Claim Types that the OpenID Provider supports. These Claim Types are described in Section 5.6 of OpenID Connect Core 1.0 [OpenID.Core]. If omitted, the implementation supports only normal Claims. + */ +export type ConnectionClaimTypesSupported = string[]; + +/** + * Languages and scripts supported for values in Claims being returned, represented as a JSON array of BCP47 [RFC5646] language tag values. Not all languages and scripts are necessarily supported for all Claim values. + */ +export type ConnectionClaimsLocalesSupported = string[]; + +/** + * Boolean value specifying whether the OP supports use of the claims parameter, with true indicating support. If omitted, the default value is false. + */ +export type ConnectionClaimsParameterSupported = boolean; + +/** + * JSON array containing a list of the Claim Names of the Claims that the OpenID Provider MAY be able to supply values for. Note that for privacy or other reasons, this might not be an exhaustive list. + */ +export type ConnectionClaimsSupported = string[]; + +/** + * OAuth 2.0 client identifier issued by the identity provider during application registration. This value identifies your Auth0 connection to the identity provider. + */ +export type ConnectionClientId = string; + +export type ConnectionClientIdAzureAd = Management.ConnectionClientId; + +/** + * Your Google OAuth 2.0 client ID. You can find this in your [Google Cloud Console](https://console.cloud.google.com/apis/credentials) under the OAuth 2.0 Client IDs section. + */ +export type ConnectionClientIdGoogleOAuth2 = (string | null) | undefined; + +export type ConnectionClientIdOAuth2 = Management.ConnectionClientId; + +export type ConnectionClientIdOidc = Management.ConnectionClientId; + +/** + * OAuth 2.0 client secret issued by the identity provider during application registration. Used to authenticate your Auth0 connection when exchanging authorization codes for tokens. May be null for public clients. + */ +export type ConnectionClientSecret = string; + +/** + * The client secret (application password) from your Azure AD app registration. Used to authenticate your application when exchanging authorization codes for tokens. + */ +export type ConnectionClientSecretAzureAd = string; + +/** + * Your Google OAuth 2.0 client secret. You can find this in your [Google Cloud Console](https://console.cloud.google.com/apis/credentials) under the OAuth 2.0 Client IDs section. + */ +export type ConnectionClientSecretGoogleOAuth2 = (string | null) | undefined; + +export type ConnectionClientSecretOAuth2 = Management.ConnectionClientSecret; + +export type ConnectionClientSecretOidc = Management.ConnectionClientSecret; + +export interface ConnectionCommon { + authentication?: Management.ConnectionAuthenticationPurpose; + connected_accounts?: Management.ConnectionConnectedAccountsPurpose; + display_name?: Management.ConnectionDisplayName; + enabled_clients?: Management.ConnectionEnabledClients; + is_domain_connection?: Management.ConnectionIsDomainConnection; + metadata?: Management.ConnectionsMetadata; + realms?: Management.ConnectionRealms; + show_as_button?: Management.ConnectionShowAsButton; +} + +/** + * A hash of configuration key/value pairs. + */ +export type ConnectionConfiguration = Record; + /** * Configure the purpose of a connection to be used for connected accounts and Token Vault. */ @@ -2784,6 +2990,28 @@ export interface ConnectionConnectedAccountsPurpose { cross_app_access?: boolean; } +/** + * PKCE configuration for the connection + */ +export interface ConnectionConnectionSettings { + pkce?: Management.ConnectionConnectionSettingsPkceEnum; +} + +/** PKCE configuration. */ +export const ConnectionConnectionSettingsPkceEnum = { + Auto: "auto", + S256: "S256", + Plain: "plain", + Disabled: "disabled", +} as const; +export type ConnectionConnectionSettingsPkceEnum = + (typeof ConnectionConnectionSettingsPkceEnum)[keyof typeof ConnectionConnectionSettingsPkceEnum]; + +/** + * Custom HTTP headers sent with token exchange requests to the identity provider's token endpoint. Provided as key-value pairs (e.g., {'X-Custom-Header': 'value'}). Auth0's User-Agent header is always included by default. + */ +export type ConnectionCustomHeadersOAuth2 = Record; + /** * A map of scripts used to integrate with a custom database. */ @@ -2801,11 +3029,48 @@ export interface ConnectionCustomScripts { [key: string]: any; } +/** + * Indicates whether to disable self-service change password. Set to true to stop the "Forgot Password" being displayed on login pages + */ +export type ConnectionDisableSelfServiceChangePassword = boolean; + +/** + * Set to true to disable signups + */ +export type ConnectionDisableSignup = boolean; + +/** + * OIDC discovery URL. Discovery runs only when connection.options.oidc_metadata is empty and a discovery_url is provided. + */ +export type ConnectionDiscoveryUrl = string; + /** * Connection name used in the new universal login experience */ export type ConnectionDisplayName = string; +/** + * JSON array containing a list of the JWS signing algorithms (alg values) supported by the Token Endpoint for the signature on the JWT [JWT] used to authenticate the Client at the Token Endpoint for the private_key_jwt and client_secret_jwt authentication methods. Servers SHOULD support RS256. The value none MUST NOT be used. + */ +export type ConnectionDisplayValuesSupported = string[]; + +export type ConnectionDomainAliasesOne = string[]; + +/** + * Alternative domain names associated with this Azure AD tenant. Allows users from multiple verified domains to authenticate through this connection. Can be an array of domain strings. + */ +export type ConnectionDomainAliasesAzureAd = string[]; + +/** + * Domain of the Okta organization (e.g., dev-123456.okta.com). Should be just the domain of the okta server with no scheme or trailing backslash. Discovery runs only when connection.options.oidc_metadata is empty and a domain is provided + */ +export type ConnectionDomainOkta = string; + +/** + * Set to true to inject context into custom DB scripts (warning: cannot be disabled once enabled) + */ +export type ConnectionEnableScriptContext = boolean; + export interface ConnectionEnabledClient { /** The client id */ client_id: string; @@ -2818,6 +3083,48 @@ export interface ConnectionEnabledClient { */ export type ConnectionEnabledClients = string[]; +/** + * Set to true to use a legacy user store + */ +export type ConnectionEnabledDatabaseCustomization = boolean; + +/** + * URL of the identity provider's logout/end session endpoint. When configured as a static URL, users are redirected here after logging out from Auth0. Must use HTTPS scheme. + */ +export type ConnectionEndSessionEndpoint = string; + +export type ConnectionEndSessionEndpointOAuth2 = Management.ConnectionEndSessionEndpoint; + +/** + * Indicates to store whether the user is a domain administrator. + */ +export type ConnectionExtAdmin = boolean; + +/** + * Indicates to store whether the user has agreed to the terms of service. + */ +export type ConnectionExtAgreedTerms = boolean; + +/** + * Indicates whether to store a list of the Office 365 assigned plans for the user. + */ +export type ConnectionExtAssignedPlans = boolean; + +/** + * When enabled (true), retrieves and stores Azure AD security group memberships for the user. Requires Microsoft Graph API permissions (Directory.Read.All). Allows configuring max_groups_to_retrieve. + */ +export type ConnectionExtGroups = boolean; + +/** + * Indicates to store whether a user's account is suspended. + */ +export type ConnectionExtIsSuspended = boolean; + +/** + * When enabled (true), retrieves extended profile attributes from Azure AD via Microsoft Graph API (job title, department, office location, etc.). Requires Graph API permissions. Only available with Azure AD v1 or when explicitly enabled for v2. + */ +export type ConnectionExtProfile = boolean; + /** * Federated Connections Access Tokens */ @@ -2826,6 +3133,11 @@ export interface ConnectionFederatedConnectionsAccessTokens { active?: boolean; } +/** + * Mapping of user profile fields returned from the OAuth2 provider to Auth0 user attributes + */ +export type ConnectionFieldsMap = Record; + export interface ConnectionForList { /** The name of the connection */ name?: string; @@ -2861,6 +3173,11 @@ export interface ConnectionForOrganization { is_signup_enabled?: boolean; } +/** + * Array of custom OAuth 2.0 scopes to request from Google during authentication. Use this to request scopes not covered by the predefined scope options. + */ +export type ConnectionFreeformScopesGoogleOAuth2 = Management.ConnectionScopeArray; + /** * Token-based authentication settings to be applied when connection is using an sms strategy. */ @@ -2879,11 +3196,67 @@ export interface ConnectionGatewayAuthentication { [key: string]: any; } +/** + * A list of the OAuth 2.0 Grant Type values that this OP supports. Dynamic OpenID Providers MUST support the authorization_code and implicit Grant Type values and MAY support other Grant Types. If omitted, the default value is ["authorization_code", "implicit"]. + */ +export type ConnectionGrantTypesSupported = string[]; + +export type ConnectionHttpsUrlWithHttpFallback = string; + +/** + * https url of the icon to be shown + */ +export type ConnectionIconUrl = string; + +/** + * URL for the connection icon displayed in Auth0 login pages. Accepts HTTPS URLs. Used for visual branding in authentication flows. + */ +export type ConnectionIconUrlAzureAd = Management.ConnectionIconUrl; + +export type ConnectionIconUrlGoogleOAuth2 = Management.ConnectionIconUrl; + /** * The connection's identifier */ export type ConnectionId = string; +/** + * JSON array containing a list of the JWE encryption algorithms (alg values) supported by the OP for the ID Token to encode the Claims in a JWT + */ +export type ConnectionIdTokenEncryptionAlgValuesSupported = string[]; + +/** + * JSON array containing a list of the JWE encryption algorithms (enc values) supported by the OP for the ID Token to encode the Claims in a JWT [JWT]. + */ +export type ConnectionIdTokenEncryptionEncValuesSupported = string[]; + +/** Algorithm allowed to verify the ID tokens. */ +export const ConnectionIdTokenSignedResponseAlgEnum = { + Rs256: "RS256", + Rs512: "RS512", + Ps256: "PS256", + Es256: "ES256", +} as const; +export type ConnectionIdTokenSignedResponseAlgEnum = + (typeof ConnectionIdTokenSignedResponseAlgEnum)[keyof typeof ConnectionIdTokenSignedResponseAlgEnum]; + +/** + * List of algorithms allowed to verify the ID tokens. + */ +export type ConnectionIdTokenSignedResponseAlgs = + | (Management.ConnectionIdTokenSignedResponseAlgEnum[] | null) + | undefined; + +/** + * A list of the JWS signing algorithms (alg values) supported by the OP for the ID Token to encode the Claims in a JWT. The algorithm RS256 MUST be included. The value none MAY be supported, but MUST NOT be used unless the Response Type used returns no ID Token from the Authorization Endpoint (such as when using the Authorization Code Flow). https://datatracker.ietf.org/doc/html/rfc7518 + */ +export type ConnectionIdTokenSigningAlgValuesSupported = string[]; + +/** + * Order of precedence for attribute types. If the property is not specified, the default precedence of attributes will be used. + */ +export type ConnectionIdentifierPrecedence = Management.ConnectionIdentifierPrecedenceEnum[]; + /** Order of precedence for attribute types */ export const ConnectionIdentifierPrecedenceEnum = { Email: "email", @@ -2893,6 +3266,19 @@ export const ConnectionIdentifierPrecedenceEnum = { export type ConnectionIdentifierPrecedenceEnum = (typeof ConnectionIdentifierPrecedenceEnum)[keyof typeof ConnectionIdentifierPrecedenceEnum]; +/** + * The Azure AD endpoint version for authentication. 'microsoft-identity-platform-v2.0' (recommended, default) supports modern OAuth 2.0 features. 'azure-active-directory-v1.0' is the legacy endpoint with protocol limitations. Selection affects available features. + */ +export type ConnectionIdentityApiAzureAd = Management.ConnectionIdentityApiEnumAzureAd; + +/** Identity API version to use */ +export const ConnectionIdentityApiEnumAzureAd = { + MicrosoftIdentityPlatformV20: "microsoft-identity-platform-v2.0", + AzureActiveDirectoryV10: "azure-active-directory-v1.0", +} as const; +export type ConnectionIdentityApiEnumAzureAd = + (typeof ConnectionIdentityApiEnumAzureAd)[keyof typeof ConnectionIdentityApiEnumAzureAd]; + /** The identity provider identifier for the connection */ export const ConnectionIdentityProviderEnum = { Ad: "ad", @@ -2961,11 +3347,20 @@ export const ConnectionIdentityProviderEnum = { export type ConnectionIdentityProviderEnum = (typeof ConnectionIdentityProviderEnum)[keyof typeof ConnectionIdentityProviderEnum]; +/** + * Enable this if you have a legacy user store and you want to gradually migrate those users to the Auth0 user store + */ +export type ConnectionImportMode = boolean; + /** * true promotes to a domain-level connection so that third-party applications can use it. false does not promote the connection, so only first-party applications with the connection enabled can use it. (Defaults to false.) */ export type ConnectionIsDomainConnection = boolean; +export type ConnectionIssuer = Management.ConnectionHttpsUrlWithHttpFallback; + +export type ConnectionJwksUri = Management.ConnectionHttpsUrlWithHttpFallback; + export interface ConnectionKey { /** The key id of the signing key */ kid: string; @@ -3000,23 +3395,68 @@ export const ConnectionKeyUseEnum = { } as const; export type ConnectionKeyUseEnum = (typeof ConnectionKeyUseEnum)[keyof typeof ConnectionKeyUseEnum]; +/** Method used to map incoming claims when strategy=oidc. */ +export const ConnectionMappingModeEnumOidc = { + BindAll: "bind_all", + UseMap: "use_map", +} as const; +export type ConnectionMappingModeEnumOidc = + (typeof ConnectionMappingModeEnumOidc)[keyof typeof ConnectionMappingModeEnumOidc]; + +/** Method used to map incoming claims when strategy=okta. */ +export const ConnectionMappingModeEnumOkta = { + BasicProfile: "basic_profile", + UseMap: "use_map", +} as const; +export type ConnectionMappingModeEnumOkta = + (typeof ConnectionMappingModeEnumOkta)[keyof typeof ConnectionMappingModeEnumOkta]; + +/** + * Maximum number of Azure AD groups to retrieve per user during authentication. Helps prevent performance issues for users in many groups. Only applies when ext_groups is enabled. Leave empty to use platform default. + */ +export type ConnectionMaxGroupsToRetrieve = string; + +/** + * Multi-factor authentication configuration + */ +export interface ConnectionMfa { + /** Indicates whether MFA is active for this connection */ + active?: boolean; + /** Indicates whether to return MFA enrollment settings */ + return_enroll_settings?: boolean; +} + /** * The name of the connection. Must start and end with an alphanumeric character and can only contain alphanumeric characters and '-'. Max length 128 */ export type ConnectionName = string; +/** + * Connection name prefix template. + */ +export type ConnectionNamePrefixTemplate = string; + +/** + * An array of user fields that should not be stored in the Auth0 database (https://auth0.com/docs/security/data-security/denylist) + */ +export type ConnectionNonPersistentAttrs = string[]; + +export type ConnectionOpPolicyUri = Management.ConnectionHttpsUrlWithHttpFallback; + +export type ConnectionOpTosUri = Management.ConnectionHttpsUrlWithHttpFallback; + /** * In order to return options in the response, the `read:connections_options` scope must be present */ export type ConnectionOptions = Record; /** - * options for the 'ad' connection + * Options for the 'ad' connection */ export type ConnectionOptionsAd = Record; /** - * options for the 'adfs' connection + * Options for the 'adfs' connection */ export type ConnectionOptionsAdfs = Record; @@ -3025,24 +3465,176 @@ export type ConnectionOptionsAol = Management.ConnectionOptionsOAuth2Common; export type ConnectionOptionsAmazon = Management.ConnectionOptionsOAuth2Common; /** - * options for the 'apple' connection + * Options for the 'apple' connection */ -export type ConnectionOptionsApple = Record; +export interface ConnectionOptionsApple extends Management.ConnectionOptionsCommon { + /** Apple App Secret (must be a PEM) */ + app_secret?: string | null; + /** Apple Services ID */ + client_id?: string | null; + /** User has the option to obfuscate the email with Apple's relay service */ + email?: boolean; + /** Array of freeform scopes */ + freeform_scopes?: string[]; + /** Apple Key ID */ + kid?: string | null; + /** Whether to request name from Apple */ + name?: boolean; + /** Space separated list of scopes */ + scope?: string; + set_user_root_attributes?: Management.ConnectionSetUserRootAttributesEnum; + /** Apple Team ID */ + team_id?: string | null; + upstream_params?: (Management.ConnectionUpstreamParams | undefined) | null; +} /** - * options for the 'auth0' connection + * Options for the 'auth0' connection */ -export type ConnectionOptionsAuth0 = Record; +export interface ConnectionOptionsAuth0 extends Management.ConnectionOptionsCommon { + attributes?: Management.ConnectionAttributes; + authentication_methods?: Management.ConnectionAuthenticationMethods | null; + brute_force_protection?: Management.ConnectionBruteForceProtection; + configuration?: Management.ConnectionConfiguration; + customScripts?: Management.ConnectionCustomScripts; + disable_self_service_change_password?: Management.ConnectionDisableSelfServiceChangePassword; + disable_signup?: Management.ConnectionDisableSignup; + enable_script_context?: Management.ConnectionEnableScriptContext; + enabledDatabaseCustomization?: Management.ConnectionEnabledDatabaseCustomization; + import_mode?: Management.ConnectionImportMode; + mfa?: Management.ConnectionMfa; + passkey_options?: Management.ConnectionPasskeyOptions | null; + passwordPolicy?: Management.ConnectionPasswordPolicyEnum | null; + password_complexity_options?: Management.ConnectionPasswordComplexityOptions | null; + password_dictionary?: Management.ConnectionPasswordDictionaryOptions | null; + password_history?: Management.ConnectionPasswordHistoryOptions | null; + password_no_personal_info?: Management.ConnectionPasswordNoPersonalInfoOptions | null; + precedence?: Management.ConnectionIdentifierPrecedence; + realm_fallback?: Management.ConnectionRealmFallback; + requires_username?: Management.ConnectionRequiresUsername; + validation?: Management.ConnectionValidationOptions | null; +} /** - * options for the 'auth0-oidc' connection + * Options for the 'auth0-oidc' connection */ export type ConnectionOptionsAuth0Oidc = Record; /** - * options for the 'waad' connection + * Options for the 'waad' connection */ -export type ConnectionOptionsAzureAd = Record; +export interface ConnectionOptionsAzureAd extends Management.ConnectionOptionsCommon { + /** Enable users API */ + api_enable_users?: boolean; + app_domain?: Management.ConnectionAppDomainAzureAd; + /** The Application ID URI (App ID URI) for the Azure AD application. Required when using Azure AD v1 with the Resource Owner Password flow. Used to identify the resource being requested in OAuth token requests. */ + app_id?: string; + /** Includes basic user profile information from Azure AD (name, email, given_name, family_name). Always enabled and required - represents the minimum profile data retrieved during authentication. */ + basic_profile?: boolean; + client_id?: Management.ConnectionClientIdAzureAd; + client_secret?: Management.ConnectionClientSecretAzureAd; + domain_aliases?: Management.ConnectionDomainAliasesAzureAd; + /** When false, prevents storing the user's Azure AD access token in the Auth0 user profile. When true (default), the access token is persisted for API access. */ + ext_access_token?: boolean; + /** When false, prevents storing whether the user's Azure AD account is enabled. When true (default), the account enabled status is persisted in the user profile. */ + ext_account_enabled?: boolean; + ext_admin?: Management.ConnectionExtAdmin; + ext_agreed_terms?: Management.ConnectionExtAgreedTerms; + /** When false, prevents storing the list of Microsoft 365/Office 365 licenses assigned to the user. When true (default), license information is persisted in the user profile. */ + ext_assigned_licenses?: boolean; + ext_assigned_plans?: Management.ConnectionExtAssignedPlans; + /** When false, prevents storing the user's Azure ID identifier. When true (default), the Azure ID is persisted. Note: 'oid' (Object ID) is the recommended unique identifier for single-tenant connections. */ + ext_azure_id?: boolean; + /** When false, prevents storing the user's city from Azure AD. When true (default), city information is persisted in the user profile. */ + ext_city?: boolean; + /** When false, prevents storing the user's country from Azure AD. When true (default), country information is persisted in the user profile. */ + ext_country?: boolean; + /** When false, prevents storing the user's department from Azure AD. When true (default), department information is persisted in the user profile. */ + ext_department?: boolean; + /** When false, prevents storing whether directory synchronization is enabled for the user. When true (default), directory sync status is persisted in the user profile. */ + ext_dir_sync_enabled?: boolean; + /** When false, prevents storing the user's email address from Azure AD. When true (default), email is persisted in the user profile. */ + ext_email?: boolean; + /** When false, prevents storing the token expiration time (in seconds). When true (default), expiration information is persisted in the user profile. */ + ext_expires_in?: boolean; + /** When false, prevents storing the user's family name (last name) from Azure AD. When true (default), family name is persisted in the user profile. */ + ext_family_name?: boolean; + /** When false, prevents storing the user's fax number from Azure AD. When true (default), fax information is persisted in the user profile. */ + ext_fax?: boolean; + /** When false, prevents storing the user's given name (first name) from Azure AD. When true (default), given name is persisted in the user profile. */ + ext_given_name?: boolean; + /** When false, prevents storing the list of Azure AD group IDs the user is a member of. When true (default), group membership IDs are persisted. See ext_groups for retrieving group details. */ + ext_group_ids?: boolean; + ext_groups?: Management.ConnectionExtGroups; + ext_is_suspended?: Management.ConnectionExtIsSuspended; + /** When false, prevents storing the user's job title from Azure AD. When true (default), job title information is persisted in the user profile. */ + ext_job_title?: boolean; + /** When false, prevents storing the timestamp of the last directory synchronization. When true (default), the last sync date is persisted in the user profile. */ + ext_last_sync?: boolean; + /** When false, prevents storing the user's mobile phone number from Azure AD. When true (default), mobile number is persisted in the user profile. */ + ext_mobile?: boolean; + /** When false, prevents storing the user's full name from Azure AD. When true (default), full name is persisted in the user profile. */ + ext_name?: boolean; + /** When true, stores all groups the user is member of, including transitive group memberships (groups within groups). When false (default), only direct group memberships are included. */ + ext_nested_groups?: boolean; + /** When false, prevents storing the user's nickname or display name from Azure AD. When true (default), nickname is persisted in the user profile. */ + ext_nickname?: boolean; + /** When false, prevents storing the user's Object ID (oid) from Azure AD. When true (default), the oid is persisted. Note: 'oid' is the recommended unique identifier for single-tenant connections and required for SCIM. */ + ext_oid?: boolean; + /** When false, prevents storing the user's phone number from Azure AD. When true (default), phone number is persisted in the user profile. */ + ext_phone?: boolean; + /** When false, prevents storing the user's office location from Azure AD. When true (default), office location is persisted in the user profile. */ + ext_physical_delivery_office_name?: boolean; + /** When false, prevents storing the user's postal code from Azure AD. When true (default), postal code is persisted in the user profile. */ + ext_postal_code?: boolean; + /** When false, prevents storing the user's preferred language from Azure AD. When true (default), language preference is persisted in the user profile. */ + ext_preferred_language?: boolean; + ext_profile?: Management.ConnectionExtProfile; + /** When false, prevents storing the list of service plans provisioned to the user. When true (default), provisioned plans are persisted in the user profile. */ + ext_provisioned_plans?: boolean; + /** When false, prevents storing provisioning errors that occurred during synchronization. When true (default), error information is persisted. Useful for troubleshooting sync issues. */ + ext_provisioning_errors?: boolean; + /** When false, prevents storing all proxy email addresses (email aliases) for the user. When true (default), proxy addresses are persisted in the user profile. */ + ext_proxy_addresses?: boolean; + /** When false, prevents storing the user's Passport User ID (puid). When true (default), puid is persisted in the user profile. Legacy attribute. */ + ext_puid?: boolean; + /** When false, prevents storing the Azure AD refresh token. When true (default), the refresh token is persisted for offline access. Required for token refresh in long-lived applications. */ + ext_refresh_token?: boolean; + /** When false, prevents storing Azure AD application roles assigned to the user. When true (default), role information is persisted. Useful for RBAC in applications. */ + ext_roles?: boolean; + /** When false, prevents storing the user's state (province/region) from Azure AD. When true (default), state information is persisted in the user profile. */ + ext_state?: boolean; + /** When false, prevents storing the user's street address from Azure AD. When true (default), street address is persisted in the user profile. */ + ext_street?: boolean; + /** When false, prevents storing the user's telephone number from Azure AD. When true (default), telephone number is persisted in the user profile. */ + ext_telephoneNumber?: boolean; + /** When false, prevents storing the user's Azure AD tenant ID. When true (default), tenant ID is persisted. Useful for identifying which Azure AD organization the user belongs to. */ + ext_tenantid?: boolean; + /** When false, prevents storing the user's User Principal Name (UPN) from Azure AD. When true (default), UPN is persisted. UPN is the user's logon name (e.g., user@contoso.com). */ + ext_upn?: boolean; + /** When false, prevents storing the user's usage location for license assignment. When true (default), usage location is persisted in the user profile. */ + ext_usage_location?: boolean; + /** When false, prevents storing an alternative user ID. When true (default), this user ID is persisted in the user profile. */ + ext_user_id?: boolean; + federated_connections_access_tokens?: Management.ConnectionFederatedConnectionsAccessTokens | null; + /** Indicates whether admin consent has been granted for the required Azure AD permissions. Read-only status field managed by Auth0 during the OAuth authorization flow. */ + granted?: boolean; + icon_url?: Management.ConnectionIconUrlAzureAd; + identity_api?: Management.ConnectionIdentityApiAzureAd; + max_groups_to_retrieve?: Management.ConnectionMaxGroupsToRetrieve; + scope?: Management.ConnectionScopeAzureAd; + set_user_root_attributes?: Management.ConnectionSetUserRootAttributesEnum; + should_trust_email_verified_connection?: Management.ConnectionShouldTrustEmailVerifiedConnectionEnum; + tenant_domain?: Management.ConnectionTenantDomainAzureAdOne; + tenantId?: Management.ConnectionTenantIdAzureAd; + thumbprints?: Management.ConnectionThumbprints; + upstream_params?: Management.ConnectionUpstreamParamsAzureAd | undefined; + /** Indicates WS-Federation protocol usage. When true, uses WS-Federation; when false, uses OpenID Connect. */ + use_wsfed?: boolean; + useCommonEndpoint?: Management.ConnectionUseCommonEndpointAzureAd; + userid_attribute?: Management.ConnectionUseridAttributeAzureAd; + waad_protocol?: Management.ConnectionWaadProtocol; +} export type ConnectionOptionsBaidu = Management.ConnectionOptionsOAuth2Common; @@ -3053,7 +3645,42 @@ export type ConnectionOptionsBitly = Management.ConnectionOptionsOAuth2Common; export type ConnectionOptionsBox = Management.ConnectionOptionsOAuth2Common; /** - * options for the 'custom' connection + * Common attributes for connection options including non-persistent attributes and cross-app access + */ +export interface ConnectionOptionsCommon { + non_persistent_attrs?: Management.ConnectionNonPersistentAttrs; +} + +/** + * common options for OIDC connections + */ +export interface ConnectionOptionsCommonOidc { + authorization_endpoint?: Management.ConnectionAuthorizationEndpoint; + client_id: Management.ConnectionClientIdOidc; + client_secret?: Management.ConnectionClientSecretOidc; + connection_settings?: Management.ConnectionConnectionSettings; + federated_connections_access_tokens?: Management.ConnectionFederatedConnectionsAccessTokens | null; + domain_aliases?: Management.ConnectionDomainAliasesOne; + icon_url?: Management.ConnectionIconUrl; + id_token_signed_response_algs?: (Management.ConnectionIdTokenSignedResponseAlgs | undefined) | null; + issuer?: Management.ConnectionIssuer; + jwks_uri?: Management.ConnectionJwksUri; + oidc_metadata?: Management.ConnectionOptionsOidcMetadata; + scope?: Management.ConnectionScopeOidc; + send_back_channel_nonce?: Management.ConnectionSendBackChannelNonce; + set_user_root_attributes?: Management.ConnectionSetUserRootAttributesEnum; + tenant_domain?: (Management.ConnectionTenantDomain | undefined) | null; + token_endpoint?: Management.ConnectionTokenEndpointOidc; + token_endpoint_auth_method?: Management.ConnectionTokenEndpointAuthMethodEnum | null; + token_endpoint_auth_signing_alg?: Management.ConnectionTokenEndpointAuthSigningAlgEnum | null; + upstream_params?: Management.ConnectionUpstreamParamsOidc | undefined; + userinfo_endpoint?: Management.ConnectionUserinfoEndpointOidc; + /** Accepts any additional properties */ + [key: string]: any; +} + +/** + * Options for the 'custom' connection */ export type ConnectionOptionsCustom = Record; @@ -3064,7 +3691,7 @@ export type ConnectionOptionsDropbox = Management.ConnectionOptionsOAuth2Common; export type ConnectionOptionsDwolla = Management.ConnectionOptionsOAuth2Common; /** - * options for the 'email' connection + * Options for the 'email' connection */ export type ConnectionOptionsEmail = Record; @@ -3077,37 +3704,176 @@ export type ConnectionOptionsEvernoteSandbox = Management.ConnectionOptionsEvern export type ConnectionOptionsExact = Management.ConnectionOptionsOAuth2Common; /** - * options for the 'facebook' connection + * Options for the 'facebook' connection */ export type ConnectionOptionsFacebook = Record; /** - * options for the 'fitbit' connection + * Options for the 'fitbit' connection */ export type ConnectionOptionsFitbit = Record; /** - * options for the 'flickr' connection + * Options for the 'flickr' connection */ export type ConnectionOptionsFlickr = Record; /** - * options for the 'github' connection + * Options for the 'github' connection */ export type ConnectionOptionsGitHub = Record; /** - * options for the 'google-apps' connection + * Options for the 'google-apps' connection */ export type ConnectionOptionsGoogleApps = Record; /** - * options for the 'google-oauth2' connection - */ -export type ConnectionOptionsGoogleOAuth2 = Record; - -/** - * options for the 'ip' connection + * Options for the 'google-oauth2' connection + */ +export interface ConnectionOptionsGoogleOAuth2 extends Management.ConnectionOptionsCommon { + /** View and manage user's ad applications, ad units, and channels in AdSense */ + adsense_management?: boolean; + allowed_audiences?: Management.ConnectionAllowedAudiencesGoogleOAuth2; + /** View user's configuration information and reports */ + analytics?: boolean; + /** View and manage user's posts and blogs on Blogger and Blogger comments */ + blogger?: boolean; + /** See, edit, share, and permanently delete all the calendars you can access using Google Calendar */ + calendar?: boolean; + /** Run as a Calendar add-on */ + calendar_addons_execute?: boolean; + /** View and edit events on all your calendars */ + calendar_events?: boolean; + /** View events on all your calendars */ + calendar_events_readonly?: boolean; + /** View your Calendar settings */ + calendar_settings_readonly?: boolean; + /** Read access to user's chrome web store */ + chrome_web_store?: boolean; + client_id?: (Management.ConnectionClientIdGoogleOAuth2 | undefined) | null; + client_secret?: (Management.ConnectionClientSecretGoogleOAuth2 | undefined) | null; + /** Full access to the authenticated user's contacts */ + contacts?: boolean; + /** Full access to the authenticated user's contacts */ + contacts_new?: boolean; + /** Read-only access to the authenticated user's 'Other contacts' */ + contacts_other_readonly?: boolean; + /** Read-only access to the authenticated user's contacts */ + contacts_readonly?: boolean; + /** View and manage user's products, feeds, and subaccounts */ + content_api_for_shopping?: boolean; + /** Grants read and write access to the Coordinate API */ + coordinate?: boolean; + /** Grants read access to the Coordinate API */ + coordinate_readonly?: boolean; + /** Read-only access to the authenticated user's corporate directory (if applicable) */ + directory_readonly?: boolean; + /** Access to Google Docs document list feed */ + document_list?: boolean; + /** Full access to all files and folders in the user's Google Drive */ + drive?: boolean; + /** View and add to the activity record of files in your Drive */ + drive_activity?: boolean; + /** View the activity record of files in your Drive */ + drive_activity_readonly?: boolean; + /** Access to the application's configuration data in the user's Google Drive */ + drive_appdata?: boolean; + /** View apps authorized to access your Drive */ + drive_apps_readonly?: boolean; + /** Access to files created or opened by the app */ + drive_file?: boolean; + /** Access to file metadata, including listing files and folders */ + drive_metadata?: boolean; + /** Read-only access to file metadata */ + drive_metadata_readonly?: boolean; + /** Read-only access to the user's Google Photos */ + drive_photos_readonly?: boolean; + /** Read-only access to all files and folders in the user's Google Drive */ + drive_readonly?: boolean; + /** Modify the behavior of Google Apps Scripts */ + drive_scripts?: boolean; + /** Email and verified email flag */ + email?: boolean; + freeform_scopes?: Management.ConnectionFreeformScopesGoogleOAuth2; + /** Full access to the account's mailboxes, including permanent deletion of threads and messages */ + gmail?: boolean; + /** Read all resources and their metadata—no write operations */ + gmail_compose?: boolean; + /** Insert and import messages only */ + gmail_insert?: boolean; + /** Create, read, update, and delete labels only */ + gmail_labels?: boolean; + /** Read resources metadata including labels, history records, and email message headers, but not the message body or attachments */ + gmail_metadata?: boolean; + /** All read/write operations except immediate, permanent deletion of threads and messages, bypassing Trash */ + gmail_modify?: boolean; + /** Full access to the account's mailboxes, including permanent deletion of threads and messages */ + gmail_new?: boolean; + /** Read all resources and their metadata—no write operations */ + gmail_readonly?: boolean; + /** Send messages only. No read or modify privileges on mailbox */ + gmail_send?: boolean; + /** Manage basic mail settings */ + gmail_settings_basic?: boolean; + /** Manage sensitive mail settings, including forwarding rules and aliases. Note: Operations guarded by this scope are restricted to administrative use only */ + gmail_settings_sharing?: boolean; + /** View and manage user's publisher data in the Google Affiliate Network */ + google_affiliate_network?: boolean; + /** View and manage user's books and library in Google Books */ + google_books?: boolean; + /** View and manage user's data stored in Google Cloud Storage */ + google_cloud_storage?: boolean; + /** Full access to all files and folders in the user's Google Drive */ + google_drive?: boolean; + /** Access to files created or opened by the app */ + google_drive_files?: boolean; + /** Associate user with its public Google profile */ + google_plus?: boolean; + icon_url?: Management.ConnectionIconUrlGoogleOAuth2; + /** View and manage user's best-available current location and location history in Google Latitude */ + latitude_best?: boolean; + /** View and manage user's city-level current location and location history in Google Latitude */ + latitude_city?: boolean; + /** View and manage user's votes, topics, and submissions */ + moderator?: boolean; + /** Request a refresh token when the user authorizes your application */ + offline_access?: boolean; + /** View and manage user's friends, applications and profile and status */ + orkut?: boolean; + /** View and manage user's Google photos, videos, photo and video tags and comments */ + picasa_web?: boolean; + /** Name, public profile URL, photo, country, language, and timezone */ + profile?: boolean; + scope?: Management.ConnectionScopeGoogleOAuth2; + set_user_root_attributes?: Management.ConnectionSetUserRootAttributesEnum; + /** View and manage user's sites on Google Sites */ + sites?: boolean; + /** Full access to create, edit, organize, and delete all your tasks */ + tasks?: boolean; + /** Read-only access to view your tasks and task lists */ + tasks_readonly?: boolean; + upstream_params?: (Management.ConnectionUpstreamParams | undefined) | null; + /** View, manage and view statistics user's short URLs */ + url_shortener?: boolean; + /** View and manage user's sites and messages, view keywords */ + webmaster_tools?: boolean; + /** Manage your YouTube account */ + youtube?: boolean; + /** See a list of your current active channel members, their current level, and when they became a member */ + youtube_channelmemberships_creator?: boolean; + /** Manage your YouTube account */ + youtube_new?: boolean; + /** View your YouTube account */ + youtube_readonly?: boolean; + /** Manage your YouTube videos */ + youtube_upload?: boolean; + /** View and manage your assets and associated content on YouTube */ + youtubepartner?: boolean; +} + +/** + * Options for the 'ip' connection */ export type ConnectionOptionsIp = Record; @@ -3116,59 +3882,142 @@ export type ConnectionOptionsInstagram = Management.ConnectionOptionsOAuth2Commo export type ConnectionOptionsLine = Management.ConnectionOptionsOAuth2Common; /** - * options for the 'linkedin' connection + * Options for the 'linkedin' connection */ export type ConnectionOptionsLinkedin = Record; export type ConnectionOptionsMiicard = Management.ConnectionOptionsOAuth2Common; /** - * options for the 'oauth1' connection + * Options for the 'oauth1' connection */ export type ConnectionOptionsOAuth1 = Record; -export type ConnectionOptionsOAuth2 = Management.ConnectionOptionsOAuth2Common; +/** + * Options for the 'oauth2' connection + */ +export interface ConnectionOptionsOAuth2 extends Management.ConnectionOptionsCommon { + authParams?: Management.ConnectionAuthParamsOAuth2; + authParamsMap?: Management.ConnectionAuthParamsMap; + authorizationURL?: Management.ConnectionAuthorizationEndpointOAuth2; + client_id?: Management.ConnectionClientIdOAuth2; + client_secret?: Management.ConnectionClientSecretOAuth2; + customHeaders?: Management.ConnectionCustomHeadersOAuth2; + fieldsMap?: Management.ConnectionFieldsMap; + icon_url?: Management.ConnectionIconUrl; + logoutUrl?: Management.ConnectionEndSessionEndpointOAuth2; + /** When true, enables Proof Key for Code Exchange (PKCE) for the authorization code flow. PKCE provides additional security by preventing authorization code interception attacks. */ + pkce_enabled?: boolean; + scope?: Management.ConnectionScopeOAuth2; + scripts?: Management.ConnectionScriptsOAuth2; + set_user_root_attributes?: Management.ConnectionSetUserRootAttributesEnum; + tokenURL?: Management.ConnectionTokenEndpointOAuth2; + upstream_params?: (Management.ConnectionUpstreamParams | undefined) | null; + /** When true, uses space-delimited scopes (per OAuth 2.0 spec) instead of comma-delimited when calling the identity provider's authorization endpoint. Only relevant when using the connection_scope parameter. See https://auth0.com/docs/authenticate/identity-providers/adding-scopes-for-an-external-idp#pass-scopes-to-authorize-endpoint */ + useOauthSpecScope?: boolean; +} -export type ConnectionOptionsOAuth2Common = Record; +export interface ConnectionOptionsOAuth2Common extends Management.ConnectionOptionsCommon { + client_id?: Management.ConnectionClientId; + client_secret?: Management.ConnectionClientSecret; + upstream_params?: (Management.ConnectionUpstreamParams | undefined) | null; + set_user_root_attributes?: Management.ConnectionSetUserRootAttributesEnum; +} /** - * options for the 'oidc' connection - */ -export type ConnectionOptionsOidc = Record; + * Options for the 'oidc' connection + */ +export interface ConnectionOptionsOidc + extends Management.ConnectionOptionsCommonOidc, + Management.ConnectionOptionsCommon { + attribute_map?: Management.ConnectionAttributeMapOidc; + discovery_url?: Management.ConnectionDiscoveryUrl; + type?: Management.ConnectionTypeEnumOidc; +} + +/** + * OpenID Connect Provider Metadata as per https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata + */ +export interface ConnectionOptionsOidcMetadata { + acr_values_supported?: Management.ConnectionAcrValuesSupported; + authorization_endpoint: Management.ConnectionAuthorizationEndpoint; + claim_types_supported?: Management.ConnectionClaimTypesSupported; + claims_locales_supported?: Management.ConnectionClaimsLocalesSupported; + claims_parameter_supported?: Management.ConnectionClaimsParameterSupported; + claims_supported?: Management.ConnectionClaimsSupported; + display_values_supported?: Management.ConnectionDisplayValuesSupported; + end_session_endpoint?: Management.ConnectionEndSessionEndpoint; + grant_types_supported?: Management.ConnectionGrantTypesSupported; + id_token_encryption_alg_values_supported?: Management.ConnectionIdTokenEncryptionAlgValuesSupported; + id_token_encryption_enc_values_supported?: Management.ConnectionIdTokenEncryptionEncValuesSupported; + id_token_signing_alg_values_supported: Management.ConnectionIdTokenSigningAlgValuesSupported; + issuer: Management.ConnectionIssuer; + jwks_uri: Management.ConnectionJwksUri; + op_policy_uri?: Management.ConnectionOpPolicyUri; + op_tos_uri?: Management.ConnectionOpTosUri; + registration_endpoint?: Management.ConnectionRegistrationEndpoint; + request_object_encryption_alg_values_supported?: Management.ConnectionRequestObjectEncryptionAlgValuesSupported; + request_object_encryption_enc_values_supported?: Management.ConnectionRequestObjectEncryptionEncValuesSupported; + request_object_signing_alg_values_supported?: Management.ConnectionRequestObjectSigningAlgValuesSupported; + request_parameter_supported?: Management.ConnectionRequestParameterSupported; + request_uri_parameter_supported?: Management.ConnectionRequestUriParameterSupported; + require_request_uri_registration?: Management.ConnectionRequireRequestUriRegistration; + response_modes_supported?: Management.ConnectionResponseModesSupported; + response_types_supported?: Management.ConnectionResponseTypesSupported; + scopes_supported?: (Management.ConnectionScopesSupported | undefined) | null; + service_documentation?: Management.ConnectionServiceDocumentation; + subject_types_supported?: Management.ConnectionSubjectTypesSupported; + token_endpoint?: Management.ConnectionTokenEndpoint; + token_endpoint_auth_methods_supported?: Management.ConnectionTokenEndpointAuthMethodsSupported; + token_endpoint_auth_signing_alg_values_supported?: Management.ConnectionTokenEndpointAuthSigningAlgValuesSupported; + ui_locales_supported?: Management.ConnectionUiLocalesSupported; + userinfo_encryption_alg_values_supported?: Management.ConnectionUserinfoEncryptionAlgValuesSupported; + userinfo_encryption_enc_values_supported?: Management.ConnectionUserinfoEncryptionEncValuesSupported; + userinfo_endpoint?: Management.ConnectionUserinfoEndpoint; + userinfo_signing_alg_values_supported?: Management.ConnectionUserinfoSigningAlgValuesSupported; + /** Accepts any additional properties */ + [key: string]: any; +} /** - * options for the 'office365' connection + * Options for the 'office365' connection */ export type ConnectionOptionsOffice365 = Record; /** - * options for the 'okta' connection + * Options for the 'okta' connection */ -export type ConnectionOptionsOkta = Record; +export interface ConnectionOptionsOkta + extends Management.ConnectionOptionsCommonOidc, + Management.ConnectionOptionsCommon { + attribute_map?: Management.ConnectionAttributeMapOkta; + domain?: Management.ConnectionDomainOkta; + type?: Management.ConnectionTypeEnumOkta; +} export type ConnectionOptionsPaypal = Management.ConnectionOptionsOAuth2Common; export type ConnectionOptionsPaypalSandbox = Management.ConnectionOptionsOAuth2Common; /** - * options for the 'pingfederate' connection + * Options for the 'pingfederate' connection */ export type ConnectionOptionsPingFederate = Record; /** - * options for the 'planningcenter' connection + * Options for the 'planningcenter' connection */ export type ConnectionOptionsPlanningCenter = Record; export type ConnectionOptionsRenren = Management.ConnectionOptionsOAuth2Common; /** - * options for the 'samlp' connection + * Options for the 'samlp' connection */ export type ConnectionOptionsSaml = Record; /** - * options for the 'sms' connection + * Options for the 'sms' connection */ export type ConnectionOptionsSms = Record; @@ -3183,7 +4032,7 @@ export type ConnectionOptionsSalesforceSandbox = Management.ConnectionOptionsSal export type ConnectionOptionsSharepoint = Management.ConnectionOptionsOAuth2Common; /** - * options for the 'shop' connection + * Options for the 'shop' connection */ export type ConnectionOptionsShop = Record; @@ -3198,7 +4047,7 @@ export type ConnectionOptionsTheCitySandbox = Management.ConnectionOptionsOAuth2 export type ConnectionOptionsThirtySevenSignals = Management.ConnectionOptionsOAuth2Common; /** - * options for the 'twitter' connection + * Options for the 'twitter' connection */ export type ConnectionOptionsTwitter = Record; @@ -3209,7 +4058,7 @@ export type ConnectionOptionsVkontakte = Management.ConnectionOptionsOAuth2Commo export type ConnectionOptionsWeibo = Management.ConnectionOptionsOAuth2Common; /** - * options for the 'windowslive' connection + * Options for the 'windowslive' connection */ export type ConnectionOptionsWindowsLive = Record; @@ -3300,6 +4149,114 @@ export const ConnectionPasswordPolicyEnum = { export type ConnectionPasswordPolicyEnum = (typeof ConnectionPasswordPolicyEnum)[keyof typeof ConnectionPasswordPolicyEnum]; +export interface ConnectionProfile { + id?: Management.ConnectionProfileId; + name?: Management.ConnectionProfileName; + organization?: Management.ConnectionProfileOrganization; + connection_name_prefix_template?: Management.ConnectionNamePrefixTemplate; + enabled_features?: Management.ConnectionProfileEnabledFeatures; + connection_config?: Management.ConnectionProfileConfig; + strategy_overrides?: Management.ConnectionProfileStrategyOverrides; +} + +/** + * Connection profile configuration. + */ +export interface ConnectionProfileConfig {} + +/** + * Enabled features for the connection profile. + */ +export type ConnectionProfileEnabledFeatures = Management.EnabledFeaturesEnum[]; + +/** + * Connection Profile identifier. + */ +export type ConnectionProfileId = string; + +/** + * The name of the connection profile. + */ +export type ConnectionProfileName = string; + +/** + * The organization of the connection profile. + */ +export interface ConnectionProfileOrganization { + show_as_button?: Management.ConnectionProfileOrganizationShowAsButtonEnum; + assign_membership_on_login?: Management.ConnectionProfileOrganizationAssignMembershipOnLoginEnum; +} + +/** Indicates if membership should be assigned on login. */ +export const ConnectionProfileOrganizationAssignMembershipOnLoginEnum = { + None: "none", + Optional: "optional", + Required: "required", +} as const; +export type ConnectionProfileOrganizationAssignMembershipOnLoginEnum = + (typeof ConnectionProfileOrganizationAssignMembershipOnLoginEnum)[keyof typeof ConnectionProfileOrganizationAssignMembershipOnLoginEnum]; + +/** Indicates if the organization should be shown as a button. */ +export const ConnectionProfileOrganizationShowAsButtonEnum = { + None: "none", + Optional: "optional", + Required: "required", +} as const; +export type ConnectionProfileOrganizationShowAsButtonEnum = + (typeof ConnectionProfileOrganizationShowAsButtonEnum)[keyof typeof ConnectionProfileOrganizationShowAsButtonEnum]; + +/** + * Connection Profile Strategy Override + */ +export interface ConnectionProfileStrategyOverride { + enabled_features?: Management.ConnectionProfileStrategyOverridesEnabledFeatures; + connection_config?: Management.ConnectionProfileStrategyOverridesConnectionConfig; +} + +/** + * Strategy-specific overrides for this attribute + */ +export interface ConnectionProfileStrategyOverrides { + pingfederate?: Management.ConnectionProfileStrategyOverride; + ad?: Management.ConnectionProfileStrategyOverride; + adfs?: Management.ConnectionProfileStrategyOverride; + waad?: Management.ConnectionProfileStrategyOverride; + "google-apps"?: Management.ConnectionProfileStrategyOverride; + okta?: Management.ConnectionProfileStrategyOverride; + oidc?: Management.ConnectionProfileStrategyOverride; + samlp?: Management.ConnectionProfileStrategyOverride; +} + +/** + * Connection profile strategy overrides connection configuration. + */ +export interface ConnectionProfileStrategyOverridesConnectionConfig {} + +/** + * Enabled features for a connections profile strategy override. + */ +export type ConnectionProfileStrategyOverridesEnabledFeatures = Management.EnabledFeaturesEnum[]; + +/** + * The structure of the template, which can be used as the payload for creating or updating a Connection Profile. + */ +export interface ConnectionProfileTemplate { + name?: Management.ConnectionProfileName; + organization?: Management.ConnectionProfileOrganization; + connection_name_prefix_template?: Management.ConnectionNamePrefixTemplate; + enabled_features?: Management.ConnectionProfileEnabledFeatures; + connection_config?: Management.ConnectionProfileConfig; + strategy_overrides?: Management.ConnectionProfileStrategyOverrides; +} + +export interface ConnectionProfileTemplateItem { + /** The id of the template. */ + id?: string; + /** The user-friendly name of the template displayed in the UI. */ + display_name?: string; + template?: Management.ConnectionProfileTemplate; +} + /** * The connection's options (depend on the connection strategy) */ @@ -3341,648 +4298,628 @@ export interface ConnectionPropertiesOptions { [key: string]: any; } +/** + * A ticket used for provisioning the connection + */ +export type ConnectionProvisioningTicket = string; + +/** + * A ticket used for provisioning the connection + */ +export type ConnectionProvisioningTicketUrl = string; + +/** + * Indicates whether to use realm fallback. + */ +export type ConnectionRealmFallback = boolean; + /** * Defines the realms for which the connection will be used (ie: email domains). If the array is empty or the property is not specified, the connection name will be added as realm. */ export type ConnectionRealms = string[]; -export interface ConnectionRequestCommon { - display_name?: Management.ConnectionDisplayName; - enabled_clients?: Management.ConnectionEnabledClients; - is_domain_connection?: Management.ConnectionIsDomainConnection; - show_as_button?: Management.ConnectionShowAsButton; - realms?: Management.ConnectionRealms; - metadata?: Management.ConnectionsMetadata; - authentication?: Management.ConnectionAuthenticationPurpose; - connected_accounts?: Management.ConnectionConnectedAccountsPurpose; -} +export type ConnectionRegistrationEndpoint = Management.ConnectionHttpsUrlWithHttpFallback; -export interface ConnectionResponseCommon extends Management.ConnectionRequestCommon { +/** + * JSON array containing a list of the JWE encryption algorithms (alg values) supported by the OP for Request Objects. These algorithms are used both when the Request Object is passed by value and when it is passed by reference. + */ +export type ConnectionRequestObjectEncryptionAlgValuesSupported = string[]; + +/** + * JSON array containing a list of the JWE encryption algorithms (enc values) supported by the OP for Request Objects. These algorithms are used both when the Request Object is passed by value and when it is passed by reference. + */ +export type ConnectionRequestObjectEncryptionEncValuesSupported = string[]; + +/** + * JSON array containing a list of the JWS signing algorithms (alg values) supported by the OP for Request Objects, which are described in Section 6.1 of OpenID Connect Core 1.0 [OpenID.Core]. These algorithms are used both when the Request Object is passed by value (using the request parameter) and when it is passed by reference (using the request_uri parameter). Servers SHOULD support none and RS256. + */ +export type ConnectionRequestObjectSigningAlgValuesSupported = string[]; + +/** + * Boolean value specifying whether the OP supports use of the request parameter, with true indicating support. If omitted, the default value is false. + */ +export type ConnectionRequestParameterSupported = boolean; + +/** + * Boolean value specifying whether the OP supports use of the request_uri parameter, with true indicating support. If omitted, the default value is false. + */ +export type ConnectionRequestUriParameterSupported = boolean; + +/** + * Boolean value specifying whether the OP requires use of the request_uri parameter. If omitted, the default value is false. + */ +export type ConnectionRequireRequestUriRegistration = boolean; + +/** + * Indicates whether the user is required to provide a username in addition to an email address. + */ +export type ConnectionRequiresUsername = boolean; + +export interface ConnectionResponseCommon extends Management.CreateConnectionCommon { id?: Management.ConnectionId; - strategy?: Management.ConnectionIdentityProviderEnum; - name?: Management.ConnectionName; } /** * Response for connections with strategy=ad */ -export interface ConnectionResponseContentAd extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentAd extends Management.ConnectionResponseCommon { strategy: "ad"; options?: Management.ConnectionOptionsAd; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=adfs */ -export interface ConnectionResponseContentAdfs extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentAdfs extends Management.ConnectionResponseCommon { strategy: "adfs"; options?: Management.ConnectionOptionsAdfs; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=aol */ -export interface ConnectionResponseContentAol extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentAol extends Management.ConnectionResponseCommon { strategy: "aol"; options?: Management.ConnectionOptionsAol; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=amazon */ -export interface ConnectionResponseContentAmazon extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentAmazon extends Management.ConnectionResponseCommon { strategy: "amazon"; options?: Management.ConnectionOptionsAmazon; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=apple */ -export interface ConnectionResponseContentApple extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentApple extends Management.ConnectionResponseCommon { strategy: "apple"; options?: Management.ConnectionOptionsApple; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=auth0 */ -export interface ConnectionResponseContentAuth0 extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentAuth0 extends Management.ConnectionResponseCommon { strategy: "auth0"; options?: Management.ConnectionOptionsAuth0; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=auth0-oidc */ -export interface ConnectionResponseContentAuth0Oidc extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentAuth0Oidc extends Management.ConnectionResponseCommon { strategy: "auth0-oidc"; options?: Management.ConnectionOptionsAuth0Oidc; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=waad */ -export interface ConnectionResponseContentAzureAd extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentAzureAd extends Management.ConnectionResponseCommon { strategy: "waad"; options?: Management.ConnectionOptionsAzureAd; - id?: Management.ConnectionId; - name?: Management.ConnectionName; + provisioning_ticket?: Management.ConnectionProvisioningTicket; + provisioning_ticket_url?: Management.ConnectionProvisioningTicketUrl; + strategy_version?: Management.ConnectionStrategyVersionEnumAzureAd; } /** * Response for connections with strategy=baidu */ -export interface ConnectionResponseContentBaidu extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentBaidu extends Management.ConnectionResponseCommon { strategy: "baidu"; options?: Management.ConnectionOptionsBaidu; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=bitbucket */ -export interface ConnectionResponseContentBitbucket extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentBitbucket extends Management.ConnectionResponseCommon { strategy: "bitbucket"; options?: Management.ConnectionOptionsBitbucket; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=bitly */ -export interface ConnectionResponseContentBitly extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentBitly extends Management.ConnectionResponseCommon { strategy: "bitly"; options?: Management.ConnectionOptionsBitly; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=box */ -export interface ConnectionResponseContentBox extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentBox extends Management.ConnectionResponseCommon { strategy: "box"; options?: Management.ConnectionOptionsBox; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=custom */ -export interface ConnectionResponseContentCustom extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentCustom extends Management.ConnectionResponseCommon { strategy: "custom"; options?: Management.ConnectionOptionsCustom; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=daccount */ -export interface ConnectionResponseContentDaccount extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentDaccount extends Management.ConnectionResponseCommon { strategy: "daccount"; options?: Management.ConnectionOptionsDaccount; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=dropbox */ -export interface ConnectionResponseContentDropbox extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentDropbox extends Management.ConnectionResponseCommon { strategy: "dropbox"; options?: Management.ConnectionOptionsDropbox; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=dwolla */ -export interface ConnectionResponseContentDwolla extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentDwolla extends Management.ConnectionResponseCommon { strategy: "dwolla"; options?: Management.ConnectionOptionsDwolla; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=email */ -export interface ConnectionResponseContentEmail extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentEmail extends Management.ConnectionResponseCommon { strategy: "email"; options?: Management.ConnectionOptionsEmail; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=evernote */ -export interface ConnectionResponseContentEvernote extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentEvernote extends Management.ConnectionResponseCommon { strategy: "evernote"; options?: Management.ConnectionOptionsEvernote; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=evernote-sandbox */ -export interface ConnectionResponseContentEvernoteSandbox extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentEvernoteSandbox extends Management.ConnectionResponseCommon { strategy: "evernote-sandbox"; options?: Management.ConnectionOptionsEvernoteSandbox; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=exact */ -export interface ConnectionResponseContentExact extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentExact extends Management.ConnectionResponseCommon { strategy: "exact"; options?: Management.ConnectionOptionsExact; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=facebook */ -export interface ConnectionResponseContentFacebook extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentFacebook extends Management.ConnectionResponseCommon { strategy: "facebook"; options?: Management.ConnectionOptionsFacebook; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=fitbit */ -export interface ConnectionResponseContentFitbit extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentFitbit extends Management.ConnectionResponseCommon { strategy: "fitbit"; options?: Management.ConnectionOptionsFitbit; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=flickr */ -export interface ConnectionResponseContentFlickr extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentFlickr extends Management.ConnectionResponseCommon { strategy: "flickr"; options?: Management.ConnectionOptionsFlickr; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=github */ -export interface ConnectionResponseContentGitHub extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentGitHub extends Management.ConnectionResponseCommon { strategy: "github"; options?: Management.ConnectionOptionsGitHub; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=google-apps */ -export interface ConnectionResponseContentGoogleApps extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentGoogleApps extends Management.ConnectionResponseCommon { strategy: "google-apps"; options?: Management.ConnectionOptionsGoogleApps; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=google-oauth2 */ -export interface ConnectionResponseContentGoogleOAuth2 extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentGoogleOAuth2 extends Management.ConnectionResponseCommon { strategy: "google-oauth2"; options?: Management.ConnectionOptionsGoogleOAuth2; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=ip */ -export interface ConnectionResponseContentIp extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentIp extends Management.ConnectionResponseCommon { strategy: "ip"; options?: Management.ConnectionOptionsIp; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=instagram */ -export interface ConnectionResponseContentInstagram extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentInstagram extends Management.ConnectionResponseCommon { strategy: "instagram"; options?: Management.ConnectionOptionsInstagram; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=line */ -export interface ConnectionResponseContentLine extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentLine extends Management.ConnectionResponseCommon { strategy: "line"; options?: Management.ConnectionOptionsLine; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=linkedin */ -export interface ConnectionResponseContentLinkedin extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentLinkedin extends Management.ConnectionResponseCommon { strategy: "linkedin"; options?: Management.ConnectionOptionsLinkedin; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=miicard */ -export interface ConnectionResponseContentMiicard extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentMiicard extends Management.ConnectionResponseCommon { strategy: "miicard"; options?: Management.ConnectionOptionsMiicard; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=oauth1 */ -export interface ConnectionResponseContentOAuth1 extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentOAuth1 extends Management.ConnectionResponseCommon { strategy: "oauth1"; options?: Management.ConnectionOptionsOAuth1; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=oauth2 */ -export interface ConnectionResponseContentOAuth2 extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentOAuth2 extends Management.ConnectionResponseCommon { strategy: "oauth2"; options?: Management.ConnectionOptionsOAuth2; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=oidc */ -export interface ConnectionResponseContentOidc extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentOidc extends Management.ConnectionResponseCommon { strategy: "oidc"; options?: Management.ConnectionOptionsOidc; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=office365 */ -export interface ConnectionResponseContentOffice365 extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentOffice365 extends Management.ConnectionResponseCommon { strategy: "office365"; options?: Management.ConnectionOptionsOffice365; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=okta */ -export interface ConnectionResponseContentOkta extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentOkta extends Management.ConnectionResponseCommon { strategy: "okta"; options?: Management.ConnectionOptionsOkta; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=paypal */ -export interface ConnectionResponseContentPaypal extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentPaypal extends Management.ConnectionResponseCommon { strategy: "paypal"; options?: Management.ConnectionOptionsPaypal; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=paypal-sandbox */ -export interface ConnectionResponseContentPaypalSandbox extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentPaypalSandbox extends Management.ConnectionResponseCommon { strategy: "paypal-sandbox"; options?: Management.ConnectionOptionsPaypalSandbox; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=pingfederate */ -export interface ConnectionResponseContentPingFederate extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentPingFederate extends Management.ConnectionResponseCommon { strategy: "pingfederate"; options?: Management.ConnectionOptionsPingFederate; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=planningcenter */ -export interface ConnectionResponseContentPlanningCenter extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentPlanningCenter extends Management.ConnectionResponseCommon { strategy: "planningcenter"; options?: Management.ConnectionOptionsPlanningCenter; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=renren */ -export interface ConnectionResponseContentRenren extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentRenren extends Management.ConnectionResponseCommon { strategy: "renren"; options?: Management.ConnectionOptionsRenren; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=samlp */ -export interface ConnectionResponseContentSaml extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentSaml extends Management.ConnectionResponseCommon { strategy: "samlp"; options?: Management.ConnectionOptionsSaml; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=sms */ -export interface ConnectionResponseContentSms extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentSms extends Management.ConnectionResponseCommon { strategy: "sms"; options?: Management.ConnectionOptionsSms; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=salesforce */ -export interface ConnectionResponseContentSalesforce extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentSalesforce extends Management.ConnectionResponseCommon { strategy: "salesforce"; options?: Management.ConnectionOptionsSalesforce; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=salesforce-community */ -export interface ConnectionResponseContentSalesforceCommunity extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentSalesforceCommunity extends Management.ConnectionResponseCommon { strategy: "salesforce-community"; options?: Management.ConnectionOptionsSalesforceCommunity; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=salesforce-sandbox */ -export interface ConnectionResponseContentSalesforceSandbox extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentSalesforceSandbox extends Management.ConnectionResponseCommon { strategy: "salesforce-sandbox"; options?: Management.ConnectionOptionsSalesforceSandbox; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=sharepoint */ -export interface ConnectionResponseContentSharepoint extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentSharepoint extends Management.ConnectionResponseCommon { strategy: "sharepoint"; options?: Management.ConnectionOptionsSharepoint; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=shop */ -export interface ConnectionResponseContentShop extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentShop extends Management.ConnectionResponseCommon { strategy: "shop"; options?: Management.ConnectionOptionsShop; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=shopify */ -export interface ConnectionResponseContentShopify extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentShopify extends Management.ConnectionResponseCommon { strategy: "shopify"; options?: Management.ConnectionOptionsShopify; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=soundcloud */ -export interface ConnectionResponseContentSoundcloud extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentSoundcloud extends Management.ConnectionResponseCommon { strategy: "soundcloud"; options?: Management.ConnectionOptionsSoundcloud; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=thecity */ -export interface ConnectionResponseContentTheCity extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentTheCity extends Management.ConnectionResponseCommon { strategy: "thecity"; options?: Management.ConnectionOptionsTheCity; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=thecity-sandbox */ -export interface ConnectionResponseContentTheCitySandbox extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentTheCitySandbox extends Management.ConnectionResponseCommon { strategy: "thecity-sandbox"; options?: Management.ConnectionOptionsTheCitySandbox; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=thirtysevensignals */ -export interface ConnectionResponseContentThirtySevenSignals extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentThirtySevenSignals extends Management.ConnectionResponseCommon { strategy: "thirtysevensignals"; options?: Management.ConnectionOptionsThirtySevenSignals; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=twitter */ -export interface ConnectionResponseContentTwitter extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentTwitter extends Management.ConnectionResponseCommon { strategy: "twitter"; options?: Management.ConnectionOptionsTwitter; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=untappd */ -export interface ConnectionResponseContentUntappd extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentUntappd extends Management.ConnectionResponseCommon { strategy: "untappd"; options?: Management.ConnectionOptionsUntappd; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=vkontakte */ -export interface ConnectionResponseContentVkontakte extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentVkontakte extends Management.ConnectionResponseCommon { strategy: "vkontakte"; options?: Management.ConnectionOptionsVkontakte; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=weibo */ -export interface ConnectionResponseContentWeibo extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentWeibo extends Management.ConnectionResponseCommon { strategy: "weibo"; options?: Management.ConnectionOptionsWeibo; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=windowslive */ -export interface ConnectionResponseContentWindowsLive extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentWindowsLive extends Management.ConnectionResponseCommon { strategy: "windowslive"; options?: Management.ConnectionOptionsWindowsLive; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=wordpress */ -export interface ConnectionResponseContentWordpress extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentWordpress extends Management.ConnectionResponseCommon { strategy: "wordpress"; options?: Management.ConnectionOptionsWordpress; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=yahoo */ -export interface ConnectionResponseContentYahoo extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentYahoo extends Management.ConnectionResponseCommon { strategy: "yahoo"; options?: Management.ConnectionOptionsYahoo; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=yammer */ -export interface ConnectionResponseContentYammer extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentYammer extends Management.ConnectionResponseCommon { strategy: "yammer"; options?: Management.ConnectionOptionsYammer; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } /** * Response for connections with strategy=yandex */ -export interface ConnectionResponseContentYandex extends Management.ConnectionRequestCommon { +export interface ConnectionResponseContentYandex extends Management.ConnectionResponseCommon { strategy: "yandex"; options?: Management.ConnectionOptionsYandex; - id?: Management.ConnectionId; - name?: Management.ConnectionName; } +/** + * A list of the OAuth 2.0 response_mode values that this OP supports. If omitted, the default for Dynamic OpenID Providers is ["query", "fragment"] + */ +export type ConnectionResponseModesSupported = string[]; + +/** + * A list of the OAuth 2.0 response_type values that this OP supports. Dynamic OpenID Providers MUST support the code, id_token, and the token id_token Response Type values + */ +export type ConnectionResponseTypesSupported = string[]; + +/** + * Array of custom OAuth 2.0 scopes to request during authentication. + */ +export type ConnectionScopeArray = Management.ConnectionScopeItem[]; + +/** + * OAuth 2.0 scopes to request from Azure AD during authentication. Each scope represents a permission (e.g., 'User.Read', 'Group.Read.All'). Only applies with Microsoft Identity Platform v2.0. See Microsoft Graph permissions reference for available scopes. + */ +export type ConnectionScopeAzureAd = string[]; + +/** + * Array of OAuth 2.0 scopes requested during Google authentication. + */ +export type ConnectionScopeGoogleOAuth2 = Management.ConnectionScopeArray; + +/** + * A single OAuth 2.0 scope string + */ +export type ConnectionScopeItem = string; + +/** + * OAuth 2.0 scopes requested from the identity provider during authorization. Determines what user information and permissions Auth0 can access. Can be specified as a space-delimited string (e.g., 'openid profile email') or array of scope values. The 'useOauthSpecScope' setting controls delimiter behavior when using connection_scope parameter. + */ +export type ConnectionScopeOAuth2 = string | string[]; + +/** + * Space-separated list of scopes requested during /authorize. Must contain openid, typically contains 'openid profile email' + */ +export type ConnectionScopeOidc = string; + +/** + * A list of the OAuth 2.0 [RFC6749] scope values that this server supports. The server MUST support the openid scope value. Servers MAY choose not to advertise some supported scope values even when this parameter is used, although those defined in [OpenID.Core] SHOULD be listed, if supported. RECOMMENDED but not REQUIRED + */ +export type ConnectionScopesSupported = (string[] | null) | undefined; + +/** + * Custom scripts to transform user profile data or modify OAuth2 flow behavior + */ +export interface ConnectionScriptsOAuth2 { + /** Custom JavaScript function to retrieve and transform user profile data from the identity provider. Called with the access token and token exchange response. Must return a user profile object. Executed in a sandboxed environment. If not provided, an empty profile object is used. */ + fetchUserProfile?: string; + /** Custom JavaScript function to dynamically construct the logout URL for the identity provider. Called with the request query parameters and must invoke a callback with the logout URL. Only used if 'logoutUrl' is not configured. Executed in a sandboxed environment. */ + getLogoutUrl?: string; +} + +/** + * whether to send a nonce to the identity provider when `type=back_channel` + */ +export type ConnectionSendBackChannelNonce = boolean; + +export type ConnectionServiceDocumentation = Management.ConnectionHttpsUrlWithHttpFallback; + /** When using an external IdP, this flag determines whether 'name', 'given_name', 'family_name', 'nickname', and 'picture' attributes are updated. In addition, it also determines whether the user is created when user doesnt exist previously. Possible values are 'on_each_login' (default value, it configures the connection to automatically create the user if necessary and update the root attributes from the external IdP with each user login. When this setting is used, root attributes cannot be independently updated), 'on_first_login' (configures the connection to create the user and set the root attributes on first login only, allowing them to be independently updated thereafter), and 'never_on_login' (configures the connection not to create the user and not to set the root attributes from the external IdP, allowing them to be independently updated). */ export const ConnectionSetUserRootAttributesEnum = { OnEachLogin: "on_each_login", @@ -3992,6 +4929,14 @@ export const ConnectionSetUserRootAttributesEnum = { export type ConnectionSetUserRootAttributesEnum = (typeof ConnectionSetUserRootAttributesEnum)[keyof typeof ConnectionSetUserRootAttributesEnum]; +/** Choose how Auth0 sets the email_verified field in the user profile. */ +export const ConnectionShouldTrustEmailVerifiedConnectionEnum = { + NeverSetEmailsAsVerified: "never_set_emails_as_verified", + AlwaysSetEmailsAsVerified: "always_set_emails_as_verified", +} as const; +export type ConnectionShouldTrustEmailVerifiedConnectionEnum = + (typeof ConnectionShouldTrustEmailVerifiedConnectionEnum)[keyof typeof ConnectionShouldTrustEmailVerifiedConnectionEnum]; + /** * Enables showing a button for the connection in the login page (new experience only). If false, it will be usable only by HRD. (Defaults to false.) */ @@ -4064,6 +5009,87 @@ export const ConnectionStrategyEnum = { } as const; export type ConnectionStrategyEnum = (typeof ConnectionStrategyEnum)[keyof typeof ConnectionStrategyEnum]; +/** + * Strategy version + */ +export type ConnectionStrategyVersionEnumAzureAd = number; + +/** + * A list of the Subject Identifier types that this OP supports. Valid types include pairwise and public + */ +export type ConnectionSubjectTypesSupported = string[]; + +/** + * Tenant domain + */ +export type ConnectionTenantDomain = (string | null) | undefined; + +export type ConnectionTenantDomainAzureAdOne = string; + +/** + * The Azure AD tenant ID as a UUID. The unique identifier for your Azure AD organization. Must be a valid 36-character UUID. + */ +export type ConnectionTenantIdAzureAd = string; + +/** + * Array of certificate thumbprints (SHA-128/SHA-256/SHA-512 hex hashes) for validating SAML signatures. Used with WS-Federation protocol. Maximum 20 thumbprints. Each thumbprint must be a hexadecimal string. + */ +export type ConnectionThumbprints = string[]; + +/** + * URL of the identity provider's OAuth 2.0 token endpoint where authorization codes are exchanged for access tokens. Must be a valid HTTPS URL. Required for authorization code flow but optional for implicit flow. + */ +export type ConnectionTokenEndpoint = Management.ConnectionHttpsUrlWithHttpFallback; + +/** Requested Client Authentication method for the Token Endpoint. */ +export const ConnectionTokenEndpointAuthMethodEnum = { + ClientSecretPost: "client_secret_post", + PrivateKeyJwt: "private_key_jwt", +} as const; +export type ConnectionTokenEndpointAuthMethodEnum = + (typeof ConnectionTokenEndpointAuthMethodEnum)[keyof typeof ConnectionTokenEndpointAuthMethodEnum]; + +/** + * JSON array containing a list of Client Authentication methods supported by this Token Endpoint. The options are client_secret_post, client_secret_basic, client_secret_jwt, and private_key_jwt, as described in Section 9 of OpenID Connect Core 1.0 [OpenID.Core]. Other authentication methods MAY be defined by extensions. If omitted, the default is client_secret_basic -- the HTTP Basic Authentication Scheme specified in Section 2.3.1 of OAuth 2.0 [RFC6749]. + */ +export type ConnectionTokenEndpointAuthMethodsSupported = string[]; + +/** Algorithm used to sign client_assertions. */ +export const ConnectionTokenEndpointAuthSigningAlgEnum = { + Es256: "ES256", + Ps256: "PS256", + Rs256: "RS256", + Rs512: "RS512", +} as const; +export type ConnectionTokenEndpointAuthSigningAlgEnum = + (typeof ConnectionTokenEndpointAuthSigningAlgEnum)[keyof typeof ConnectionTokenEndpointAuthSigningAlgEnum]; + +/** + * JSON array containing a list of the JWS signing algorithms (alg values) supported by the Token Endpoint for the signature on the JWT [JWT] used to authenticate the Client at the Token Endpoint for the private_key_jwt and client_secret_jwt authentication methods. Servers SHOULD support RS256. The value none MUST NOT be used. + */ +export type ConnectionTokenEndpointAuthSigningAlgValuesSupported = string[]; + +export type ConnectionTokenEndpointOAuth2 = Management.ConnectionTokenEndpoint; + +export type ConnectionTokenEndpointOidc = Management.ConnectionTokenEndpoint; + +/** Connection type */ +export const ConnectionTypeEnumOidc = { + BackChannel: "back_channel", + FrontChannel: "front_channel", +} as const; +export type ConnectionTypeEnumOidc = (typeof ConnectionTypeEnumOidc)[keyof typeof ConnectionTypeEnumOidc]; + +/** + * Connection type + */ +export type ConnectionTypeEnumOkta = "back_channel"; + +/** + * Languages and scripts supported for the user interface, represented as a JSON array of BCP47 [RFC5646] language tag values. + */ +export type ConnectionUiLocalesSupported = string[]; + export type ConnectionUpstreamAdditionalProperties = | Management.ConnectionUpstreamAlias | Management.ConnectionUpstreamValue; @@ -4096,10 +5122,54 @@ export type ConnectionUpstreamParams = | (Record | null) | undefined; +/** + * Custom parameters to include in authentication requests to Azure AD. Accepts up to 10 key-value pairs for passing additional parameters like domain hints or tenant hints to the identity provider. + */ +export type ConnectionUpstreamParamsAzureAd = ((Management.ConnectionUpstreamParams | undefined) | null) | undefined; + +export type ConnectionUpstreamParamsOidc = ((Management.ConnectionUpstreamParams | undefined) | null) | undefined; + export interface ConnectionUpstreamValue { value?: string; } +/** + * When enabled (true), uses the Azure AD common endpoint for multi-tenant authentication. Allows users from any Azure AD organization to sign in. Requires userid_attribute set to 'sub' (not 'oid'). Cannot be used with SCIM provisioning. Defaults to false. + */ +export type ConnectionUseCommonEndpointAzureAd = boolean; + +/** + * The Azure AD claim to use as the unique user identifier. 'oid' (Object ID) is recommended for single-tenant connections and required for SCIM. 'sub' (Subject) is required for multi-tenant/common endpoint. Only applies with OpenID Connect protocol. + */ +export type ConnectionUseridAttributeAzureAd = Management.ConnectionUseridAttributeEnumAzureAd; + +/** User ID attribute to use. Only applies when waad_protocol=openid-connect */ +export const ConnectionUseridAttributeEnumAzureAd = { + Oid: "oid", + Sub: "sub", +} as const; +export type ConnectionUseridAttributeEnumAzureAd = + (typeof ConnectionUseridAttributeEnumAzureAd)[keyof typeof ConnectionUseridAttributeEnumAzureAd]; + +/** + * JSON array containing a list of the JWE [JWE] encryption algorithms (alg values) [JWA] supported by the UserInfo Endpoint to encode the Claims in a JWT [JWT]. + */ +export type ConnectionUserinfoEncryptionAlgValuesSupported = string[]; + +/** + * JSON array containing a list of the JWE encryption algorithms (enc values) [JWA] supported by the UserInfo Endpoint to encode the Claims in a JWT [JWT]. + */ +export type ConnectionUserinfoEncryptionEncValuesSupported = string[]; + +export type ConnectionUserinfoEndpoint = Management.ConnectionHttpsUrlWithHttpFallback; + +export type ConnectionUserinfoEndpointOidc = Management.ConnectionUserinfoEndpoint; + +/** + * JSON array containing a list of the JWS [JWS] signing algorithms (alg values) [JWA] supported by the UserInfo Endpoint to encode the Claims in a JWT [JWT]. The value none MAY be included. + */ +export type ConnectionUserinfoSigningAlgValuesSupported = string[]; + export interface ConnectionUsernameValidationOptions { min: number; max: number; @@ -4112,6 +5182,19 @@ export interface ConnectionValidationOptions { username?: Management.ConnectionUsernameValidationOptions | null; } +/** + * The authentication protocol for Azure AD v1 endpoints. 'openid-connect' (default, recommended) uses modern OAuth 2.0/OIDC. 'ws-federation' is a legacy SAML-based protocol for older integrations. Only available with Azure AD v1 API. + */ +export type ConnectionWaadProtocol = Management.ConnectionWaadProtocolEnumAzureAd; + +/** Available WAAD protocols */ +export const ConnectionWaadProtocolEnumAzureAd = { + WsFederation: "ws-federation", + OpenidConnect: "openid-connect", +} as const; +export type ConnectionWaadProtocolEnumAzureAd = + (typeof ConnectionWaadProtocolEnumAzureAd)[keyof typeof ConnectionWaadProtocolEnumAzureAd]; + /** * Metadata associated with the connection in the form of an object with string values (max 255 chars). Maximum of 10 metadata properties allowed. */ @@ -4280,9 +5363,11 @@ export interface CreateClientResponseContent { * See https://auth0.com/docs/secure/security-guidance/measures-against-app-impersonation for more information. */ skip_non_verifiable_callback_uri_confirmation_prompt?: boolean; + token_exchange?: Management.ClientTokenExchangeConfiguration; /** Specifies how long, in seconds, a Pushed Authorization Request URI remains valid */ par_request_expiry?: number | null; token_quota?: Management.TokenQuota; + express_configuration?: Management.ExpressConfiguration; /** The identifier of the resource server that this client is linked to. */ resource_server_identifier?: string; async_approval_notification_channels?: Management.ClientAsyncApprovalNotificationsChannelsApiPostConfiguration; @@ -4290,10 +5375,24 @@ export interface CreateClientResponseContent { [key: string]: any; } +export interface CreateConnectionCommon extends Management.ConnectionCommon { + name?: Management.ConnectionName; +} + +export interface CreateConnectionProfileResponseContent { + id?: Management.ConnectionProfileId; + name?: Management.ConnectionProfileName; + organization?: Management.ConnectionProfileOrganization; + connection_name_prefix_template?: Management.ConnectionNamePrefixTemplate; + enabled_features?: Management.ConnectionProfileEnabledFeatures; + connection_config?: Management.ConnectionProfileConfig; + strategy_overrides?: Management.ConnectionProfileStrategyOverrides; +} + /** * Create a connection with strategy=ad */ -export interface CreateConnectionRequestContentAd extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentAd extends Management.CreateConnectionCommon { strategy: "ad"; options?: Management.ConnectionOptionsAd; } @@ -4301,7 +5400,7 @@ export interface CreateConnectionRequestContentAd extends Management.ConnectionR /** * Create a connection with strategy=adfs */ -export interface CreateConnectionRequestContentAdfs extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentAdfs extends Management.CreateConnectionCommon { strategy: "adfs"; options?: Management.ConnectionOptionsAdfs; } @@ -4309,7 +5408,7 @@ export interface CreateConnectionRequestContentAdfs extends Management.Connectio /** * Create a connection with strategy=aol */ -export interface CreateConnectionRequestContentAol extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentAol extends Management.CreateConnectionCommon { strategy: "aol"; options?: Management.ConnectionOptionsAol; } @@ -4317,7 +5416,7 @@ export interface CreateConnectionRequestContentAol extends Management.Connection /** * Create a connection with strategy=amazon */ -export interface CreateConnectionRequestContentAmazon extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentAmazon extends Management.CreateConnectionCommon { strategy: "amazon"; options?: Management.ConnectionOptionsAmazon; } @@ -4325,7 +5424,7 @@ export interface CreateConnectionRequestContentAmazon extends Management.Connect /** * Create a connection with strategy=apple */ -export interface CreateConnectionRequestContentApple extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentApple extends Management.CreateConnectionCommon { strategy: "apple"; options?: Management.ConnectionOptionsApple; } @@ -4333,7 +5432,7 @@ export interface CreateConnectionRequestContentApple extends Management.Connecti /** * Create a connection with strategy=auth0 */ -export interface CreateConnectionRequestContentAuth0 extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentAuth0 extends Management.CreateConnectionCommon { strategy: "auth0"; options?: Management.ConnectionOptionsAuth0; } @@ -4341,7 +5440,7 @@ export interface CreateConnectionRequestContentAuth0 extends Management.Connecti /** * Create a connection with strategy=auth0-oidc */ -export interface CreateConnectionRequestContentAuth0Oidc extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentAuth0Oidc extends Management.CreateConnectionCommon { strategy: "auth0-oidc"; options?: Management.ConnectionOptionsAuth0Oidc; } @@ -4349,15 +5448,17 @@ export interface CreateConnectionRequestContentAuth0Oidc extends Management.Conn /** * Create a connection with strategy=waad */ -export interface CreateConnectionRequestContentAzureAd extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentAzureAd extends Management.CreateConnectionCommon { strategy: "waad"; options?: Management.ConnectionOptionsAzureAd; + provisioning_ticket?: Management.ConnectionProvisioningTicket; + provisioning_ticket_url?: Management.ConnectionProvisioningTicketUrl; } /** * Create a connection with strategy=baidu */ -export interface CreateConnectionRequestContentBaidu extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentBaidu extends Management.CreateConnectionCommon { strategy: "baidu"; options?: Management.ConnectionOptionsBaidu; } @@ -4365,7 +5466,7 @@ export interface CreateConnectionRequestContentBaidu extends Management.Connecti /** * Create a connection with strategy=bitbucket */ -export interface CreateConnectionRequestContentBitbucket extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentBitbucket extends Management.CreateConnectionCommon { strategy: "bitbucket"; options?: Management.ConnectionOptionsBitbucket; } @@ -4373,7 +5474,7 @@ export interface CreateConnectionRequestContentBitbucket extends Management.Conn /** * Create a connection with strategy=bitly */ -export interface CreateConnectionRequestContentBitly extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentBitly extends Management.CreateConnectionCommon { strategy: "bitly"; options?: Management.ConnectionOptionsBitly; } @@ -4381,7 +5482,7 @@ export interface CreateConnectionRequestContentBitly extends Management.Connecti /** * Create a connection with strategy=box */ -export interface CreateConnectionRequestContentBox extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentBox extends Management.CreateConnectionCommon { strategy: "box"; options?: Management.ConnectionOptionsBox; } @@ -4389,7 +5490,7 @@ export interface CreateConnectionRequestContentBox extends Management.Connection /** * Create a connection with strategy=custom */ -export interface CreateConnectionRequestContentCustom extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentCustom extends Management.CreateConnectionCommon { strategy: "custom"; options?: Management.ConnectionOptionsCustom; } @@ -4397,7 +5498,7 @@ export interface CreateConnectionRequestContentCustom extends Management.Connect /** * Create a connection with strategy=daccount */ -export interface CreateConnectionRequestContentDaccount extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentDaccount extends Management.CreateConnectionCommon { strategy: "daccount"; options?: Management.ConnectionOptionsDaccount; } @@ -4405,7 +5506,7 @@ export interface CreateConnectionRequestContentDaccount extends Management.Conne /** * Create a connection with strategy=dropbox */ -export interface CreateConnectionRequestContentDropbox extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentDropbox extends Management.CreateConnectionCommon { strategy: "dropbox"; options?: Management.ConnectionOptionsDropbox; } @@ -4413,7 +5514,7 @@ export interface CreateConnectionRequestContentDropbox extends Management.Connec /** * Create a connection with strategy=dwolla */ -export interface CreateConnectionRequestContentDwolla extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentDwolla extends Management.CreateConnectionCommon { strategy: "dwolla"; options?: Management.ConnectionOptionsDwolla; } @@ -4421,7 +5522,7 @@ export interface CreateConnectionRequestContentDwolla extends Management.Connect /** * Create a connection with strategy=email */ -export interface CreateConnectionRequestContentEmail extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentEmail extends Management.CreateConnectionCommon { strategy: "email"; options?: Management.ConnectionOptionsEmail; } @@ -4429,7 +5530,7 @@ export interface CreateConnectionRequestContentEmail extends Management.Connecti /** * Create a connection with strategy=evernote */ -export interface CreateConnectionRequestContentEvernote extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentEvernote extends Management.CreateConnectionCommon { strategy: "evernote"; options?: Management.ConnectionOptionsEvernote; } @@ -4437,7 +5538,7 @@ export interface CreateConnectionRequestContentEvernote extends Management.Conne /** * Create a connection with strategy=evernote-sandbox */ -export interface CreateConnectionRequestContentEvernoteSandbox extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentEvernoteSandbox extends Management.CreateConnectionCommon { strategy: "evernote-sandbox"; options?: Management.ConnectionOptionsEvernoteSandbox; } @@ -4445,7 +5546,7 @@ export interface CreateConnectionRequestContentEvernoteSandbox extends Managemen /** * Create a connection with strategy=exact */ -export interface CreateConnectionRequestContentExact extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentExact extends Management.CreateConnectionCommon { strategy: "exact"; options?: Management.ConnectionOptionsExact; } @@ -4453,7 +5554,7 @@ export interface CreateConnectionRequestContentExact extends Management.Connecti /** * Create a connection with strategy=facebook */ -export interface CreateConnectionRequestContentFacebook extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentFacebook extends Management.CreateConnectionCommon { strategy: "facebook"; options?: Management.ConnectionOptionsFacebook; } @@ -4461,7 +5562,7 @@ export interface CreateConnectionRequestContentFacebook extends Management.Conne /** * Create a connection with strategy=fitbit */ -export interface CreateConnectionRequestContentFitbit extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentFitbit extends Management.CreateConnectionCommon { strategy: "fitbit"; options?: Management.ConnectionOptionsFitbit; } @@ -4469,7 +5570,7 @@ export interface CreateConnectionRequestContentFitbit extends Management.Connect /** * Create a connection with strategy=flickr */ -export interface CreateConnectionRequestContentFlickr extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentFlickr extends Management.CreateConnectionCommon { strategy: "flickr"; options?: Management.ConnectionOptionsFlickr; } @@ -4477,7 +5578,7 @@ export interface CreateConnectionRequestContentFlickr extends Management.Connect /** * Create a connection with strategy=github */ -export interface CreateConnectionRequestContentGitHub extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentGitHub extends Management.CreateConnectionCommon { strategy: "github"; options?: Management.ConnectionOptionsGitHub; } @@ -4485,7 +5586,7 @@ export interface CreateConnectionRequestContentGitHub extends Management.Connect /** * Create a connection with strategy=google-apps */ -export interface CreateConnectionRequestContentGoogleApps extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentGoogleApps extends Management.CreateConnectionCommon { strategy: "google-apps"; options?: Management.ConnectionOptionsGoogleApps; } @@ -4493,7 +5594,7 @@ export interface CreateConnectionRequestContentGoogleApps extends Management.Con /** * Create a connection with strategy=google-oauth2 */ -export interface CreateConnectionRequestContentGoogleOAuth2 extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentGoogleOAuth2 extends Management.CreateConnectionCommon { strategy: "google-oauth2"; options?: Management.ConnectionOptionsGoogleOAuth2; } @@ -4501,7 +5602,7 @@ export interface CreateConnectionRequestContentGoogleOAuth2 extends Management.C /** * Create a connection with strategy=ip */ -export interface CreateConnectionRequestContentIp extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentIp extends Management.CreateConnectionCommon { strategy: "ip"; options?: Management.ConnectionOptionsIp; } @@ -4509,7 +5610,7 @@ export interface CreateConnectionRequestContentIp extends Management.ConnectionR /** * Create a connection with strategy=instagram */ -export interface CreateConnectionRequestContentInstagram extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentInstagram extends Management.CreateConnectionCommon { strategy: "instagram"; options?: Management.ConnectionOptionsInstagram; } @@ -4517,7 +5618,7 @@ export interface CreateConnectionRequestContentInstagram extends Management.Conn /** * Create a connection with strategy=line */ -export interface CreateConnectionRequestContentLine extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentLine extends Management.CreateConnectionCommon { strategy: "line"; options?: Management.ConnectionOptionsLine; } @@ -4525,7 +5626,7 @@ export interface CreateConnectionRequestContentLine extends Management.Connectio /** * Create a connection with strategy=linkedin */ -export interface CreateConnectionRequestContentLinkedin extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentLinkedin extends Management.CreateConnectionCommon { strategy: "linkedin"; options?: Management.ConnectionOptionsLinkedin; } @@ -4533,7 +5634,7 @@ export interface CreateConnectionRequestContentLinkedin extends Management.Conne /** * Create a connection with strategy=miicard */ -export interface CreateConnectionRequestContentMiicard extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentMiicard extends Management.CreateConnectionCommon { strategy: "miicard"; options?: Management.ConnectionOptionsMiicard; } @@ -4541,7 +5642,7 @@ export interface CreateConnectionRequestContentMiicard extends Management.Connec /** * Create a connection with strategy=oauth1 */ -export interface CreateConnectionRequestContentOAuth1 extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentOAuth1 extends Management.CreateConnectionCommon { strategy: "oauth1"; options?: Management.ConnectionOptionsOAuth1; } @@ -4549,7 +5650,7 @@ export interface CreateConnectionRequestContentOAuth1 extends Management.Connect /** * Create a connection with strategy=oauth2 */ -export interface CreateConnectionRequestContentOAuth2 extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentOAuth2 extends Management.CreateConnectionCommon { strategy: "oauth2"; options?: Management.ConnectionOptionsOAuth2; } @@ -4557,7 +5658,7 @@ export interface CreateConnectionRequestContentOAuth2 extends Management.Connect /** * Create a connection with strategy=oidc */ -export interface CreateConnectionRequestContentOidc extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentOidc extends Management.CreateConnectionCommon { strategy: "oidc"; options?: Management.ConnectionOptionsOidc; } @@ -4565,7 +5666,7 @@ export interface CreateConnectionRequestContentOidc extends Management.Connectio /** * Create a connection with strategy=office365 */ -export interface CreateConnectionRequestContentOffice365 extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentOffice365 extends Management.CreateConnectionCommon { strategy: "office365"; options?: Management.ConnectionOptionsOffice365; } @@ -4573,7 +5674,7 @@ export interface CreateConnectionRequestContentOffice365 extends Management.Conn /** * Create a connection with strategy=okta */ -export interface CreateConnectionRequestContentOkta extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentOkta extends Management.CreateConnectionCommon { strategy: "okta"; options?: Management.ConnectionOptionsOkta; } @@ -4581,7 +5682,7 @@ export interface CreateConnectionRequestContentOkta extends Management.Connectio /** * Create a connection with strategy=paypal */ -export interface CreateConnectionRequestContentPaypal extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentPaypal extends Management.CreateConnectionCommon { strategy: "paypal"; options?: Management.ConnectionOptionsPaypal; } @@ -4589,7 +5690,7 @@ export interface CreateConnectionRequestContentPaypal extends Management.Connect /** * Create a connection with strategy=paypal-sandbox */ -export interface CreateConnectionRequestContentPaypalSandbox extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentPaypalSandbox extends Management.CreateConnectionCommon { strategy: "paypal-sandbox"; options?: Management.ConnectionOptionsPaypalSandbox; } @@ -4597,7 +5698,7 @@ export interface CreateConnectionRequestContentPaypalSandbox extends Management. /** * Create a connection with strategy=pingfederate */ -export interface CreateConnectionRequestContentPingFederate extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentPingFederate extends Management.CreateConnectionCommon { strategy: "pingfederate"; options?: Management.ConnectionOptionsPingFederate; } @@ -4605,7 +5706,7 @@ export interface CreateConnectionRequestContentPingFederate extends Management.C /** * Create a connection with strategy=planningcenter */ -export interface CreateConnectionRequestContentPlanningCenter extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentPlanningCenter extends Management.CreateConnectionCommon { strategy: "planningcenter"; options?: Management.ConnectionOptionsPlanningCenter; } @@ -4613,7 +5714,7 @@ export interface CreateConnectionRequestContentPlanningCenter extends Management /** * Create a connection with strategy=renren */ -export interface CreateConnectionRequestContentRenren extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentRenren extends Management.CreateConnectionCommon { strategy: "renren"; options?: Management.ConnectionOptionsRenren; } @@ -4621,7 +5722,7 @@ export interface CreateConnectionRequestContentRenren extends Management.Connect /** * Create a connection with strategy=samlp */ -export interface CreateConnectionRequestContentSaml extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentSaml extends Management.CreateConnectionCommon { strategy: "samlp"; options?: Management.ConnectionOptionsSaml; } @@ -4629,7 +5730,7 @@ export interface CreateConnectionRequestContentSaml extends Management.Connectio /** * Create a connection with strategy=sms */ -export interface CreateConnectionRequestContentSms extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentSms extends Management.CreateConnectionCommon { strategy: "sms"; options?: Management.ConnectionOptionsSms; } @@ -4637,7 +5738,7 @@ export interface CreateConnectionRequestContentSms extends Management.Connection /** * Create a connection with strategy=salesforce */ -export interface CreateConnectionRequestContentSalesforce extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentSalesforce extends Management.CreateConnectionCommon { strategy: "salesforce"; options?: Management.ConnectionOptionsSalesforce; } @@ -4645,7 +5746,7 @@ export interface CreateConnectionRequestContentSalesforce extends Management.Con /** * Create a connection with strategy=salesforce-community */ -export interface CreateConnectionRequestContentSalesforceCommunity extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentSalesforceCommunity extends Management.CreateConnectionCommon { strategy: "salesforce-community"; options?: Management.ConnectionOptionsSalesforceCommunity; } @@ -4653,7 +5754,7 @@ export interface CreateConnectionRequestContentSalesforceCommunity extends Manag /** * Create a connection with strategy=salesforce-sandbox */ -export interface CreateConnectionRequestContentSalesforceSandbox extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentSalesforceSandbox extends Management.CreateConnectionCommon { strategy: "salesforce-sandbox"; options?: Management.ConnectionOptionsSalesforceSandbox; } @@ -4661,7 +5762,7 @@ export interface CreateConnectionRequestContentSalesforceSandbox extends Managem /** * Create a connection with strategy=sharepoint */ -export interface CreateConnectionRequestContentSharepoint extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentSharepoint extends Management.CreateConnectionCommon { strategy: "sharepoint"; options?: Management.ConnectionOptionsSharepoint; } @@ -4669,7 +5770,7 @@ export interface CreateConnectionRequestContentSharepoint extends Management.Con /** * Create a connection with strategy=shop */ -export interface CreateConnectionRequestContentShop extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentShop extends Management.CreateConnectionCommon { strategy: "shop"; options?: Management.ConnectionOptionsShop; } @@ -4677,7 +5778,7 @@ export interface CreateConnectionRequestContentShop extends Management.Connectio /** * Create a connection with strategy=shopify */ -export interface CreateConnectionRequestContentShopify extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentShopify extends Management.CreateConnectionCommon { strategy: "shopify"; options?: Management.ConnectionOptionsShopify; } @@ -4685,7 +5786,7 @@ export interface CreateConnectionRequestContentShopify extends Management.Connec /** * Create a connection with strategy=soundcloud */ -export interface CreateConnectionRequestContentSoundcloud extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentSoundcloud extends Management.CreateConnectionCommon { strategy: "soundcloud"; options?: Management.ConnectionOptionsSoundcloud; } @@ -4693,7 +5794,7 @@ export interface CreateConnectionRequestContentSoundcloud extends Management.Con /** * Create a connection with strategy=thecity */ -export interface CreateConnectionRequestContentTheCity extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentTheCity extends Management.CreateConnectionCommon { strategy: "thecity"; options?: Management.ConnectionOptionsTheCity; } @@ -4701,7 +5802,7 @@ export interface CreateConnectionRequestContentTheCity extends Management.Connec /** * Create a connection with strategy=thecity-sandbox */ -export interface CreateConnectionRequestContentTheCitySandbox extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentTheCitySandbox extends Management.CreateConnectionCommon { strategy: "thecity-sandbox"; options?: Management.ConnectionOptionsTheCitySandbox; } @@ -4709,7 +5810,7 @@ export interface CreateConnectionRequestContentTheCitySandbox extends Management /** * Create a connection with strategy=thirtysevensignals */ -export interface CreateConnectionRequestContentThirtySevenSignals extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentThirtySevenSignals extends Management.CreateConnectionCommon { strategy: "thirtysevensignals"; options?: Management.ConnectionOptionsThirtySevenSignals; } @@ -4717,7 +5818,7 @@ export interface CreateConnectionRequestContentThirtySevenSignals extends Manage /** * Create a connection with strategy=twitter */ -export interface CreateConnectionRequestContentTwitter extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentTwitter extends Management.CreateConnectionCommon { strategy: "twitter"; options?: Management.ConnectionOptionsTwitter; } @@ -4725,7 +5826,7 @@ export interface CreateConnectionRequestContentTwitter extends Management.Connec /** * Create a connection with strategy=untappd */ -export interface CreateConnectionRequestContentUntappd extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentUntappd extends Management.CreateConnectionCommon { strategy: "untappd"; options?: Management.ConnectionOptionsUntappd; } @@ -4733,7 +5834,7 @@ export interface CreateConnectionRequestContentUntappd extends Management.Connec /** * Create a connection with strategy=vkontakte */ -export interface CreateConnectionRequestContentVkontakte extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentVkontakte extends Management.CreateConnectionCommon { strategy: "vkontakte"; options?: Management.ConnectionOptionsVkontakte; } @@ -4741,7 +5842,7 @@ export interface CreateConnectionRequestContentVkontakte extends Management.Conn /** * Create a connection with strategy=weibo */ -export interface CreateConnectionRequestContentWeibo extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentWeibo extends Management.CreateConnectionCommon { strategy: "weibo"; options?: Management.ConnectionOptionsWeibo; } @@ -4749,7 +5850,7 @@ export interface CreateConnectionRequestContentWeibo extends Management.Connecti /** * Create a connection with strategy=windowslive */ -export interface CreateConnectionRequestContentWindowsLive extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentWindowsLive extends Management.CreateConnectionCommon { strategy: "windowslive"; options?: Management.ConnectionOptionsWindowsLive; } @@ -4757,7 +5858,7 @@ export interface CreateConnectionRequestContentWindowsLive extends Management.Co /** * Create a connection with strategy=wordpress */ -export interface CreateConnectionRequestContentWordpress extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentWordpress extends Management.CreateConnectionCommon { strategy: "wordpress"; options?: Management.ConnectionOptionsWordpress; } @@ -4765,7 +5866,7 @@ export interface CreateConnectionRequestContentWordpress extends Management.Conn /** * Create a connection with strategy=yahoo */ -export interface CreateConnectionRequestContentYahoo extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentYahoo extends Management.CreateConnectionCommon { strategy: "yahoo"; options?: Management.ConnectionOptionsYahoo; } @@ -4773,7 +5874,7 @@ export interface CreateConnectionRequestContentYahoo extends Management.Connecti /** * Create a connection with strategy=yammer */ -export interface CreateConnectionRequestContentYammer extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentYammer extends Management.CreateConnectionCommon { strategy: "yammer"; options?: Management.ConnectionOptionsYammer; } @@ -4781,7 +5882,7 @@ export interface CreateConnectionRequestContentYammer extends Management.Connect /** * Create a connection with strategy=yandex */ -export interface CreateConnectionRequestContentYandex extends Management.ConnectionRequestCommon { +export interface CreateConnectionRequestContentYandex extends Management.CreateConnectionCommon { strategy: "yandex"; options?: Management.ConnectionOptionsYandex; } @@ -4823,9 +5924,49 @@ export interface CreateCustomDomainResponseContent { custom_client_ip_header?: string | null; /** The TLS version policy */ tls_policy?: string; + domain_metadata?: Management.DomainMetadata; certificate?: Management.DomainCertificate; } +export interface CreateDirectoryProvisioningRequestContent { + /** The mapping between Auth0 and IDP user attributes */ + mapping?: Management.DirectoryProvisioningMappingItem[]; + /** Whether periodic automatic synchronization is enabled */ + synchronize_automatically?: boolean; +} + +export interface CreateDirectoryProvisioningResponseContent { + /** The connection's identifier */ + connection_id: string; + /** The connection's name */ + connection_name: string; + /** The connection's strategy */ + strategy: string; + /** The mapping between Auth0 and IDP user attributes */ + mapping: Management.DirectoryProvisioningMappingItem[]; + /** Whether periodic automatic synchronization is enabled */ + synchronize_automatically: boolean; + /** The timestamp at which the directory provisioning configuration was created */ + created_at: string; + /** The timestamp at which the directory provisioning configuration was last updated */ + updated_at: string; + /** The timestamp at which the connection was last synchronized */ + last_synchronization_at?: string; + /** The status of the last synchronization */ + last_synchronization_status?: string; + /** The error message of the last synchronization, if any */ + last_synchronization_error?: string; +} + +export interface CreateDirectorySynchronizationResponseContent { + /** The connection's identifier */ + connection_id: string; + /** The synchronization's identifier */ + synchronization_id: string; + /** The synchronization status */ + status: string; +} + export interface CreateEmailProviderResponseContent { /** Name of the email provider. Can be `mailgun`, `mandrill`, `sendgrid`, `ses`, `sparkpost`, `smtp`, `azure_cs`, `ms365`, or `custom`. */ name?: string; @@ -5999,6 +7140,7 @@ export interface CustomDomain { custom_client_ip_header?: string | null; /** The TLS version policy */ tls_policy?: string; + domain_metadata?: Management.DomainMetadata; certificate?: Management.DomainCertificate; } @@ -6278,6 +7420,13 @@ export const DeviceCredentialTypeEnum = { } as const; export type DeviceCredentialTypeEnum = (typeof DeviceCredentialTypeEnum)[keyof typeof DeviceCredentialTypeEnum]; +export interface DirectoryProvisioningMappingItem { + /** The field location in the Auth0 schema */ + auth0: string; + /** The field location in the IDP schema */ + idp: string; +} + /** * Certificate information. This object is relevant only for Custom Domains with Auth0-Managed Certificates. */ @@ -6308,6 +7457,11 @@ export const DomainCertificateStatusEnum = { export type DomainCertificateStatusEnum = (typeof DomainCertificateStatusEnum)[keyof typeof DomainCertificateStatusEnum]; +/** + * Domain metadata associated with the custom domain, in the form of an object with string values (max 255 chars). Maximum of 10 domain metadata properties allowed. + */ +export type DomainMetadata = Record; + /** * Domain verification settings. */ @@ -6351,6 +7505,8 @@ export type DomainVerificationStatusEnum = */ export interface EmailAttribute { identifier?: Management.ConnectionAttributeIdentifier; + /** Determines if the attribute is unique in a given connection */ + unique?: boolean; /** Determines if property should be required for users */ profile_required?: boolean; verification_method?: Management.VerificationMethodEnum; @@ -6467,6 +7623,13 @@ export const EmailTemplateNameEnum = { } as const; export type EmailTemplateNameEnum = (typeof EmailTemplateNameEnum)[keyof typeof EmailTemplateNameEnum]; +/** Enum for enabled features. */ +export const EnabledFeaturesEnum = { + Scim: "scim", + UniversalLogout: "universal_logout", +} as const; +export type EnabledFeaturesEnum = (typeof EnabledFeaturesEnum)[keyof typeof EnabledFeaturesEnum]; + /** * Encryption key */ @@ -6813,6 +7976,54 @@ export interface EventStreamWebhookResponseContent { updated_at?: string; } +/** + * Application specific configuration for use with the OIN Express Configuration feature. + */ +export interface ExpressConfiguration { + /** The URI users should bookmark to log in to this application. Variable substitution is permitted for the following properties: organization_name, organization_id, and connection_name. */ + initiate_login_uri_template: string; + /** The ID of the user attribute profile to use for this application. */ + user_attribute_profile_id: string; + /** The ID of the connection profile to use for this application. */ + connection_profile_id: string; + /** When true, all connections made via express configuration will be enabled for this application. */ + enable_client: boolean; + /** When true, all connections made via express configuration will have the associated organization enabled. */ + enable_organization: boolean; + /** List of client IDs that are linked to this express configuration (e.g. web or mobile clients). */ + linked_clients?: Management.LinkedClientConfiguration[]; + /** This is the unique identifier for the Okta OIN Express Configuration Client, which Okta will use for this application. */ + okta_oin_client_id: string; + /** This is the domain that admins are expected to log in via for authenticating for express configuration. It can be either the canonical domain or a registered custom domain. */ + admin_login_domain: string; + /** The identifier of the published application in the OKTA OIN. */ + oin_submission_id?: string; +} + +/** + * Application specific configuration for use with the OIN Express Configuration feature. + */ +export interface ExpressConfigurationOrNull { + /** The URI users should bookmark to log in to this application. Variable substitution is permitted for the following properties: organization_name, organization_id, and connection_name. */ + initiate_login_uri_template: string; + /** The ID of the user attribute profile to use for this application. */ + user_attribute_profile_id: string; + /** The ID of the connection profile to use for this application. */ + connection_profile_id: string; + /** When true, all connections made via express configuration will be enabled for this application. */ + enable_client: boolean; + /** When true, all connections made via express configuration will have the associated organization enabled. */ + enable_organization: boolean; + /** List of client IDs that are linked to this express configuration (e.g. web or mobile clients). */ + linked_clients?: Management.LinkedClientConfiguration[]; + /** This is the unique identifier for the Okta OIN Express Configuration Client, which Okta will use for this application. */ + okta_oin_client_id: string; + /** This is the domain that admins are expected to log in via for authenticating for express configuration. It can be either the canonical domain or a registered custom domain. */ + admin_login_domain: string; + /** The identifier of the published application in the OKTA OIN. */ + oin_submission_id?: string; +} + export interface ExtensibilityEmailProviderCredentials {} export interface FederatedConnectionTokenSet { @@ -6959,7 +8170,8 @@ export type FlowActionAuth0 = | Management.FlowActionAuth0CreateUser | Management.FlowActionAuth0GetUser | Management.FlowActionAuth0UpdateUser - | Management.FlowActionAuth0SendRequest; + | Management.FlowActionAuth0SendRequest + | Management.FlowActionAuth0SendEmail; export interface FlowActionAuth0CreateUser { id: string; @@ -6993,6 +8205,33 @@ export interface FlowActionAuth0GetUserParams { user_id: string; } +export interface FlowActionAuth0SendEmail { + id: string; + alias?: string; + type: "AUTH0"; + action: "SEND_EMAIL"; + allow_failure?: boolean; + mask_output?: boolean; + params: Management.FlowActionAuth0SendEmailParams; +} + +export interface FlowActionAuth0SendEmailParams { + from?: Management.FlowActionAuth0SendEmailParamsFrom; + to: Management.FlowActionAuth0SendEmailParamsTo; + subject: string; + body: string; + custom_vars?: Management.FlowActionAuth0SendRequestParamsCustomVars; +} + +export interface FlowActionAuth0SendEmailParamsFrom { + name?: string; + email: Management.FlowActionAuth0SendEmailParamsFromEmail; +} + +export type FlowActionAuth0SendEmailParamsFromEmail = string; + +export type FlowActionAuth0SendEmailParamsTo = string; + export interface FlowActionAuth0SendRequest { id: string; alias?: string; @@ -7023,6 +8262,8 @@ export namespace FlowActionAuth0SendRequestParams { export type Method = (typeof Method)[keyof typeof Method]; } +export type FlowActionAuth0SendRequestParamsCustomVars = Record; + export type FlowActionAuth0SendRequestParamsHeaders = Record; export type FlowActionAuth0SendRequestParamsPayload = @@ -9348,11 +10589,11 @@ export interface GetAculResponseContent { context_configuration?: string[]; /** Override Universal Login default head tags */ default_head_tags_disabled?: boolean; + /** Use page template with ACUL */ + use_page_template?: boolean | null; /** An array of head tags */ head_tags?: Management.AculHeadTag[]; filters?: Management.AculFilters | null; - /** Use page template with ACUL */ - use_page_template?: boolean | null; /** Accepts any additional properties */ [key: string]: any; } @@ -9595,9 +10836,11 @@ export interface GetClientResponseContent { * See https://auth0.com/docs/secure/security-guidance/measures-against-app-impersonation for more information. */ skip_non_verifiable_callback_uri_confirmation_prompt?: boolean; + token_exchange?: Management.ClientTokenExchangeConfiguration; /** Specifies how long, in seconds, a Pushed Authorization Request URI remains valid */ par_request_expiry?: number | null; token_quota?: Management.TokenQuota; + express_configuration?: Management.ExpressConfiguration; /** The identifier of the resource server that this client is linked to. */ resource_server_identifier?: string; async_approval_notification_channels?: Management.ClientAsyncApprovalNotificationsChannelsApiPostConfiguration; @@ -9614,6 +10857,24 @@ export interface GetConnectionEnabledClientsResponseContent { [key: string]: any; } +export interface GetConnectionProfileResponseContent { + id?: Management.ConnectionProfileId; + name?: Management.ConnectionProfileName; + organization?: Management.ConnectionProfileOrganization; + connection_name_prefix_template?: Management.ConnectionNamePrefixTemplate; + enabled_features?: Management.ConnectionProfileEnabledFeatures; + connection_config?: Management.ConnectionProfileConfig; + strategy_overrides?: Management.ConnectionProfileStrategyOverrides; +} + +export interface GetConnectionProfileTemplateResponseContent { + /** The id of the template. */ + id?: string; + /** The user-friendly name of the template displayed in the UI. */ + display_name?: string; + template?: Management.ConnectionProfileTemplate; +} + export interface GetConnectionResponseContent { /** The name of the connection */ name?: string; @@ -9653,6 +10914,7 @@ export interface GetCustomDomainResponseContent { custom_client_ip_header?: string | null; /** The TLS version policy */ tls_policy?: string; + domain_metadata?: Management.DomainMetadata; certificate?: Management.DomainCertificate; } @@ -9669,6 +10931,34 @@ export interface GetCustomSigningKeysResponseContent { */ export type GetCustomTextsByLanguageResponseContent = Record; +export interface GetDirectoryProvisioningDefaultMappingResponseContent { + /** The mapping between Auth0 and IDP user attributes */ + mapping?: Management.DirectoryProvisioningMappingItem[]; +} + +export interface GetDirectoryProvisioningResponseContent { + /** The connection's identifier */ + connection_id: string; + /** The connection's name */ + connection_name: string; + /** The connection's strategy */ + strategy: string; + /** The mapping between Auth0 and IDP user attributes */ + mapping: Management.DirectoryProvisioningMappingItem[]; + /** Whether periodic automatic synchronization is enabled */ + synchronize_automatically: boolean; + /** The timestamp at which the directory provisioning configuration was created */ + created_at: string; + /** The timestamp at which the directory provisioning configuration was last updated */ + updated_at: string; + /** The timestamp at which the connection was last synchronized */ + last_synchronization_at?: string; + /** The status of the last synchronization */ + last_synchronization_status?: string; + /** The error message of the last synchronization, if any */ + last_synchronization_error?: string; +} + export interface GetEmailProviderResponseContent { /** Name of the email provider. Can be `mailgun`, `mandrill`, `sendgrid`, `ses`, `sparkpost`, `smtp`, `azure_cs`, `ms365`, or `custom`. */ name?: string; @@ -10412,6 +11702,7 @@ export interface GetTenantSettingsResponseContent { * See https://auth0.com/docs/secure/security-guidance/measures-against-app-impersonation for more information. */ skip_non_verifiable_callback_uri_confirmation_prompt?: boolean | null; + resource_parameter_profile?: Management.TenantSettingsResourceParameterProfile; } export interface GetTokenExchangeProfileResponseContent { @@ -10771,6 +12062,11 @@ export const IdentityProviderEnum = { } as const; export type IdentityProviderEnum = (typeof IdentityProviderEnum)[keyof typeof IdentityProviderEnum]; +/** + * Identity provider name of the identity. Only `auth0` is supported + */ +export type IdentityProviderOnlyAuth0Enum = "auth0"; + /** * Encryption key */ @@ -10919,6 +12215,14 @@ export const JobFileFormatEnum = { } as const; export type JobFileFormatEnum = (typeof JobFileFormatEnum)[keyof typeof JobFileFormatEnum]; +/** + * Configuration for linked clients in the OIN Express Configuration feature. + */ +export interface LinkedClientConfiguration { + /** The ID of the linked client. */ + client_id: string; +} + export interface ListActionBindingsPaginatedResponseContent { /** The total result count. */ total?: number; @@ -10996,6 +12300,16 @@ export interface ListClientsOffsetPaginatedResponseContent { clients?: Management.Client[]; } +export interface ListConnectionProfileTemplateResponseContent { + connection_profile_templates?: Management.ConnectionProfileTemplateItem[]; +} + +export interface ListConnectionProfilesPaginatedResponseContent { + /** A cursor to be used as the "from" query parameter for the next page of results. */ + next?: string; + connection_profiles?: Management.ConnectionProfile[]; +} + export interface ListConnectionsCheckpointPaginatedResponseContent { /** Opaque identifier for use with the from query parameter for the next page of results. */ next?: string; @@ -11940,11 +13254,12 @@ export interface NetworkAclRule { scope: Management.NetworkAclRuleScopeEnum; } -/** Identifies the origin of the request as the Management API (management), Authentication API (authentication), or either (tenant) */ +/** Identifies the origin of the request as the Management API (management), Authentication API (authentication), Dynamic Client Registration API (dynamic_client_registration), or any (tenant) */ export const NetworkAclRuleScopeEnum = { Management: "management", Authentication: "authentication", Tenant: "tenant", + DynamicClientRegistration: "dynamic_client_registration", } as const; export type NetworkAclRuleScopeEnum = (typeof NetworkAclRuleScopeEnum)[keyof typeof NetworkAclRuleScopeEnum]; @@ -12856,9 +14171,11 @@ export interface RotateClientSecretResponseContent { * See https://auth0.com/docs/secure/security-guidance/measures-against-app-impersonation for more information. */ skip_non_verifiable_callback_uri_confirmation_prompt?: boolean; + token_exchange?: Management.ClientTokenExchangeConfiguration; /** Specifies how long, in seconds, a Pushed Authorization Request URI remains valid */ par_request_expiry?: number | null; token_quota?: Management.TokenQuota; + express_configuration?: Management.ExpressConfiguration; /** The identifier of the resource server that this client is linked to. */ resource_server_identifier?: string; async_approval_notification_channels?: Management.ClientAsyncApprovalNotificationsChannelsApiPostConfiguration; @@ -13173,6 +14490,14 @@ export interface SelfServiceProfileSsoTicketEnabledOrganization { show_as_button?: boolean; } +/** + * Configuration for Google Workspace Directory Sync during the self-service flow. + */ +export interface SelfServiceProfileSsoTicketGoogleWorkspaceConfig { + /** Whether to enable Google Workspace Directory Sync for users during the self-service flow. */ + sync_users: boolean; +} + /** The protocol used to connect to the the default application */ export const SelfServiceProfileSsoTicketIdpInitiatedClientProtocolEnum = { Samlp: "samlp", @@ -13200,7 +14525,8 @@ export interface SelfServiceProfileSsoTicketIdpInitiatedOptions { */ export interface SelfServiceProfileSsoTicketProvisioningConfig { /** The scopes of the SCIM tokens generated during the self-service flow. */ - scopes: Management.SelfServiceProfileSsoTicketProvisioningScopeEnum[]; + scopes?: Management.SelfServiceProfileSsoTicketProvisioningScopeEnum[]; + google_workspace?: Management.SelfServiceProfileSsoTicketGoogleWorkspaceConfig; /** Lifetime of the tokens in seconds. Must be greater than 900. If not provided, the tokens don't expire. */ token_lifetime?: number | null; } @@ -13564,7 +14890,7 @@ export type SetUserAuthenticationMethodsRequestContent = Management.SetUserAuthe */ export type SetsCustomTextsByLanguageRequestContent = Record; -/** Algorithm used to sign JWTs. Can be `HS256` or `RS256`. `PS256` available via addon. */ +/** Algorithm used to sign JWTs. Can be `HS256` (default) or `RS256`. `PS256` available via addon. */ export const SigningAlgorithmEnum = { Hs256: "HS256", Rs256: "RS256", @@ -13881,6 +15207,14 @@ export interface TenantSettingsPasswordPage { html?: string; } +/** Profile that determines how the identity of the protected resource (i.e., API) can be specified in the OAuth endpoints when access is being requested. When set to audience (default), the audience parameter is used to specify the resource server. When set to compatibility, the audience parameter is still checked first, but if it not provided, then the resource parameter can be used to specify the resource server. */ +export const TenantSettingsResourceParameterProfile = { + Audience: "audience", + Compatibility: "compatibility", +} as const; +export type TenantSettingsResourceParameterProfile = + (typeof TenantSettingsResourceParameterProfile)[keyof typeof TenantSettingsResourceParameterProfile]; + /** * Sessions related settings for tenant */ @@ -14028,11 +15362,11 @@ export interface UpdateAculResponseContent { context_configuration?: string[]; /** Override Universal Login default head tags */ default_head_tags_disabled?: boolean | null; + /** Use page template with ACUL */ + use_page_template?: boolean | null; /** An array of head tags */ head_tags?: Management.AculHeadTag[]; filters?: Management.AculFilters | null; - /** Use page template with ACUL */ - use_page_template?: boolean | null; /** Accepts any additional properties */ [key: string]: any; } @@ -14291,9 +15625,11 @@ export interface UpdateClientResponseContent { * See https://auth0.com/docs/secure/security-guidance/measures-against-app-impersonation for more information. */ skip_non_verifiable_callback_uri_confirmation_prompt?: boolean; + token_exchange?: Management.ClientTokenExchangeConfiguration; /** Specifies how long, in seconds, a Pushed Authorization Request URI remains valid */ par_request_expiry?: number | null; token_quota?: Management.TokenQuota; + express_configuration?: Management.ExpressConfiguration; /** The identifier of the resource server that this client is linked to. */ resource_server_identifier?: string; async_approval_notification_channels?: Management.ClientAsyncApprovalNotificationsChannelsApiPostConfiguration; @@ -14342,6 +15678,16 @@ export interface UpdateConnectionOptions { [key: string]: any; } +export interface UpdateConnectionProfileResponseContent { + id?: Management.ConnectionProfileId; + name?: Management.ConnectionProfileName; + organization?: Management.ConnectionProfileOrganization; + connection_name_prefix_template?: Management.ConnectionNamePrefixTemplate; + enabled_features?: Management.ConnectionProfileEnabledFeatures; + connection_config?: Management.ConnectionProfileConfig; + strategy_overrides?: Management.ConnectionProfileStrategyOverrides; +} + export interface UpdateConnectionResponseContent { /** The name of the connection */ name?: string; @@ -14379,9 +15725,40 @@ export interface UpdateCustomDomainResponseContent { custom_client_ip_header?: string | null; /** The TLS version policy */ tls_policy?: string; + domain_metadata?: Management.DomainMetadata; certificate?: Management.DomainCertificate; } +export interface UpdateDirectoryProvisioningRequestContent { + /** The mapping between Auth0 and IDP user attributes */ + mapping?: Management.DirectoryProvisioningMappingItem[]; + /** Whether periodic automatic synchronization is enabled */ + synchronize_automatically?: boolean; +} + +export interface UpdateDirectoryProvisioningResponseContent { + /** The connection's identifier */ + connection_id: string; + /** The connection's name */ + connection_name: string; + /** The connection's strategy */ + strategy: string; + /** The mapping between Auth0 and IDP user attributes */ + mapping: Management.DirectoryProvisioningMappingItem[]; + /** Whether periodic automatic synchronization is enabled */ + synchronize_automatically: boolean; + /** The timestamp at which the directory provisioning configuration was created */ + created_at: string; + /** The timestamp at which the directory provisioning configuration was last updated */ + updated_at: string; + /** The timestamp at which the connection was last synchronized */ + last_synchronization_at?: string; + /** The status of the last synchronization */ + last_synchronization_status?: string; + /** The error message of the last synchronization, if any */ + last_synchronization_error?: string; +} + export interface UpdateEmailProviderResponseContent { /** Name of the email provider. Can be `mailgun`, `mandrill`, `sendgrid`, `ses`, `sparkpost`, `smtp`, `azure_cs`, `ms365`, or `custom`. */ name?: string; @@ -14808,6 +16185,7 @@ export interface UpdateTenantSettingsResponseContent { * See https://auth0.com/docs/secure/security-guidance/measures-against-app-impersonation for more information. */ skip_non_verifiable_callback_uri_confirmation_prompt?: boolean | null; + resource_parameter_profile?: Management.TenantSettingsResourceParameterProfile; } export interface UpdateTokenQuota { @@ -15480,6 +16858,7 @@ export interface VerifyCustomDomainResponseContent { custom_client_ip_header?: string | null; /** The TLS version policy */ tls_policy?: string; + domain_metadata?: Management.DomainMetadata; certificate?: Management.DomainCertificate; } diff --git a/src/management/auth/BearerAuthProvider.ts b/src/management/auth/BearerAuthProvider.ts new file mode 100644 index 0000000000..a1c3cc9bb2 --- /dev/null +++ b/src/management/auth/BearerAuthProvider.ts @@ -0,0 +1,37 @@ +// This file was auto-generated by Fern from our API Definition. + +import * as core from "../core/index.js"; +import * as errors from "../errors/index.js"; + +export namespace BearerAuthProvider { + export interface AuthOptions { + token: core.Supplier; + } + + export interface Options extends AuthOptions {} +} + +export class BearerAuthProvider implements core.AuthProvider { + private readonly token: core.Supplier; + + constructor(options: BearerAuthProvider.Options) { + this.token = options.token; + } + + public static canCreate(options: BearerAuthProvider.Options): boolean { + return options.token != null; + } + + public async getAuthRequest(arg?: { endpointMetadata?: core.EndpointMetadata }): Promise { + const token = await core.Supplier.get(this.token); + if (token == null) { + throw new errors.ManagementError({ + message: "Please specify a token by passing it in to the constructor", + }); + } + + return { + headers: { Authorization: `Bearer ${token}` }, + }; + } +} diff --git a/src/management/auth/index.ts b/src/management/auth/index.ts new file mode 100644 index 0000000000..0ecb12b79b --- /dev/null +++ b/src/management/auth/index.ts @@ -0,0 +1 @@ +export { BearerAuthProvider } from "./BearerAuthProvider.js"; diff --git a/src/management/core/auth/AuthProvider.ts b/src/management/core/auth/AuthProvider.ts index 86f670a857..895a50ff30 100644 --- a/src/management/core/auth/AuthProvider.ts +++ b/src/management/core/auth/AuthProvider.ts @@ -1,5 +1,6 @@ +import type { EndpointMetadata } from "../fetcher/EndpointMetadata.js"; import type { AuthRequest } from "./AuthRequest.js"; export interface AuthProvider { - getAuthRequest(): Promise; + getAuthRequest(arg?: { endpointMetadata?: EndpointMetadata }): Promise; } diff --git a/src/management/core/auth/BearerToken.ts b/src/management/core/auth/BearerToken.ts index fe987fc9c4..c44a06c38f 100644 --- a/src/management/core/auth/BearerToken.ts +++ b/src/management/core/auth/BearerToken.ts @@ -2,13 +2,18 @@ export type BearerToken = string; const BEARER_AUTH_HEADER_PREFIX = /^Bearer /i; -export const BearerToken = { - toAuthorizationHeader: (token: BearerToken | undefined): string | undefined => { - if (token == null) { - return undefined; - } - return `Bearer ${token}`; - }, +function toAuthorizationHeader(token: string | undefined): string | undefined { + if (token == null) { + return undefined; + } + return `Bearer ${token}`; +} + +export const BearerToken: { + toAuthorizationHeader: typeof toAuthorizationHeader; + fromAuthorizationHeader: (header: string) => BearerToken; +} = { + toAuthorizationHeader: toAuthorizationHeader, fromAuthorizationHeader: (header: string): BearerToken => { return header.replace(BEARER_AUTH_HEADER_PREFIX, "").trim() as BearerToken; }, diff --git a/src/management/core/auth/NoOpAuthProvider.ts b/src/management/core/auth/NoOpAuthProvider.ts new file mode 100644 index 0000000000..5b7acfd2bd --- /dev/null +++ b/src/management/core/auth/NoOpAuthProvider.ts @@ -0,0 +1,8 @@ +import type { AuthProvider } from "./AuthProvider.js"; +import type { AuthRequest } from "./AuthRequest.js"; + +export class NoOpAuthProvider implements AuthProvider { + public getAuthRequest(): Promise { + return Promise.resolve({ headers: {} }); + } +} diff --git a/src/management/core/auth/index.ts b/src/management/core/auth/index.ts index 23d31b07bd..2215b22770 100644 --- a/src/management/core/auth/index.ts +++ b/src/management/core/auth/index.ts @@ -2,3 +2,4 @@ export type { AuthProvider } from "./AuthProvider.js"; export type { AuthRequest } from "./AuthRequest.js"; export { BasicAuth } from "./BasicAuth.js"; export { BearerToken } from "./BearerToken.js"; +export { NoOpAuthProvider } from "./NoOpAuthProvider.js"; diff --git a/src/management/core/exports.ts b/src/management/core/exports.ts index d6a3f3bc75..701cccfe6d 100644 --- a/src/management/core/exports.ts +++ b/src/management/core/exports.ts @@ -1,2 +1,3 @@ export * from "./pagination/exports.js"; +export * from "./logging/exports.js"; export * from "./file/exports.js"; diff --git a/src/management/core/fetcher/BinaryResponse.ts b/src/management/core/fetcher/BinaryResponse.ts index 4b4d0e891b..bca7f4c779 100644 --- a/src/management/core/fetcher/BinaryResponse.ts +++ b/src/management/core/fetcher/BinaryResponse.ts @@ -1,25 +1,23 @@ -import type { ResponseWithBody } from "./ResponseWithBody.js"; - export type BinaryResponse = { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/bodyUsed) */ - bodyUsed: boolean; + bodyUsed: Response["bodyUsed"]; /** * Returns a ReadableStream of the response body. * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/body) */ - stream: () => ReadableStream; + stream: () => Response["body"]; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/arrayBuffer) */ - arrayBuffer: () => Promise; + arrayBuffer: () => ReturnType; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/blob) */ - blob: () => Promise; + blob: () => ReturnType; /** * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/bytes) * Some versions of the Fetch API may not support this method. */ - bytes?(): Promise; + bytes?(): ReturnType; }; -export function getBinaryResponse(response: ResponseWithBody): BinaryResponse { +export function getBinaryResponse(response: Response): BinaryResponse { const binaryResponse: BinaryResponse = { get bodyUsed() { return response.bodyUsed; diff --git a/src/management/core/fetcher/Fetcher.ts b/src/management/core/fetcher/Fetcher.ts index b9dc3715e5..58bb0e3ef7 100644 --- a/src/management/core/fetcher/Fetcher.ts +++ b/src/management/core/fetcher/Fetcher.ts @@ -1,4 +1,5 @@ import { toJson } from "../json.js"; +import { createLogger, type LogConfig, type Logger } from "../logging/logger.js"; import type { APIResponse } from "./APIResponse.js"; import { createRequestUrl } from "./createRequestUrl.js"; import type { EndpointMetadata } from "./EndpointMetadata.js"; @@ -7,6 +8,7 @@ import { getErrorResponseBody } from "./getErrorResponseBody.js"; import { getFetchFn } from "./getFetchFn.js"; import { getRequestBody } from "./getRequestBody.js"; import { getResponseBody } from "./getResponseBody.js"; +import { Headers } from "./Headers.js"; import { makeRequest } from "./makeRequest.js"; import { abortRawResponse, toRawResponse, unknownRawResponse } from "./RawResponse.js"; import { requestWithRetries } from "./requestWithRetries.js"; @@ -30,9 +32,10 @@ export declare namespace Fetcher { duplex?: "half"; endpointMetadata?: EndpointMetadata; fetchFn?: typeof fetch; + logging?: LogConfig | Logger; } - export type Error = FailedStatusCodeError | NonJsonError | TimeoutError | UnknownError; + export type Error = FailedStatusCodeError | NonJsonError | BodyIsNullError | TimeoutError | UnknownError; export interface FailedStatusCodeError { reason: "status-code"; @@ -46,6 +49,11 @@ export declare namespace Fetcher { rawBody: string; } + export interface BodyIsNullError { + reason: "body-is-null"; + statusCode: number; + } + export interface TimeoutError { reason: "timeout"; } @@ -56,10 +64,164 @@ export declare namespace Fetcher { } } -async function getHeaders(args: Fetcher.Args): Promise> { - const newHeaders: Record = {}; +const SENSITIVE_HEADERS = new Set([ + "authorization", + "www-authenticate", + "x-api-key", + "api-key", + "apikey", + "x-api-token", + "x-auth-token", + "auth-token", + "cookie", + "set-cookie", + "proxy-authorization", + "proxy-authenticate", + "x-csrf-token", + "x-xsrf-token", + "x-session-token", + "x-access-token", +]); + +function redactHeaders(headers: Headers | Record): Record { + const filtered: Record = {}; + for (const [key, value] of headers instanceof Headers ? headers.entries() : Object.entries(headers)) { + if (SENSITIVE_HEADERS.has(key.toLowerCase())) { + filtered[key] = "[REDACTED]"; + } else { + filtered[key] = value; + } + } + return filtered; +} + +const SENSITIVE_QUERY_PARAMS = new Set([ + "api_key", + "api-key", + "apikey", + "token", + "access_token", + "access-token", + "auth_token", + "auth-token", + "password", + "passwd", + "secret", + "api_secret", + "api-secret", + "apisecret", + "key", + "session", + "session_id", + "session-id", +]); + +function redactQueryParameters(queryParameters?: Record): Record | undefined { + if (queryParameters == null) { + return queryParameters; + } + const redacted: Record = {}; + for (const [key, value] of Object.entries(queryParameters)) { + if (SENSITIVE_QUERY_PARAMS.has(key.toLowerCase())) { + redacted[key] = "[REDACTED]"; + } else { + redacted[key] = value; + } + } + return redacted; +} + +function redactUrl(url: string): string { + const protocolIndex = url.indexOf("://"); + if (protocolIndex === -1) return url; + + const afterProtocol = protocolIndex + 3; + + // Find the first delimiter that marks the end of the authority section + const pathStart = url.indexOf("/", afterProtocol); + let queryStart = url.indexOf("?", afterProtocol); + let fragmentStart = url.indexOf("#", afterProtocol); + + const firstDelimiter = Math.min( + pathStart === -1 ? url.length : pathStart, + queryStart === -1 ? url.length : queryStart, + fragmentStart === -1 ? url.length : fragmentStart, + ); + + // Find the LAST @ before the delimiter (handles multiple @ in credentials) + let atIndex = -1; + for (let i = afterProtocol; i < firstDelimiter; i++) { + if (url[i] === "@") { + atIndex = i; + } + } + + if (atIndex !== -1) { + url = `${url.slice(0, afterProtocol)}[REDACTED]@${url.slice(atIndex + 1)}`; + } + + // Recalculate queryStart since url might have changed + queryStart = url.indexOf("?"); + if (queryStart === -1) return url; + + fragmentStart = url.indexOf("#", queryStart); + const queryEnd = fragmentStart !== -1 ? fragmentStart : url.length; + const queryString = url.slice(queryStart + 1, queryEnd); + + if (queryString.length === 0) return url; + + // FAST PATH: Quick check if any sensitive keywords present + // Using indexOf is faster than regex for simple substring matching + const lower = queryString.toLowerCase(); + const hasSensitive = + lower.includes("token") || + lower.includes("key") || + lower.includes("password") || + lower.includes("passwd") || + lower.includes("secret") || + lower.includes("session") || + lower.includes("auth"); + + if (!hasSensitive) { + return url; + } + + // SLOW PATH: Parse and redact + const redactedParams: string[] = []; + const params = queryString.split("&"); + + for (const param of params) { + const equalIndex = param.indexOf("="); + if (equalIndex === -1) { + redactedParams.push(param); + continue; + } + + const key = param.slice(0, equalIndex); + let shouldRedact = SENSITIVE_QUERY_PARAMS.has(key.toLowerCase()); + + if (!shouldRedact && key.includes("%")) { + try { + const decodedKey = decodeURIComponent(key); + shouldRedact = SENSITIVE_QUERY_PARAMS.has(decodedKey.toLowerCase()); + } catch {} + } + + redactedParams.push(shouldRedact ? `${key}=[REDACTED]` : param); + } + + return url.slice(0, queryStart + 1) + redactedParams.join("&") + url.slice(queryEnd); +} + +async function getHeaders(args: Fetcher.Args): Promise { + const newHeaders: Headers = new Headers(); + + newHeaders.set( + "Accept", + args.responseType === "json" ? "application/json" : args.responseType === "text" ? "text/plain" : "*/*", + ); if (args.body !== undefined && args.contentType != null) { - newHeaders["Content-Type"] = args.contentType; + newHeaders.set("Content-Type", args.contentType); } if (args.headers == null) { @@ -69,13 +231,13 @@ async function getHeaders(args: Fetcher.Args): Promise> { for (const [key, value] of Object.entries(args.headers)) { const result = await EndpointSupplier.get(value, { endpointMetadata: args.endpointMetadata ?? {} }); if (typeof result === "string") { - newHeaders[key] = result; + newHeaders.set(key, result); continue; } if (result == null) { continue; } - newHeaders[key] = `${result}`; + newHeaders.set(key, `${result}`); } return newHeaders; } @@ -87,6 +249,19 @@ export async function fetcherImpl(args: Fetcher.Args): Promise(args: Fetcher.Args): Promise(args: Fetcher.Args): Promise= 200 && response.status < 400) { + if (logger.isDebug()) { + const metadata = { + method: args.method, + url: redactUrl(url), + statusCode: response.status, + responseHeaders: redactHeaders(response.headers), + }; + logger.debug("HTTP request succeeded", metadata); + } + const body = await getResponseBody(response, args.responseType); return { ok: true, - body: (await getResponseBody(response, args.responseType)) as R, + body: body as R, headers: response.headers, rawResponse: toRawResponse(response), }; } else { + if (logger.isError()) { + const metadata = { + method: args.method, + url: redactUrl(url), + statusCode: response.status, + responseHeaders: redactHeaders(Object.fromEntries(response.headers.entries())), + }; + logger.error("HTTP request failed with error status", metadata); + } return { ok: false, error: { @@ -124,7 +318,14 @@ export async function fetcherImpl(args: Fetcher.Args): Promise(args: Fetcher.Args): Promise(args: Fetcher.Args): Promise(args: Fetcher.Args): Promise; -}; - -export function isResponseWithBody(response: Response): response is ResponseWithBody { - return (response as ResponseWithBody).body != null; -} diff --git a/src/management/core/fetcher/getResponseBody.ts b/src/management/core/fetcher/getResponseBody.ts index 7ca8b3d2da..711af79e18 100644 --- a/src/management/core/fetcher/getResponseBody.ts +++ b/src/management/core/fetcher/getResponseBody.ts @@ -1,11 +1,7 @@ import { getBinaryResponse } from "./BinaryResponse.js"; -import { isResponseWithBody } from "./ResponseWithBody.js"; import { fromJson } from "../json.js"; export async function getResponseBody(response: Response, responseType?: string): Promise { - if (!isResponseWithBody(response)) { - return undefined; - } switch (responseType) { case "binary-response": return getBinaryResponse(response); @@ -14,8 +10,27 @@ export async function getResponseBody(response: Response, responseType?: string) case "arrayBuffer": return await response.arrayBuffer(); case "sse": + if (response.body == null) { + return { + ok: false, + error: { + reason: "body-is-null", + statusCode: response.status, + }, + }; + } return response.body; case "streaming": + if (response.body == null) { + return { + ok: false, + error: { + reason: "body-is-null", + statusCode: response.status, + }, + }; + } + return response.body; case "text": @@ -26,7 +41,7 @@ export async function getResponseBody(response: Response, responseType?: string) const text = await response.text(); if (text.length > 0) { try { - let responseBody = fromJson(text); + const responseBody = fromJson(text); return responseBody; } catch (err) { return { diff --git a/src/management/core/fetcher/makeRequest.ts b/src/management/core/fetcher/makeRequest.ts index 1a5ffd3c00..921565eb00 100644 --- a/src/management/core/fetcher/makeRequest.ts +++ b/src/management/core/fetcher/makeRequest.ts @@ -4,7 +4,7 @@ export const makeRequest = async ( fetchFn: (url: string, init: RequestInit) => Promise, url: string, method: string, - headers: Record, + headers: Headers | Record, requestBody: BodyInit | undefined, timeoutMs?: number, abortSignal?: AbortSignal, @@ -13,19 +13,17 @@ export const makeRequest = async ( ): Promise => { const signals: AbortSignal[] = []; - // Add timeout signal - let timeoutAbortId: NodeJS.Timeout | undefined = undefined; + let timeoutAbortId: ReturnType | undefined; if (timeoutMs != null) { const { signal, abortId } = getTimeoutSignal(timeoutMs); timeoutAbortId = abortId; signals.push(signal); } - // Add arbitrary signal if (abortSignal != null) { signals.push(abortSignal); } - let newSignals = anySignal(signals); + const newSignals = anySignal(signals); const response = await fetchFn(url, { method: method, headers, diff --git a/src/management/core/fetcher/requestWithRetries.ts b/src/management/core/fetcher/requestWithRetries.ts index 560432ef2f..1f689688c4 100644 --- a/src/management/core/fetcher/requestWithRetries.ts +++ b/src/management/core/fetcher/requestWithRetries.ts @@ -4,30 +4,25 @@ const DEFAULT_MAX_RETRIES = 2; const JITTER_FACTOR = 0.2; // 20% random jitter function addPositiveJitter(delay: number): number { - // Generate a random value between 0 and +JITTER_FACTOR const jitterMultiplier = 1 + Math.random() * JITTER_FACTOR; return delay * jitterMultiplier; } function addSymmetricJitter(delay: number): number { - // Generate a random value in a JITTER_FACTOR-sized percentage range around delay const jitterMultiplier = 1 + (Math.random() - 0.5) * JITTER_FACTOR; return delay * jitterMultiplier; } function getRetryDelayFromHeaders(response: Response, retryAttempt: number): number { - // Check for Retry-After header first (RFC 7231), with no jitter const retryAfter = response.headers.get("Retry-After"); if (retryAfter) { - // Parse as number of seconds... const retryAfterSeconds = parseInt(retryAfter, 10); - if (!isNaN(retryAfterSeconds) && retryAfterSeconds > 0) { + if (!Number.isNaN(retryAfterSeconds) && retryAfterSeconds > 0) { return Math.min(retryAfterSeconds * 1000, MAX_RETRY_DELAY); } - // ...or as an HTTP date; both are valid const retryAfterDate = new Date(retryAfter); - if (!isNaN(retryAfterDate.getTime())) { + if (!Number.isNaN(retryAfterDate.getTime())) { const delay = retryAfterDate.getTime() - Date.now(); if (delay > 0) { return Math.min(Math.max(delay, 0), MAX_RETRY_DELAY); @@ -35,12 +30,10 @@ function getRetryDelayFromHeaders(response: Response, retryAttempt: number): num } } - // Then check for industry-standard X-RateLimit-Reset header, with positive jitter const rateLimitReset = response.headers.get("X-RateLimit-Reset"); if (rateLimitReset) { const resetTime = parseInt(rateLimitReset, 10); - if (!isNaN(resetTime)) { - // Assume Unix timestamp in epoch seconds + if (!Number.isNaN(resetTime)) { const delay = resetTime * 1000 - Date.now(); if (delay > 0) { return addPositiveJitter(Math.min(delay, MAX_RETRY_DELAY)); @@ -48,8 +41,7 @@ function getRetryDelayFromHeaders(response: Response, retryAttempt: number): num } } - // Fall back to exponential backoff, with symmetric jitter - return addSymmetricJitter(Math.min(INITIAL_RETRY_DELAY * Math.pow(2, retryAttempt), MAX_RETRY_DELAY)); + return addSymmetricJitter(Math.min(INITIAL_RETRY_DELAY * 2 ** retryAttempt, MAX_RETRY_DELAY)); } export async function requestWithRetries( @@ -60,7 +52,6 @@ export async function requestWithRetries( for (let i = 0; i < maxRetries; ++i) { if ([408, 429].includes(response.status) || response.status >= 500) { - // Get delay with appropriate jitter applied const delay = getRetryDelayFromHeaders(response, i); await new Promise((resolve) => setTimeout(resolve, delay)); diff --git a/src/management/core/fetcher/signals.ts b/src/management/core/fetcher/signals.ts index a8d32a2e85..7bd3757ec3 100644 --- a/src/management/core/fetcher/signals.ts +++ b/src/management/core/fetcher/signals.ts @@ -1,34 +1,22 @@ const TIMEOUT = "timeout"; -export function getTimeoutSignal(timeoutMs: number): { signal: AbortSignal; abortId: NodeJS.Timeout } { +export function getTimeoutSignal(timeoutMs: number): { signal: AbortSignal; abortId: ReturnType } { const controller = new AbortController(); const abortId = setTimeout(() => controller.abort(TIMEOUT), timeoutMs); return { signal: controller.signal, abortId }; } -/** - * Returns an abort signal that is getting aborted when - * at least one of the specified abort signals is aborted. - * - * Requires at least node.js 18. - */ export function anySignal(...args: AbortSignal[] | [AbortSignal[]]): AbortSignal { - // Allowing signals to be passed either as array - // of signals or as multiple arguments. const signals = (args.length === 1 && Array.isArray(args[0]) ? args[0] : args) as AbortSignal[]; const controller = new AbortController(); for (const signal of signals) { if (signal.aborted) { - // Exiting early if one of the signals - // is already aborted. controller.abort((signal as any)?.reason); break; } - // Listening for signals and removing the listeners - // when at least one symbol is aborted. signal.addEventListener("abort", () => controller.abort((signal as any)?.reason), { signal: controller.signal, }); diff --git a/src/management/core/index.ts b/src/management/core/index.ts index 6cf9ad3bf9..fb7373b267 100644 --- a/src/management/core/index.ts +++ b/src/management/core/index.ts @@ -1,4 +1,5 @@ export * from "./fetcher/index.js"; +export * as logging from "./logging/index.js"; export * from "./runtime/index.js"; export * as url from "./url/index.js"; export * from "./auth/index.js"; diff --git a/src/management/core/logging/exports.ts b/src/management/core/logging/exports.ts new file mode 100644 index 0000000000..88f6c00db0 --- /dev/null +++ b/src/management/core/logging/exports.ts @@ -0,0 +1,19 @@ +import * as logger from "./logger.js"; + +export namespace logging { + /** + * Configuration for logger instances. + */ + export type LogConfig = logger.LogConfig; + export type LogLevel = logger.LogLevel; + export const LogLevel: typeof logger.LogLevel = logger.LogLevel; + export type ILogger = logger.ILogger; + /** + * Console logger implementation that outputs to the console. + */ + export type ConsoleLogger = logger.ConsoleLogger; + /** + * Console logger implementation that outputs to the console. + */ + export const ConsoleLogger: typeof logger.ConsoleLogger = logger.ConsoleLogger; +} diff --git a/src/management/core/logging/index.ts b/src/management/core/logging/index.ts new file mode 100644 index 0000000000..d81cc32c40 --- /dev/null +++ b/src/management/core/logging/index.ts @@ -0,0 +1 @@ +export * from "./logger.js"; diff --git a/src/management/core/logging/logger.ts b/src/management/core/logging/logger.ts new file mode 100644 index 0000000000..a3f3673cda --- /dev/null +++ b/src/management/core/logging/logger.ts @@ -0,0 +1,203 @@ +export const LogLevel = { + Debug: "debug", + Info: "info", + Warn: "warn", + Error: "error", +} as const; +export type LogLevel = (typeof LogLevel)[keyof typeof LogLevel]; +const logLevelMap: Record = { + [LogLevel.Debug]: 1, + [LogLevel.Info]: 2, + [LogLevel.Warn]: 3, + [LogLevel.Error]: 4, +}; + +export interface ILogger { + /** + * Logs a debug message. + * @param message - The message to log + * @param args - Additional arguments to log + */ + debug(message: string, ...args: unknown[]): void; + /** + * Logs an info message. + * @param message - The message to log + * @param args - Additional arguments to log + */ + info(message: string, ...args: unknown[]): void; + /** + * Logs a warning message. + * @param message - The message to log + * @param args - Additional arguments to log + */ + warn(message: string, ...args: unknown[]): void; + /** + * Logs an error message. + * @param message - The message to log + * @param args - Additional arguments to log + */ + error(message: string, ...args: unknown[]): void; +} + +/** + * Configuration for logger initialization. + */ +export interface LogConfig { + /** + * Minimum log level to output. + * @default LogLevel.Info + */ + level?: LogLevel; + /** + * Logger implementation to use. + * @default new ConsoleLogger() + */ + logger?: ILogger; + /** + * Whether logging should be silenced. + * @default true + */ + silent?: boolean; +} + +/** + * Default console-based logger implementation. + */ +export class ConsoleLogger implements ILogger { + debug(message: string, ...args: unknown[]): void { + console.debug(message, ...args); + } + info(message: string, ...args: unknown[]): void { + console.info(message, ...args); + } + warn(message: string, ...args: unknown[]): void { + console.warn(message, ...args); + } + error(message: string, ...args: unknown[]): void { + console.error(message, ...args); + } +} + +/** + * Logger class that provides level-based logging functionality. + */ +export class Logger { + private readonly level: number; + private readonly logger: ILogger; + private readonly silent: boolean; + + /** + * Creates a new logger instance. + * @param config - Logger configuration + */ + constructor(config: Required) { + this.level = logLevelMap[config.level]; + this.logger = config.logger; + this.silent = config.silent; + } + + /** + * Checks if a log level should be output based on configuration. + * @param level - The log level to check + * @returns True if the level should be logged + */ + public shouldLog(level: LogLevel): boolean { + return !this.silent && this.level <= logLevelMap[level]; + } + + /** + * Checks if debug logging is enabled. + * @returns True if debug logs should be output + */ + public isDebug(): boolean { + return this.shouldLog(LogLevel.Debug); + } + + /** + * Logs a debug message if debug logging is enabled. + * @param message - The message to log + * @param args - Additional arguments to log + */ + public debug(message: string, ...args: unknown[]): void { + if (this.isDebug()) { + this.logger.debug(message, ...args); + } + } + + /** + * Checks if info logging is enabled. + * @returns True if info logs should be output + */ + public isInfo(): boolean { + return this.shouldLog(LogLevel.Info); + } + + /** + * Logs an info message if info logging is enabled. + * @param message - The message to log + * @param args - Additional arguments to log + */ + public info(message: string, ...args: unknown[]): void { + if (this.isInfo()) { + this.logger.info(message, ...args); + } + } + + /** + * Checks if warning logging is enabled. + * @returns True if warning logs should be output + */ + public isWarn(): boolean { + return this.shouldLog(LogLevel.Warn); + } + + /** + * Logs a warning message if warning logging is enabled. + * @param message - The message to log + * @param args - Additional arguments to log + */ + public warn(message: string, ...args: unknown[]): void { + if (this.isWarn()) { + this.logger.warn(message, ...args); + } + } + + /** + * Checks if error logging is enabled. + * @returns True if error logs should be output + */ + public isError(): boolean { + return this.shouldLog(LogLevel.Error); + } + + /** + * Logs an error message if error logging is enabled. + * @param message - The message to log + * @param args - Additional arguments to log + */ + public error(message: string, ...args: unknown[]): void { + if (this.isError()) { + this.logger.error(message, ...args); + } + } +} + +export function createLogger(config?: LogConfig | Logger): Logger { + if (config == null) { + return defaultLogger; + } + if (config instanceof Logger) { + return config; + } + config = config ?? {}; + config.level ??= LogLevel.Info; + config.logger ??= new ConsoleLogger(); + config.silent ??= true; + return new Logger(config as Required); +} + +const defaultLogger: Logger = new Logger({ + level: LogLevel.Info, + logger: new ConsoleLogger(), + silent: true, +}); diff --git a/src/management/core/runtime/runtime.ts b/src/management/core/runtime/runtime.ts index 08fd2563f9..56ebbb87c4 100644 --- a/src/management/core/runtime/runtime.ts +++ b/src/management/core/runtime/runtime.ts @@ -99,6 +99,18 @@ function evaluateRuntime(): Runtime { }; } + /** + * A constant that indicates whether the environment the code is running is in React-Native. + * This check should come before Node.js detection since React Native may have a process polyfill. + * https://github.com/facebook/react-native/blob/main/packages/react-native/Libraries/Core/setUpNavigator.js + */ + const isReactNative = typeof navigator !== "undefined" && navigator?.product === "ReactNative"; + if (isReactNative) { + return { + type: "react-native", + }; + } + /** * A constant that indicates whether the environment the code is running is Node.JS. */ @@ -116,17 +128,6 @@ function evaluateRuntime(): Runtime { }; } - /** - * A constant that indicates whether the environment the code is running is in React-Native. - * https://github.com/facebook/react-native/blob/main/packages/react-native/Libraries/Core/setUpNavigator.js - */ - const isReactNative = typeof navigator !== "undefined" && navigator?.product === "ReactNative"; - if (isReactNative) { - return { - type: "react-native", - }; - } - return { type: "unknown", }; diff --git a/src/management/core/url/join.ts b/src/management/core/url/join.ts index 200426be8c..7ca7daef09 100644 --- a/src/management/core/url/join.ts +++ b/src/management/core/url/join.ts @@ -12,12 +12,11 @@ export function join(base: string, ...segments: string[]): string { try { url = new URL(base); } catch { - // Fallback to path joining if URL is malformed return joinPath(base, ...segments); } const lastSegment = segments[segments.length - 1]; - const shouldPreserveTrailingSlash = lastSegment && lastSegment.endsWith("/"); + const shouldPreserveTrailingSlash = lastSegment?.endsWith("/"); for (const segment of segments) { const cleanSegment = trimSlashes(segment); @@ -44,7 +43,7 @@ function joinPath(base: string, ...segments: string[]): string { let result = base; const lastSegment = segments[segments.length - 1]; - const shouldPreserveTrailingSlash = lastSegment && lastSegment.endsWith("/"); + const shouldPreserveTrailingSlash = lastSegment?.endsWith("/"); for (const segment of segments) { const cleanSegment = trimSlashes(segment); @@ -64,7 +63,7 @@ function joinPathSegments(left: string, right: string): string { if (left.endsWith("/")) { return left + right; } - return left + "/" + right; + return `${left}/${right}`; } function trimSlashes(str: string): string { diff --git a/src/management/errors/ManagementError.ts b/src/management/errors/ManagementError.ts index 05fd573da4..db8e0cc6dc 100644 --- a/src/management/errors/ManagementError.ts +++ b/src/management/errors/ManagementError.ts @@ -20,7 +20,12 @@ export class ManagementError extends Error { rawResponse?: core.RawResponse; }) { super(buildMessage({ message, statusCode, body })); - Object.setPrototypeOf(this, ManagementError.prototype); + Object.setPrototypeOf(this, new.target.prototype); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = this.constructor.name; this.statusCode = statusCode; this.body = body; this.rawResponse = rawResponse; diff --git a/src/management/errors/ManagementTimeoutError.ts b/src/management/errors/ManagementTimeoutError.ts index 6080ec03b9..a90c5c38ba 100644 --- a/src/management/errors/ManagementTimeoutError.ts +++ b/src/management/errors/ManagementTimeoutError.ts @@ -3,6 +3,11 @@ export class ManagementTimeoutError extends Error { constructor(message: string) { super(message); - Object.setPrototypeOf(this, ManagementTimeoutError.prototype); + Object.setPrototypeOf(this, new.target.prototype); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = this.constructor.name; } } diff --git a/src/management/errors/handleNonStatusCodeError.ts b/src/management/errors/handleNonStatusCodeError.ts new file mode 100644 index 0000000000..592a039800 --- /dev/null +++ b/src/management/errors/handleNonStatusCodeError.ts @@ -0,0 +1,37 @@ +// This file was auto-generated by Fern from our API Definition. + +import * as core from "../core/index.js"; +import * as errors from "./index.js"; + +export function handleNonStatusCodeError( + error: core.Fetcher.Error, + rawResponse: core.RawResponse, + method: string, + path: string, +): never { + switch (error.reason) { + case "non-json": + throw new errors.ManagementError({ + statusCode: error.statusCode, + body: error.rawBody, + rawResponse: rawResponse, + }); + case "body-is-null": + throw new errors.ManagementError({ + statusCode: error.statusCode, + rawResponse: rawResponse, + }); + case "timeout": + throw new errors.ManagementTimeoutError(`Timeout exceeded when calling ${method} ${path}.`); + case "unknown": + throw new errors.ManagementError({ + message: error.errorMessage, + rawResponse: rawResponse, + }); + default: + throw new errors.ManagementError({ + message: "Unknown error", + rawResponse: rawResponse, + }); + } +} diff --git a/src/management/tests/mock-server/MockServer.ts b/src/management/tests/mock-server/MockServer.ts index 6e258f1724..2c07a57bde 100644 --- a/src/management/tests/mock-server/MockServer.ts +++ b/src/management/tests/mock-server/MockServer.ts @@ -19,7 +19,7 @@ export class MockServer { public mockEndpoint(options?: RequestHandlerOptions): ReturnType { const builder = mockEndpointBuilder({ - once: options?.once, + once: options?.once ?? true, onBuild: (handler) => { this.server.use(handler); }, diff --git a/src/management/tests/setup.ts b/src/management/tests/setup.ts new file mode 100644 index 0000000000..680480f431 --- /dev/null +++ b/src/management/tests/setup.ts @@ -0,0 +1,97 @@ +expect.extend({ + toContainHeaders(this: jest.MatcherContext, actual: unknown, expectedHeaders: Record) { + const isHeaders = actual instanceof Headers; + const isPlainObject = typeof actual === "object" && actual !== null && !Array.isArray(actual); + + if (!isHeaders && !isPlainObject) { + throw new TypeError("Received value must be an instance of Headers or a plain object!"); + } + + if (typeof expectedHeaders !== "object" || expectedHeaders === null || Array.isArray(expectedHeaders)) { + throw new TypeError("Expected headers must be a plain object!"); + } + + const missingHeaders: string[] = []; + const mismatchedHeaders: Array<{ key: string; expected: string; actual: string | null }> = []; + + // Create a map of lowercase header keys to actual values for case-insensitive lookup + const actualHeadersMap = new Map(); + + if (isHeaders) { + for (const [key, value] of (actual as Headers).entries()) { + actualHeadersMap.set(key.toLowerCase(), value); + } + } else { + for (const [key, value] of Object.entries(actual as Record)) { + actualHeadersMap.set(key.toLowerCase(), value); + } + } + + for (const [key, value] of Object.entries(expectedHeaders)) { + const lowerKey = key.toLowerCase(); + const actualValue = actualHeadersMap.get(lowerKey) ?? null; + + if (actualValue === null || actualValue === undefined) { + missingHeaders.push(key); + } else if (actualValue !== value) { + mismatchedHeaders.push({ key, expected: value, actual: actualValue }); + } + } + + const pass = missingHeaders.length === 0 && mismatchedHeaders.length === 0; + const actualType = isHeaders ? "Headers" : "object"; + + if (pass) { + return { + message: () => + "expected " + actualType + " not to contain " + this.utils.printExpected(expectedHeaders), + pass: true, + }; + } else { + const messages: string[] = []; + + if (missingHeaders.length > 0) { + messages.push("Missing headers: " + this.utils.printExpected(missingHeaders.join(", "))); + } + + if (mismatchedHeaders.length > 0) { + const mismatches = mismatchedHeaders.map( + ({ key, expected, actual }) => + key + + ": expected " + + this.utils.printExpected(expected) + + " but got " + + this.utils.printReceived(actual), + ); + messages.push(mismatches.join("\n")); + } + + return { + message: () => + "expected " + + actualType + + " to contain " + + this.utils.printExpected(expectedHeaders) + + "\n\n" + + messages.join("\n"), + pass: false, + }; + } + }, +}); + +declare global { + namespace jest { + interface Matchers { + toContainHeaders(expectedHeaders: Record): R; + } + interface Expect { + toContainHeaders(expectedHeaders: Record): any; + } + interface InverseAsymmetricMatchers { + toContainHeaders(expectedHeaders: Record): any; + } + } +} + +export {}; diff --git a/src/management/tests/unit/auth/BasicAuth.test.ts b/src/management/tests/unit/auth/BasicAuth.test.ts index 0539f0d9cc..c048dbfa62 100644 --- a/src/management/tests/unit/auth/BasicAuth.test.ts +++ b/src/management/tests/unit/auth/BasicAuth.test.ts @@ -1,58 +1,92 @@ import { BasicAuth } from "../../../../../src/management/core/auth/BasicAuth"; describe("BasicAuth", () => { - describe("toAuthorizationHeader", () => { - it("correctly converts to header", () => { - expect( - BasicAuth.toAuthorizationHeader({ - username: "username", - password: "password", - }), - ).toBe("Basic dXNlcm5hbWU6cGFzc3dvcmQ="); - }); - }); - describe("fromAuthorizationHeader", () => { - it("correctly parses header", () => { - expect(BasicAuth.fromAuthorizationHeader("Basic dXNlcm5hbWU6cGFzc3dvcmQ=")).toEqual({ - username: "username", - password: "password", - }); - }); + interface ToHeaderTestCase { + description: string; + input: { username: string; password: string }; + expected: string; + } - it("handles password with colons", () => { - expect(BasicAuth.fromAuthorizationHeader("Basic dXNlcjpwYXNzOndvcmQ=")).toEqual({ - username: "user", - password: "pass:word", - }); - }); + interface FromHeaderTestCase { + description: string; + input: string; + expected: { username: string; password: string }; + } - it("handles empty username and password (just colon)", () => { - expect(BasicAuth.fromAuthorizationHeader("Basic Og==")).toEqual({ - username: "", - password: "", - }); - }); + interface ErrorTestCase { + description: string; + input: string; + expectedError: string; + } + + describe("toAuthorizationHeader", () => { + const toHeaderTests: ToHeaderTestCase[] = [ + { + description: "correctly converts to header", + input: { username: "username", password: "password" }, + expected: "Basic dXNlcm5hbWU6cGFzc3dvcmQ=", + }, + ]; - it("handles empty username", () => { - expect(BasicAuth.fromAuthorizationHeader("Basic OnBhc3N3b3Jk")).toEqual({ - username: "", - password: "password", + toHeaderTests.forEach(({ description, input, expected }) => { + it(description, () => { + expect(BasicAuth.toAuthorizationHeader(input)).toBe(expected); }); }); + }); - it("handles empty password", () => { - expect(BasicAuth.fromAuthorizationHeader("Basic dXNlcm5hbWU6")).toEqual({ - username: "username", - password: "", + describe("fromAuthorizationHeader", () => { + const fromHeaderTests: FromHeaderTestCase[] = [ + { + description: "correctly parses header", + input: "Basic dXNlcm5hbWU6cGFzc3dvcmQ=", + expected: { username: "username", password: "password" }, + }, + { + description: "handles password with colons", + input: "Basic dXNlcjpwYXNzOndvcmQ=", + expected: { username: "user", password: "pass:word" }, + }, + { + description: "handles empty username and password (just colon)", + input: "Basic Og==", + expected: { username: "", password: "" }, + }, + { + description: "handles empty username", + input: "Basic OnBhc3N3b3Jk", + expected: { username: "", password: "password" }, + }, + { + description: "handles empty password", + input: "Basic dXNlcm5hbWU6", + expected: { username: "username", password: "" }, + }, + ]; + + fromHeaderTests.forEach(({ description, input, expected }) => { + it(description, () => { + expect(BasicAuth.fromAuthorizationHeader(input)).toEqual(expected); }); }); - it("throws error for completely empty credentials", () => { - expect(() => BasicAuth.fromAuthorizationHeader("Basic ")).toThrow("Invalid basic auth"); - }); + const errorTests: ErrorTestCase[] = [ + { + description: "throws error for completely empty credentials", + input: "Basic ", + expectedError: "Invalid basic auth", + }, + { + description: "throws error for credentials without colon", + input: "Basic dXNlcm5hbWU=", + expectedError: "Invalid basic auth", + }, + ]; - it("throws error for credentials without colon", () => { - expect(() => BasicAuth.fromAuthorizationHeader("Basic dXNlcm5hbWU=")).toThrow("Invalid basic auth"); + errorTests.forEach(({ description, input, expectedError }) => { + it(description, () => { + expect(() => BasicAuth.fromAuthorizationHeader(input)).toThrow(expectedError); + }); }); }); }); diff --git a/src/management/tests/unit/fetcher/Fetcher.test.ts b/src/management/tests/unit/fetcher/Fetcher.test.ts index c0d9c62fc9..21034975cb 100644 --- a/src/management/tests/unit/fetcher/Fetcher.test.ts +++ b/src/management/tests/unit/fetcher/Fetcher.test.ts @@ -1,9 +1,8 @@ import fs from "fs"; -import stream from "stream"; import { join } from "path"; - -import { Fetcher, fetcherImpl } from "../../../../../src/management/core/fetcher/Fetcher"; +import stream from "stream"; import type { BinaryResponse } from "../../../../../src/management/core"; +import { type Fetcher, fetcherImpl } from "../../../../../src/management/core/fetcher/Fetcher"; describe("Test fetcherImpl", () => { it("should handle successful request", async () => { @@ -14,6 +13,7 @@ describe("Test fetcherImpl", () => { body: { data: "test" }, contentType: "application/json", requestType: "json", + maxRetries: 0, responseType: "json", }; @@ -34,7 +34,7 @@ describe("Test fetcherImpl", () => { "https://httpbin.org/post", expect.objectContaining({ method: "POST", - headers: expect.objectContaining({ "X-Test": "x-test-header" }), + headers: expect.toContainHeaders({ "X-Test": "x-test-header" }), body: JSON.stringify({ data: "test" }), }), ); @@ -48,6 +48,7 @@ describe("Test fetcherImpl", () => { headers: { "X-Test": "x-test-header" }, contentType: "application/octet-stream", requestType: "bytes", + maxRetries: 0, responseType: "json", body: fs.createReadStream(join(__dirname, "test-file.txt")), }; @@ -65,7 +66,7 @@ describe("Test fetcherImpl", () => { url, expect.objectContaining({ method: "POST", - headers: expect.objectContaining({ "X-Test": "x-test-header" }), + headers: expect.toContainHeaders({ "X-Test": "x-test-header" }), body: expect.any(fs.ReadStream), }), ); @@ -81,6 +82,7 @@ describe("Test fetcherImpl", () => { url, method: "GET", headers: { "X-Test": "x-test-header" }, + maxRetries: 0, responseType: "binary-response", }; @@ -100,7 +102,7 @@ describe("Test fetcherImpl", () => { url, expect.objectContaining({ method: "GET", - headers: expect.objectContaining({ "X-Test": "x-test-header" }), + headers: expect.toContainHeaders({ "X-Test": "x-test-header" }), }), ); expect(result.ok).toBe(true); @@ -111,7 +113,8 @@ describe("Test fetcherImpl", () => { expect(typeof body.stream).toBe("function"); const stream = body.stream(); expect(stream).toBeInstanceOf(ReadableStream); - const reader = stream.getReader(); + const readableStream = stream as ReadableStream; + const reader = readableStream.getReader(); const { value } = await reader.read(); const decoder = new TextDecoder(); const streamContent = decoder.decode(value); @@ -126,6 +129,7 @@ describe("Test fetcherImpl", () => { url, method: "GET", headers: { "X-Test": "x-test-header" }, + maxRetries: 0, responseType: "binary-response", }; @@ -145,7 +149,7 @@ describe("Test fetcherImpl", () => { url, expect.objectContaining({ method: "GET", - headers: expect.objectContaining({ "X-Test": "x-test-header" }), + headers: expect.toContainHeaders({ "X-Test": "x-test-header" }), }), ); expect(result.ok).toBe(true); @@ -171,6 +175,7 @@ describe("Test fetcherImpl", () => { url, method: "GET", headers: { "X-Test": "x-test-header" }, + maxRetries: 0, responseType: "binary-response", }; @@ -190,7 +195,7 @@ describe("Test fetcherImpl", () => { url, expect.objectContaining({ method: "GET", - headers: expect.objectContaining({ "X-Test": "x-test-header" }), + headers: expect.toContainHeaders({ "X-Test": "x-test-header" }), }), ); expect(result.ok).toBe(true); @@ -214,6 +219,7 @@ describe("Test fetcherImpl", () => { url, method: "GET", headers: { "X-Test": "x-test-header" }, + maxRetries: 0, responseType: "binary-response", }; @@ -233,7 +239,7 @@ describe("Test fetcherImpl", () => { url, expect.objectContaining({ method: "GET", - headers: expect.objectContaining({ "X-Test": "x-test-header" }), + headers: expect.toContainHeaders({ "X-Test": "x-test-header" }), }), ); expect(result.ok).toBe(true); diff --git a/src/management/tests/unit/fetcher/createRequestUrl.test.ts b/src/management/tests/unit/fetcher/createRequestUrl.test.ts index defbb8c77d..a4fa804914 100644 --- a/src/management/tests/unit/fetcher/createRequestUrl.test.ts +++ b/src/management/tests/unit/fetcher/createRequestUrl.test.ts @@ -1,160 +1,163 @@ import { createRequestUrl } from "../../../../../src/management/core/fetcher/createRequestUrl"; describe("Test createRequestUrl", () => { - it("should return the base URL when no query parameters are provided", () => { - const baseUrl = "https://api.example.com"; - expect(createRequestUrl(baseUrl)).toBe(baseUrl); - }); - - it("should append simple query parameters", () => { - const baseUrl = "https://api.example.com"; - const queryParams = { key: "value", another: "param" }; - expect(createRequestUrl(baseUrl, queryParams)).toBe("https://api.example.com?key=value&another=param"); - }); - - it("should handle array query parameters", () => { - const baseUrl = "https://api.example.com"; - const queryParams = { items: ["a", "b", "c"] }; - expect(createRequestUrl(baseUrl, queryParams)).toBe("https://api.example.com?items=a&items=b&items=c"); - }); - - it("should handle object query parameters", () => { - const baseUrl = "https://api.example.com"; - const queryParams = { filter: { name: "John", age: 30 } }; - expect(createRequestUrl(baseUrl, queryParams)).toBe( - "https://api.example.com?filter%5Bname%5D=John&filter%5Bage%5D=30", - ); - }); - - it("should handle mixed types of query parameters", () => { - const baseUrl = "https://api.example.com"; - const queryParams = { - simple: "value", - array: ["x", "y"], - object: { key: "value" }, - }; - expect(createRequestUrl(baseUrl, queryParams)).toBe( - "https://api.example.com?simple=value&array=x&array=y&object%5Bkey%5D=value", - ); - }); - - it("should handle empty query parameters object", () => { - const baseUrl = "https://api.example.com"; - expect(createRequestUrl(baseUrl, {})).toBe(baseUrl); - }); - - it("should encode special characters in query parameters", () => { - const baseUrl = "https://api.example.com"; - const queryParams = { special: "a&b=c d" }; - expect(createRequestUrl(baseUrl, queryParams)).toBe("https://api.example.com?special=a%26b%3Dc%20d"); - }); - - // Additional src/management/tests for edge cases and different value types - it("should handle numeric values", () => { - const baseUrl = "https://api.example.com"; - const queryParams = { count: 42, price: 19.99, active: 1, inactive: 0 }; - expect(createRequestUrl(baseUrl, queryParams)).toBe( - "https://api.example.com?count=42&price=19.99&active=1&inactive=0", - ); - }); - - it("should handle boolean values", () => { - const baseUrl = "https://api.example.com"; - const queryParams = { enabled: true, disabled: false }; - expect(createRequestUrl(baseUrl, queryParams)).toBe("https://api.example.com?enabled=true&disabled=false"); - }); - - it("should handle null and undefined values", () => { - const baseUrl = "https://api.example.com"; - const queryParams = { - valid: "value", - nullValue: null, - undefinedValue: undefined, - emptyString: "", - }; - expect(createRequestUrl(baseUrl, queryParams)).toBe( - "https://api.example.com?valid=value&nullValue=&emptyString=", - ); - }); - - it("should handle deeply nested objects", () => { - const baseUrl = "https://api.example.com"; - const queryParams = { - user: { - profile: { - name: "John", - settings: { theme: "dark" }, + const BASE_URL = "https://api.example.com"; + + interface TestCase { + description: string; + baseUrl: string; + queryParams?: Record; + expected: string; + } + + const testCases: TestCase[] = [ + { + description: "should return the base URL when no query parameters are provided", + baseUrl: BASE_URL, + expected: BASE_URL, + }, + { + description: "should append simple query parameters", + baseUrl: BASE_URL, + queryParams: { key: "value", another: "param" }, + expected: "https://api.example.com?key=value&another=param", + }, + { + description: "should handle array query parameters", + baseUrl: BASE_URL, + queryParams: { items: ["a", "b", "c"] }, + expected: "https://api.example.com?items=a&items=b&items=c", + }, + { + description: "should handle object query parameters", + baseUrl: BASE_URL, + queryParams: { filter: { name: "John", age: 30 } }, + expected: "https://api.example.com?filter%5Bname%5D=John&filter%5Bage%5D=30", + }, + { + description: "should handle mixed types of query parameters", + baseUrl: BASE_URL, + queryParams: { + simple: "value", + array: ["x", "y"], + object: { key: "value" }, + }, + expected: "https://api.example.com?simple=value&array=x&array=y&object%5Bkey%5D=value", + }, + { + description: "should handle empty query parameters object", + baseUrl: BASE_URL, + queryParams: {}, + expected: BASE_URL, + }, + { + description: "should encode special characters in query parameters", + baseUrl: BASE_URL, + queryParams: { special: "a&b=c d" }, + expected: "https://api.example.com?special=a%26b%3Dc%20d", + }, + { + description: "should handle numeric values", + baseUrl: BASE_URL, + queryParams: { count: 42, price: 19.99, active: 1, inactive: 0 }, + expected: "https://api.example.com?count=42&price=19.99&active=1&inactive=0", + }, + { + description: "should handle boolean values", + baseUrl: BASE_URL, + queryParams: { enabled: true, disabled: false }, + expected: "https://api.example.com?enabled=true&disabled=false", + }, + { + description: "should handle null and undefined values", + baseUrl: BASE_URL, + queryParams: { + valid: "value", + nullValue: null, + undefinedValue: undefined, + emptyString: "", + }, + expected: "https://api.example.com?valid=value&nullValue=&emptyString=", + }, + { + description: "should handle deeply nested objects", + baseUrl: BASE_URL, + queryParams: { + user: { + profile: { + name: "John", + settings: { theme: "dark" }, + }, }, }, - }; - expect(createRequestUrl(baseUrl, queryParams)).toBe( - "https://api.example.com?user%5Bprofile%5D%5Bname%5D=John&user%5Bprofile%5D%5Bsettings%5D%5Btheme%5D=dark", - ); - }); - - it("should handle arrays of objects", () => { - const baseUrl = "https://api.example.com"; - const queryParams = { - users: [ - { name: "John", age: 30 }, - { name: "Jane", age: 25 }, - ], - }; - expect(createRequestUrl(baseUrl, queryParams)).toBe( - "https://api.example.com?users%5Bname%5D=John&users%5Bage%5D=30&users%5Bname%5D=Jane&users%5Bage%5D=25", - ); - }); - - it("should handle mixed arrays", () => { - const baseUrl = "https://api.example.com"; - const queryParams = { - mixed: ["string", 42, true, { key: "value" }], - }; - expect(createRequestUrl(baseUrl, queryParams)).toBe( - "https://api.example.com?mixed=string&mixed=42&mixed=true&mixed%5Bkey%5D=value", - ); - }); - - it("should handle empty arrays", () => { - const baseUrl = "https://api.example.com"; - const queryParams = { emptyArray: [] }; - expect(createRequestUrl(baseUrl, queryParams)).toBe(baseUrl); - }); - - it("should handle empty objects", () => { - const baseUrl = "https://api.example.com"; - const queryParams = { emptyObject: {} }; - expect(createRequestUrl(baseUrl, queryParams)).toBe(baseUrl); - }); - - it("should handle special characters in keys", () => { - const baseUrl = "https://api.example.com"; - const queryParams = { "key with spaces": "value", "key[with]brackets": "value" }; - expect(createRequestUrl(baseUrl, queryParams)).toBe( - "https://api.example.com?key%20with%20spaces=value&key%5Bwith%5Dbrackets=value", - ); - }); - - it("should handle URL with existing query parameters", () => { - const baseUrl = "https://api.example.com?existing=param"; - const queryParams = { new: "value" }; - expect(createRequestUrl(baseUrl, queryParams)).toBe("https://api.example.com?existing=param?new=value"); - }); - - it("should handle complex nested structures", () => { - const baseUrl = "https://api.example.com"; - const queryParams = { - filters: { - status: ["active", "pending"], - category: { - type: "electronics", - subcategories: ["phones", "laptops"], + expected: + "https://api.example.com?user%5Bprofile%5D%5Bname%5D=John&user%5Bprofile%5D%5Bsettings%5D%5Btheme%5D=dark", + }, + { + description: "should handle arrays of objects", + baseUrl: BASE_URL, + queryParams: { + users: [ + { name: "John", age: 30 }, + { name: "Jane", age: 25 }, + ], + }, + expected: + "https://api.example.com?users%5Bname%5D=John&users%5Bage%5D=30&users%5Bname%5D=Jane&users%5Bage%5D=25", + }, + { + description: "should handle mixed arrays", + baseUrl: BASE_URL, + queryParams: { + mixed: ["string", 42, true, { key: "value" }], + }, + expected: "https://api.example.com?mixed=string&mixed=42&mixed=true&mixed%5Bkey%5D=value", + }, + { + description: "should handle empty arrays", + baseUrl: BASE_URL, + queryParams: { emptyArray: [] }, + expected: BASE_URL, + }, + { + description: "should handle empty objects", + baseUrl: BASE_URL, + queryParams: { emptyObject: {} }, + expected: BASE_URL, + }, + { + description: "should handle special characters in keys", + baseUrl: BASE_URL, + queryParams: { "key with spaces": "value", "key[with]brackets": "value" }, + expected: "https://api.example.com?key%20with%20spaces=value&key%5Bwith%5Dbrackets=value", + }, + { + description: "should handle URL with existing query parameters", + baseUrl: "https://api.example.com?existing=param", + queryParams: { new: "value" }, + expected: "https://api.example.com?existing=param?new=value", + }, + { + description: "should handle complex nested structures", + baseUrl: BASE_URL, + queryParams: { + filters: { + status: ["active", "pending"], + category: { + type: "electronics", + subcategories: ["phones", "laptops"], + }, }, + sort: { field: "name", direction: "asc" }, }, - sort: { field: "name", direction: "asc" }, - }; - expect(createRequestUrl(baseUrl, queryParams)).toBe( - "https://api.example.com?filters%5Bstatus%5D=active&filters%5Bstatus%5D=pending&filters%5Bcategory%5D%5Btype%5D=electronics&filters%5Bcategory%5D%5Bsubcategories%5D=phones&filters%5Bcategory%5D%5Bsubcategories%5D=laptops&sort%5Bfield%5D=name&sort%5Bdirection%5D=asc", - ); + expected: + "https://api.example.com?filters%5Bstatus%5D=active&filters%5Bstatus%5D=pending&filters%5Bcategory%5D%5Btype%5D=electronics&filters%5Bcategory%5D%5Bsubcategories%5D=phones&filters%5Bcategory%5D%5Bsubcategories%5D=laptops&sort%5Bfield%5D=name&sort%5Bdirection%5D=asc", + }, + ]; + + testCases.forEach(({ description, baseUrl, queryParams, expected }) => { + it(description, () => { + expect(createRequestUrl(baseUrl, queryParams)).toBe(expected); + }); }); }); diff --git a/src/management/tests/unit/fetcher/getRequestBody.test.ts b/src/management/tests/unit/fetcher/getRequestBody.test.ts index 7348c147b5..ceed7fea04 100644 --- a/src/management/tests/unit/fetcher/getRequestBody.test.ts +++ b/src/management/tests/unit/fetcher/getRequestBody.test.ts @@ -2,89 +2,70 @@ import { getRequestBody } from "../../../../../src/management/core/fetcher/getRe import { RUNTIME } from "../../../../../src/management/core/runtime"; describe("Test getRequestBody", () => { - it("should stringify body if not FormData in Node environment", async () => { - if (RUNTIME.type === "node") { - const body = { key: "value" }; - const result = await getRequestBody({ - body, - type: "json", - }); - expect(result).toBe('{"key":"value"}'); - } - }); + interface TestCase { + description: string; + input: any; + type: "json" | "form" | "file" | "bytes" | "other"; + expected: any; + skipCondition?: () => boolean; + } - it("should return FormData in browser environment", async () => { - if (RUNTIME.type === "browser") { - const formData = new FormData(); - formData.append("key", "value"); - const result = await getRequestBody({ - body: formData, - type: "file", - }); - expect(result).toBe(formData); - } - }); - - it("should stringify body if not FormData in browser environment", async () => { - if (RUNTIME.type === "browser") { - const body = { key: "value" }; - const result = await getRequestBody({ - body, - type: "json", - }); - expect(result).toBe('{"key":"value"}'); - } - }); - - it("should return the Uint8Array", async () => { - const input = new Uint8Array([1, 2, 3]); - const result = await getRequestBody({ - body: input, + const testCases: TestCase[] = [ + { + description: "should stringify body if not FormData in Node environment", + input: { key: "value" }, + type: "json", + expected: '{"key":"value"}', + skipCondition: () => RUNTIME.type !== "node", + }, + { + description: "should stringify body if not FormData in browser environment", + input: { key: "value" }, + type: "json", + expected: '{"key":"value"}', + skipCondition: () => RUNTIME.type !== "browser", + }, + { + description: "should return the Uint8Array", + input: new Uint8Array([1, 2, 3]), type: "bytes", - }); - expect(result).toBe(input); - }); - - it("should serialize objects for form-urlencoded content type", async () => { - const input = { username: "johndoe", email: "john@example.com" }; - const result = await getRequestBody({ - body: input, + expected: new Uint8Array([1, 2, 3]), + }, + { + description: "should serialize objects for form-urlencoded content type", + input: { username: "johndoe", email: "john@example.com" }, type: "form", - }); - expect(result).toBe("username=johndoe&email=john%40example.com"); - }); - - it("should serialize complex nested objects and arrays for form-urlencoded content type", async () => { - const input = { - user: { - profile: { - name: "John Doe", - settings: { - theme: "dark", - notifications: true, + expected: "username=johndoe&email=john%40example.com", + }, + { + description: "should serialize complex nested objects and arrays for form-urlencoded content type", + input: { + user: { + profile: { + name: "John Doe", + settings: { + theme: "dark", + notifications: true, + }, }, + tags: ["admin", "user"], + contacts: [ + { type: "email", value: "john@example.com" }, + { type: "phone", value: "+1234567890" }, + ], }, - tags: ["admin", "user"], - contacts: [ - { type: "email", value: "john@example.com" }, - { type: "phone", value: "+1234567890" }, - ], - }, - filters: { - status: ["active", "pending"], - metadata: { - created: "2024-01-01", - categories: ["electronics", "books"], + filters: { + status: ["active", "pending"], + metadata: { + created: "2024-01-01", + categories: ["electronics", "books"], + }, }, + preferences: ["notifications", "updates"], }, - preferences: ["notifications", "updates"], - }; - const result = await getRequestBody({ - body: input, type: "form", - }); - expect(result).toBe( - "user%5Bprofile%5D%5Bname%5D=John%20Doe&" + + expected: + "user%5Bprofile%5D%5Bname%5D=John%20Doe&" + "user%5Bprofile%5D%5Bsettings%5D%5Btheme%5D=dark&" + "user%5Bprofile%5D%5Bsettings%5D%5Bnotifications%5D=true&" + "user%5Btags%5D=admin&" + @@ -100,24 +81,49 @@ describe("Test getRequestBody", () => { "filters%5Bmetadata%5D%5Bcategories%5D=books&" + "preferences=notifications&" + "preferences=updates", - ); - }); - - it("should return the input for pre-serialized form-urlencoded strings", async () => { - const input = "key=value&another=param"; - const result = await getRequestBody({ - body: input, + }, + { + description: "should return the input for pre-serialized form-urlencoded strings", + input: "key=value&another=param", type: "other", + expected: "key=value&another=param", + }, + { + description: "should JSON stringify objects", + input: { key: "value" }, + type: "json", + expected: '{"key":"value"}', + }, + ]; + + testCases.forEach(({ description, input, type, expected, skipCondition }) => { + it(description, async () => { + if (skipCondition?.()) { + return; + } + + const result = await getRequestBody({ + body: input, + type, + }); + + if (input instanceof Uint8Array) { + expect(result).toBe(input); + } else { + expect(result).toBe(expected); + } }); - expect(result).toBe(input); }); - it("should JSON stringify objects", async () => { - const input = { key: "value" }; - const result = await getRequestBody({ - body: input, - type: "json", - }); - expect(result).toBe('{"key":"value"}'); + it("should return FormData in browser environment", async () => { + if (RUNTIME.type === "browser") { + const formData = new FormData(); + formData.append("key", "value"); + const result = await getRequestBody({ + body: formData, + type: "file", + }); + expect(result).toBe(formData); + } }); }); diff --git a/src/management/tests/unit/fetcher/getResponseBody.test.ts b/src/management/tests/unit/fetcher/getResponseBody.test.ts index 5dfe6cb6d8..967c6c0332 100644 --- a/src/management/tests/unit/fetcher/getResponseBody.test.ts +++ b/src/management/tests/unit/fetcher/getResponseBody.test.ts @@ -1,7 +1,61 @@ -import { RUNTIME } from "../../../../../src/management/core/runtime"; import { getResponseBody } from "../../../../../src/management/core/fetcher/getResponseBody"; +import { RUNTIME } from "../../../../../src/management/core/runtime"; + describe("Test getResponseBody", () => { + interface SimpleTestCase { + description: string; + responseData: string | Record; + responseType?: "blob" | "sse" | "streaming" | "text"; + expected: any; + skipCondition?: () => boolean; + } + + const simpleTestCases: SimpleTestCase[] = [ + { + description: "should handle text response type", + responseData: "test text", + responseType: "text", + expected: "test text", + }, + { + description: "should handle JSON response", + responseData: { key: "value" }, + expected: { key: "value" }, + }, + { + description: "should handle empty response", + responseData: "", + expected: undefined, + }, + { + description: "should handle non-JSON response", + responseData: "invalid json", + expected: { + ok: false, + error: { + reason: "non-json", + statusCode: 200, + rawBody: "invalid json", + }, + }, + }, + ]; + + simpleTestCases.forEach(({ description, responseData, responseType, expected, skipCondition }) => { + it(description, async () => { + if (skipCondition?.()) { + return; + } + + const mockResponse = new Response( + typeof responseData === "string" ? responseData : JSON.stringify(responseData), + ); + const result = await getResponseBody(mockResponse, responseType); + expect(result).toEqual(expected); + }); + }); + it("should handle blob response type", async () => { const mockBlob = new Blob(["test"], { type: "text/plain" }); const mockResponse = new Response(mockBlob); @@ -20,7 +74,6 @@ describe("Test getResponseBody", () => { }); it("should handle streaming response type", async () => { - // Create a ReadableStream with some test data const encoder = new TextEncoder(); const testData = "test stream data"; const mockStream = new ReadableStream({ @@ -35,43 +88,10 @@ describe("Test getResponseBody", () => { expect(result).toBeInstanceOf(ReadableStream); - // Read and verify the stream content const reader = result.getReader(); const decoder = new TextDecoder(); const { value } = await reader.read(); const streamContent = decoder.decode(value); expect(streamContent).toBe(testData); }); - - it("should handle text response type", async () => { - const mockResponse = new Response("test text"); - const result = await getResponseBody(mockResponse, "text"); - expect(result).toBe("test text"); - }); - - it("should handle JSON response", async () => { - const mockJson = { key: "value" }; - const mockResponse = new Response(JSON.stringify(mockJson)); - const result = await getResponseBody(mockResponse); - expect(result).toEqual(mockJson); - }); - - it("should handle empty response", async () => { - const mockResponse = new Response(""); - const result = await getResponseBody(mockResponse); - expect(result).toBeUndefined(); - }); - - it("should handle non-JSON response", async () => { - const mockResponse = new Response("invalid json"); - const result = await getResponseBody(mockResponse); - expect(result).toEqual({ - ok: false, - error: { - reason: "non-json", - statusCode: 200, - rawBody: "invalid json", - }, - }); - }); }); diff --git a/src/management/tests/unit/fetcher/logging.test.ts b/src/management/tests/unit/fetcher/logging.test.ts new file mode 100644 index 0000000000..d51a081529 --- /dev/null +++ b/src/management/tests/unit/fetcher/logging.test.ts @@ -0,0 +1,517 @@ +import { fetcherImpl } from "../../../../../src/management/core/fetcher/Fetcher"; + +function createMockLogger() { + return { + debug: jest.fn(), + info: jest.fn(), + warn: jest.fn(), + error: jest.fn(), + }; +} + +function mockSuccessResponse(data: unknown = { data: "test" }, status = 200, statusText = "OK") { + global.fetch = jest.fn().mockResolvedValue( + new Response(JSON.stringify(data), { + status, + statusText, + }), + ); +} + +function mockErrorResponse(data: unknown = { error: "Error" }, status = 404, statusText = "Not Found") { + global.fetch = jest.fn().mockResolvedValue( + new Response(JSON.stringify(data), { + status, + statusText, + }), + ); +} + +describe("Fetcher Logging Integration", () => { + describe("Request Logging", () => { + it("should log successful request at debug level", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "POST", + headers: { "Content-Type": "application/json" }, + body: { test: "data" }, + contentType: "application/json", + requestType: "json", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + method: "POST", + url: "https://example.com/api", + headers: expect.toContainHeaders({ + "Content-Type": "application/json", + }), + hasBody: true, + }), + ); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "HTTP request succeeded", + expect.objectContaining({ + method: "POST", + url: "https://example.com/api", + statusCode: 200, + }), + ); + }); + + it("should not log debug messages at info level for successful requests", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "info", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).not.toHaveBeenCalled(); + expect(mockLogger.info).not.toHaveBeenCalled(); + }); + + it("should log request with body flag", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "POST", + body: { data: "test" }, + contentType: "application/json", + requestType: "json", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + hasBody: true, + }), + ); + }); + + it("should log request without body flag", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + hasBody: false, + }), + ); + }); + + it("should not log when silent mode is enabled", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: true, + }, + }); + + expect(mockLogger.debug).not.toHaveBeenCalled(); + expect(mockLogger.info).not.toHaveBeenCalled(); + expect(mockLogger.warn).not.toHaveBeenCalled(); + expect(mockLogger.error).not.toHaveBeenCalled(); + }); + + it("should not log when no logging config is provided", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + responseType: "json", + maxRetries: 0, + }); + + expect(mockLogger.debug).not.toHaveBeenCalled(); + }); + }); + + describe("Error Logging", () => { + it("should log 4xx errors at error level", async () => { + const mockLogger = createMockLogger(); + mockErrorResponse({ error: "Not found" }, 404, "Not Found"); + + const result = await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "error", + logger: mockLogger, + silent: false, + }, + }); + + expect(result.ok).toBe(false); + expect(mockLogger.error).toHaveBeenCalledWith( + "HTTP request failed with error status", + expect.objectContaining({ + method: "GET", + url: "https://example.com/api", + statusCode: 404, + }), + ); + }); + + it("should log 5xx errors at error level", async () => { + const mockLogger = createMockLogger(); + mockErrorResponse({ error: "Internal error" }, 500, "Internal Server Error"); + + const result = await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "error", + logger: mockLogger, + silent: false, + }, + }); + + expect(result.ok).toBe(false); + expect(mockLogger.error).toHaveBeenCalledWith( + "HTTP request failed with error status", + expect.objectContaining({ + method: "GET", + url: "https://example.com/api", + statusCode: 500, + }), + ); + }); + + it("should log aborted request errors", async () => { + const mockLogger = createMockLogger(); + + const abortController = new AbortController(); + abortController.abort(); + + global.fetch = jest.fn().mockRejectedValue(new Error("Aborted")); + + const result = await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + responseType: "json", + abortSignal: abortController.signal, + maxRetries: 0, + logging: { + level: "error", + logger: mockLogger, + silent: false, + }, + }); + + expect(result.ok).toBe(false); + expect(mockLogger.error).toHaveBeenCalledWith( + "HTTP request was aborted", + expect.objectContaining({ + method: "GET", + url: "https://example.com/api", + }), + ); + }); + + it("should log timeout errors", async () => { + const mockLogger = createMockLogger(); + + const timeoutError = new Error("Request timeout"); + timeoutError.name = "AbortError"; + + global.fetch = jest.fn().mockRejectedValue(timeoutError); + + const result = await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "error", + logger: mockLogger, + silent: false, + }, + }); + + expect(result.ok).toBe(false); + expect(mockLogger.error).toHaveBeenCalledWith( + "HTTP request timed out", + expect.objectContaining({ + method: "GET", + url: "https://example.com/api", + timeoutMs: undefined, + }), + ); + }); + + it("should log unknown errors", async () => { + const mockLogger = createMockLogger(); + + const unknownError = new Error("Unknown error"); + + global.fetch = jest.fn().mockRejectedValue(unknownError); + + const result = await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "error", + logger: mockLogger, + silent: false, + }, + }); + + expect(result.ok).toBe(false); + expect(mockLogger.error).toHaveBeenCalledWith( + "HTTP request failed with error", + expect.objectContaining({ + method: "GET", + url: "https://example.com/api", + errorMessage: "Unknown error", + }), + ); + }); + }); + + describe("Logging with Redaction", () => { + it("should redact sensitive data in error logs", async () => { + const mockLogger = createMockLogger(); + mockErrorResponse({ error: "Unauthorized" }, 401, "Unauthorized"); + + await fetcherImpl({ + url: "https://example.com/api?api_key=secret", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "error", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.error).toHaveBeenCalledWith( + "HTTP request failed with error status", + expect.objectContaining({ + url: "https://example.com/api?api_key=[REDACTED]", + }), + ); + }); + }); + + describe("Different HTTP Methods", () => { + it("should log GET requests", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + method: "GET", + }), + ); + }); + + it("should log POST requests", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse({ data: "test" }, 201, "Created"); + + await fetcherImpl({ + url: "https://example.com/api", + method: "POST", + body: { data: "test" }, + contentType: "application/json", + requestType: "json", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + method: "POST", + }), + ); + }); + + it("should log PUT requests", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "PUT", + body: { data: "test" }, + contentType: "application/json", + requestType: "json", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + method: "PUT", + }), + ); + }); + + it("should log DELETE requests", async () => { + const mockLogger = createMockLogger(); + global.fetch = jest.fn().mockResolvedValue( + new Response(null, { + status: 200, + statusText: "OK", + }), + ); + + await fetcherImpl({ + url: "https://example.com/api", + method: "DELETE", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + method: "DELETE", + }), + ); + }); + }); + + describe("Status Code Logging", () => { + it("should log 2xx success status codes", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse({ data: "test" }, 201, "Created"); + + await fetcherImpl({ + url: "https://example.com/api", + method: "POST", + body: { data: "test" }, + contentType: "application/json", + requestType: "json", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "HTTP request succeeded", + expect.objectContaining({ + statusCode: 201, + }), + ); + }); + + it("should log 3xx redirect status codes as success", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse({ data: "test" }, 301, "Moved Permanently"); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "HTTP request succeeded", + expect.objectContaining({ + statusCode: 301, + }), + ); + }); + }); +}); diff --git a/src/management/tests/unit/fetcher/redacting.test.ts b/src/management/tests/unit/fetcher/redacting.test.ts new file mode 100644 index 0000000000..4d9d18d228 --- /dev/null +++ b/src/management/tests/unit/fetcher/redacting.test.ts @@ -0,0 +1,1115 @@ +import { fetcherImpl } from "../../../../../src/management/core/fetcher/Fetcher"; + +function createMockLogger() { + return { + debug: jest.fn(), + info: jest.fn(), + warn: jest.fn(), + error: jest.fn(), + }; +} + +function mockSuccessResponse(data: unknown = { data: "test" }, status = 200, statusText = "OK") { + global.fetch = jest.fn().mockResolvedValue( + new Response(JSON.stringify(data), { + status, + statusText, + }), + ); +} + +describe("Redacting Logic", () => { + describe("Header Redaction", () => { + it("should redact authorization header", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + headers: { Authorization: "Bearer secret-token-12345" }, + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + headers: expect.toContainHeaders({ + Authorization: "[REDACTED]", + }), + }), + ); + }); + + it("should redact api-key header (case-insensitive)", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + headers: { "X-API-KEY": "secret-api-key" }, + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + headers: expect.toContainHeaders({ + "X-API-KEY": "[REDACTED]", + }), + }), + ); + }); + + it("should redact cookie header", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + headers: { Cookie: "session=abc123; token=xyz789" }, + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + headers: expect.toContainHeaders({ + Cookie: "[REDACTED]", + }), + }), + ); + }); + + it("should redact x-auth-token header", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + headers: { "x-auth-token": "auth-token-12345" }, + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + headers: expect.toContainHeaders({ + "x-auth-token": "[REDACTED]", + }), + }), + ); + }); + + it("should redact proxy-authorization header", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + headers: { "Proxy-Authorization": "Basic credentials" }, + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + headers: expect.toContainHeaders({ + "Proxy-Authorization": "[REDACTED]", + }), + }), + ); + }); + + it("should redact x-csrf-token header", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + headers: { "X-CSRF-Token": "csrf-token-abc" }, + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + headers: expect.toContainHeaders({ + "X-CSRF-Token": "[REDACTED]", + }), + }), + ); + }); + + it("should redact www-authenticate header", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + headers: { "WWW-Authenticate": "Bearer realm=example" }, + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + headers: expect.toContainHeaders({ + "WWW-Authenticate": "[REDACTED]", + }), + }), + ); + }); + + it("should redact x-session-token header", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + headers: { "X-Session-Token": "session-token-xyz" }, + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + headers: expect.toContainHeaders({ + "X-Session-Token": "[REDACTED]", + }), + }), + ); + }); + + it("should not redact non-sensitive headers", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + headers: { + "Content-Type": "application/json", + "User-Agent": "Test/1.0", + Accept: "application/json", + }, + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + headers: expect.toContainHeaders({ + "Content-Type": "application/json", + "User-Agent": "Test/1.0", + Accept: "application/json", + }), + }), + ); + }); + + it("should redact multiple sensitive headers at once", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + headers: { + Authorization: "Bearer token", + "X-API-Key": "api-key", + Cookie: "session=123", + "Content-Type": "application/json", + }, + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + headers: expect.toContainHeaders({ + Authorization: "[REDACTED]", + "X-API-Key": "[REDACTED]", + Cookie: "[REDACTED]", + "Content-Type": "application/json", + }), + }), + ); + }); + }); + + describe("Response Header Redaction", () => { + it("should redact Set-Cookie in response headers", async () => { + const mockLogger = createMockLogger(); + + const mockHeaders = new Headers(); + mockHeaders.set("Set-Cookie", "session=abc123; HttpOnly; Secure"); + mockHeaders.set("Content-Type", "application/json"); + + global.fetch = jest.fn().mockResolvedValue( + new Response(JSON.stringify({ data: "test" }), { + status: 200, + statusText: "OK", + headers: mockHeaders, + }), + ); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "HTTP request succeeded", + expect.objectContaining({ + responseHeaders: expect.toContainHeaders({ + "set-cookie": "[REDACTED]", + "content-type": "application/json", + }), + }), + ); + }); + + it("should redact authorization in response headers", async () => { + const mockLogger = createMockLogger(); + + const mockHeaders = new Headers(); + mockHeaders.set("Authorization", "Bearer token-123"); + mockHeaders.set("Content-Type", "application/json"); + + global.fetch = jest.fn().mockResolvedValue( + new Response(JSON.stringify({ data: "test" }), { + status: 200, + statusText: "OK", + headers: mockHeaders, + }), + ); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "HTTP request succeeded", + expect.objectContaining({ + responseHeaders: expect.toContainHeaders({ + authorization: "[REDACTED]", + "content-type": "application/json", + }), + }), + ); + }); + + it("should redact response headers in error responses", async () => { + const mockLogger = createMockLogger(); + + const mockHeaders = new Headers(); + mockHeaders.set("WWW-Authenticate", "Bearer realm=example"); + mockHeaders.set("Content-Type", "application/json"); + + global.fetch = jest.fn().mockResolvedValue( + new Response(JSON.stringify({ error: "Unauthorized" }), { + status: 401, + statusText: "Unauthorized", + headers: mockHeaders, + }), + ); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "error", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.error).toHaveBeenCalledWith( + "HTTP request failed with error status", + expect.objectContaining({ + responseHeaders: expect.toContainHeaders({ + "www-authenticate": "[REDACTED]", + "content-type": "application/json", + }), + }), + ); + }); + }); + + describe("Query Parameter Redaction", () => { + it("should redact api_key query parameter", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + queryParameters: { api_key: "secret-key" }, + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + queryParameters: expect.objectContaining({ + api_key: "[REDACTED]", + }), + }), + ); + }); + + it("should redact token query parameter", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + queryParameters: { token: "secret-token" }, + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + queryParameters: expect.objectContaining({ + token: "[REDACTED]", + }), + }), + ); + }); + + it("should redact access_token query parameter", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + queryParameters: { access_token: "secret-access-token" }, + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + queryParameters: expect.objectContaining({ + access_token: "[REDACTED]", + }), + }), + ); + }); + + it("should redact password query parameter", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + queryParameters: { password: "secret-password" }, + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + queryParameters: expect.objectContaining({ + password: "[REDACTED]", + }), + }), + ); + }); + + it("should redact secret query parameter", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + queryParameters: { secret: "secret-value" }, + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + queryParameters: expect.objectContaining({ + secret: "[REDACTED]", + }), + }), + ); + }); + + it("should redact session_id query parameter", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + queryParameters: { session_id: "session-123" }, + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + queryParameters: expect.objectContaining({ + session_id: "[REDACTED]", + }), + }), + ); + }); + + it("should not redact non-sensitive query parameters", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + queryParameters: { + page: "1", + limit: "10", + sort: "name", + }, + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + queryParameters: expect.objectContaining({ + page: "1", + limit: "10", + sort: "name", + }), + }), + ); + }); + + it("should not redact parameters containing 'auth' substring like 'author'", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + queryParameters: { + author: "john", + authenticate: "false", + authorization_level: "user", + }, + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + queryParameters: expect.objectContaining({ + author: "john", + authenticate: "false", + authorization_level: "user", + }), + }), + ); + }); + + it("should handle undefined query parameters", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + queryParameters: undefined, + }), + ); + }); + + it("should redact case-insensitive query parameters", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + queryParameters: { API_KEY: "secret-key", Token: "secret-token" }, + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + queryParameters: expect.objectContaining({ + API_KEY: "[REDACTED]", + Token: "[REDACTED]", + }), + }), + ); + }); + }); + + describe("URL Redaction", () => { + it("should redact credentials in URL", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://user:password@example.com/api", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + url: "https://[REDACTED]@example.com/api", + }), + ); + }); + + it("should redact api_key in query string", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api?api_key=secret-key&page=1", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + url: "https://example.com/api?api_key=[REDACTED]&page=1", + }), + ); + }); + + it("should redact token in query string", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api?token=secret-token", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + url: "https://example.com/api?token=[REDACTED]", + }), + ); + }); + + it("should redact password in query string", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api?username=user&password=secret", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + url: "https://example.com/api?username=user&password=[REDACTED]", + }), + ); + }); + + it("should not redact non-sensitive query strings", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api?page=1&limit=10&sort=name", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + url: "https://example.com/api?page=1&limit=10&sort=name", + }), + ); + }); + + it("should not redact URL parameters containing 'auth' substring like 'author'", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api?author=john&authenticate=false&page=1", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + url: "https://example.com/api?author=john&authenticate=false&page=1", + }), + ); + }); + + it("should handle URL with fragment", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api?token=secret#section", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + url: "https://example.com/api?token=[REDACTED]#section", + }), + ); + }); + + it("should redact URL-encoded query parameters", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api?api%5Fkey=secret", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + url: "https://example.com/api?api%5Fkey=[REDACTED]", + }), + ); + }); + + it("should handle URL without query string", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + url: "https://example.com/api", + }), + ); + }); + + it("should handle empty query string", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api?", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + url: "https://example.com/api?", + }), + ); + }); + + it("should redact multiple sensitive parameters in URL", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api?api_key=secret1&token=secret2&page=1", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + url: "https://example.com/api?api_key=[REDACTED]&token=[REDACTED]&page=1", + }), + ); + }); + + it("should redact both credentials and query parameters", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://user:pass@example.com/api?token=secret", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + url: "https://[REDACTED]@example.com/api?token=[REDACTED]", + }), + ); + }); + + it("should use fast path for URLs without sensitive keywords", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api?page=1&limit=10&sort=name&filter=value", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + url: "https://example.com/api?page=1&limit=10&sort=name&filter=value", + }), + ); + }); + + it("should handle query parameter without value", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api?flag&token=secret", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + url: "https://example.com/api?flag&token=[REDACTED]", + }), + ); + }); + + it("should handle URL with multiple @ symbols in credentials", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://user@example.com:pass@host.com/api", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + url: "https://[REDACTED]@host.com/api", + }), + ); + }); + + it("should handle URL with @ in query parameter but not in credentials", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://example.com/api?email=user@example.com", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + url: "https://example.com/api?email=user@example.com", + }), + ); + }); + + it("should handle URL with both credentials and @ in path", async () => { + const mockLogger = createMockLogger(); + mockSuccessResponse(); + + await fetcherImpl({ + url: "https://user:pass@example.com/users/@username", + method: "GET", + responseType: "json", + maxRetries: 0, + logging: { + level: "debug", + logger: mockLogger, + silent: false, + }, + }); + + expect(mockLogger.debug).toHaveBeenCalledWith( + "Making HTTP request", + expect.objectContaining({ + url: "https://[REDACTED]@example.com/users/@username", + }), + ); + }); + }); +}); diff --git a/src/management/tests/unit/fetcher/requestWithRetries.test.ts b/src/management/tests/unit/fetcher/requestWithRetries.test.ts index 695e5c1929..333b6c8e5d 100644 --- a/src/management/tests/unit/fetcher/requestWithRetries.test.ts +++ b/src/management/tests/unit/fetcher/requestWithRetries.test.ts @@ -9,7 +9,6 @@ describe("requestWithRetries", () => { mockFetch = jest.fn(); originalMathRandom = Math.random; - // Mock Math.random for consistent jitter Math.random = jest.fn(() => 0.5); jest.useFakeTimers({ doNotFake: ["nextTick"] }); @@ -84,6 +83,67 @@ describe("requestWithRetries", () => { } }); + interface RetryHeaderTestCase { + description: string; + headerName: string; + headerValue: string | (() => string); + expectedDelayMin: number; + expectedDelayMax: number; + } + + const retryHeaderTests: RetryHeaderTestCase[] = [ + { + description: "should respect retry-after header with seconds value", + headerName: "retry-after", + headerValue: "5", + expectedDelayMin: 4000, + expectedDelayMax: 6000, + }, + { + description: "should respect retry-after header with HTTP date value", + headerName: "retry-after", + headerValue: () => new Date(Date.now() + 3000).toUTCString(), + expectedDelayMin: 2000, + expectedDelayMax: 4000, + }, + { + description: "should respect x-ratelimit-reset header", + headerName: "x-ratelimit-reset", + headerValue: () => Math.floor((Date.now() + 4000) / 1000).toString(), + expectedDelayMin: 3000, + expectedDelayMax: 6000, + }, + ]; + + retryHeaderTests.forEach(({ description, headerName, headerValue, expectedDelayMin, expectedDelayMax }) => { + it(description, async () => { + setTimeoutSpy = jest.spyOn(global, "setTimeout").mockImplementation((callback: (args: void) => void) => { + process.nextTick(callback); + return null as any; + }); + + const value = typeof headerValue === "function" ? headerValue() : headerValue; + mockFetch + .mockResolvedValueOnce( + new Response("", { + status: 429, + headers: new Headers({ [headerName]: value }), + }), + ) + .mockResolvedValueOnce(new Response("", { status: 200 })); + + const responsePromise = requestWithRetries(() => mockFetch(), 1); + await jest.runAllTimersAsync(); + const response = await responsePromise; + + expect(setTimeoutSpy).toHaveBeenCalledWith(expect.any(Function), expect.any(Number)); + const actualDelay = setTimeoutSpy.mock.calls[0][1]; + expect(actualDelay).toBeGreaterThan(expectedDelayMin); + expect(actualDelay).toBeLessThan(expectedDelayMax); + expect(response.status).toBe(200); + }); + }); + it("should apply correct exponential backoff with jitter", async () => { setTimeoutSpy = jest.spyOn(global, "setTimeout").mockImplementation((callback: (args: void) => void) => { process.nextTick(callback); @@ -98,7 +158,6 @@ describe("requestWithRetries", () => { await jest.runAllTimersAsync(); await responsePromise; - // Verify setTimeout calls expect(setTimeoutSpy).toHaveBeenCalledTimes(expectedDelays.length); expectedDelays.forEach((delay, index) => { @@ -130,85 +189,6 @@ describe("requestWithRetries", () => { expect(response2.status).toBe(200); }); - it("should respect retry-after header with seconds value", async () => { - setTimeoutSpy = jest.spyOn(global, "setTimeout").mockImplementation((callback: (args: void) => void) => { - process.nextTick(callback); - return null as any; - }); - - mockFetch - .mockResolvedValueOnce( - new Response("", { - status: 429, - headers: new Headers({ "retry-after": "5" }), - }), - ) - .mockResolvedValueOnce(new Response("", { status: 200 })); - - const responsePromise = requestWithRetries(() => mockFetch(), 1); - await jest.runAllTimersAsync(); - const response = await responsePromise; - - expect(setTimeoutSpy).toHaveBeenCalledWith(expect.any(Function), 5000); // 5 seconds = 5000ms - expect(response.status).toBe(200); - }); - - it("should respect retry-after header with HTTP date value", async () => { - setTimeoutSpy = jest.spyOn(global, "setTimeout").mockImplementation((callback: (args: void) => void) => { - process.nextTick(callback); - return null as any; - }); - - const futureDate = new Date(Date.now() + 3000); // 3 seconds from now - mockFetch - .mockResolvedValueOnce( - new Response("", { - status: 429, - headers: new Headers({ "retry-after": futureDate.toUTCString() }), - }), - ) - .mockResolvedValueOnce(new Response("", { status: 200 })); - - const responsePromise = requestWithRetries(() => mockFetch(), 1); - await jest.runAllTimersAsync(); - const response = await responsePromise; - - // Should use the date-based delay (approximately 3000ms, but with jitter) - expect(setTimeoutSpy).toHaveBeenCalledWith(expect.any(Function), expect.any(Number)); - const actualDelay = setTimeoutSpy.mock.calls[0][1]; - expect(actualDelay).toBeGreaterThan(2000); - expect(actualDelay).toBeLessThan(4000); - expect(response.status).toBe(200); - }); - - it("should respect x-ratelimit-reset header", async () => { - setTimeoutSpy = jest.spyOn(global, "setTimeout").mockImplementation((callback: (args: void) => void) => { - process.nextTick(callback); - return null as any; - }); - - const resetTime = Math.floor((Date.now() + 4000) / 1000); // 4 seconds from now in Unix timestamp - mockFetch - .mockResolvedValueOnce( - new Response("", { - status: 429, - headers: new Headers({ "x-ratelimit-reset": resetTime.toString() }), - }), - ) - .mockResolvedValueOnce(new Response("", { status: 200 })); - - const responsePromise = requestWithRetries(() => mockFetch(), 1); - await jest.runAllTimersAsync(); - const response = await responsePromise; - - // Should use the x-ratelimit-reset delay (approximately 4000ms, but with positive jitter) - expect(setTimeoutSpy).toHaveBeenCalledWith(expect.any(Function), expect.any(Number)); - const actualDelay = setTimeoutSpy.mock.calls[0][1]; - expect(actualDelay).toBeGreaterThan(3000); - expect(actualDelay).toBeLessThan(6000); - expect(response.status).toBe(200); - }); - it("should cap delay at MAX_RETRY_DELAY for large header values", async () => { setTimeoutSpy = jest.spyOn(global, "setTimeout").mockImplementation((callback: (args: void) => void) => { process.nextTick(callback); @@ -228,8 +208,7 @@ describe("requestWithRetries", () => { await jest.runAllTimersAsync(); const response = await responsePromise; - // Should be capped at MAX_RETRY_DELAY (60000ms) with jitter applied - expect(setTimeoutSpy).toHaveBeenCalledWith(expect.any(Function), 60000); // Exactly MAX_RETRY_DELAY since jitter with 0.5 random keeps it at 60000 + expect(setTimeoutSpy).toHaveBeenCalledWith(expect.any(Function), 60000); expect(response.status).toBe(200); }); }); diff --git a/src/management/tests/unit/logging/logger.test.ts b/src/management/tests/unit/logging/logger.test.ts new file mode 100644 index 0000000000..fc7836427b --- /dev/null +++ b/src/management/tests/unit/logging/logger.test.ts @@ -0,0 +1,454 @@ +import { ConsoleLogger, createLogger, Logger, LogLevel } from "../../../../../src/management/core/logging/logger"; + +function createMockLogger() { + return { + debug: jest.fn(), + info: jest.fn(), + warn: jest.fn(), + error: jest.fn(), + }; +} + +describe("Logger", () => { + describe("LogLevel", () => { + it("should have correct log levels", () => { + expect(LogLevel.Debug).toBe("debug"); + expect(LogLevel.Info).toBe("info"); + expect(LogLevel.Warn).toBe("warn"); + expect(LogLevel.Error).toBe("error"); + }); + }); + + describe("ConsoleLogger", () => { + let consoleLogger: ConsoleLogger; + let consoleSpy: { + debug: ReturnType; + info: ReturnType; + warn: ReturnType; + error: ReturnType; + }; + + beforeEach(() => { + consoleLogger = new ConsoleLogger(); + consoleSpy = { + debug: jest.spyOn(console, "debug").mockImplementation(() => {}), + info: jest.spyOn(console, "info").mockImplementation(() => {}), + warn: jest.spyOn(console, "warn").mockImplementation(() => {}), + error: jest.spyOn(console, "error").mockImplementation(() => {}), + }; + }); + + afterEach(() => { + consoleSpy.debug.mockRestore(); + consoleSpy.info.mockRestore(); + consoleSpy.warn.mockRestore(); + consoleSpy.error.mockRestore(); + }); + + it("should log debug messages", () => { + consoleLogger.debug("debug message", { data: "test" }); + expect(consoleSpy.debug).toHaveBeenCalledWith("debug message", { data: "test" }); + }); + + it("should log info messages", () => { + consoleLogger.info("info message", { data: "test" }); + expect(consoleSpy.info).toHaveBeenCalledWith("info message", { data: "test" }); + }); + + it("should log warn messages", () => { + consoleLogger.warn("warn message", { data: "test" }); + expect(consoleSpy.warn).toHaveBeenCalledWith("warn message", { data: "test" }); + }); + + it("should log error messages", () => { + consoleLogger.error("error message", { data: "test" }); + expect(consoleSpy.error).toHaveBeenCalledWith("error message", { data: "test" }); + }); + + it("should handle multiple arguments", () => { + consoleLogger.debug("message", "arg1", "arg2", { key: "value" }); + expect(consoleSpy.debug).toHaveBeenCalledWith("message", "arg1", "arg2", { key: "value" }); + }); + }); + + describe("Logger with level filtering", () => { + let mockLogger: { + debug: ReturnType; + info: ReturnType; + warn: ReturnType; + error: ReturnType; + }; + + beforeEach(() => { + mockLogger = createMockLogger(); + }); + + describe("Debug level", () => { + it("should log all levels when set to debug", () => { + const logger = new Logger({ + level: LogLevel.Debug, + logger: mockLogger, + silent: false, + }); + + logger.debug("debug"); + logger.info("info"); + logger.warn("warn"); + logger.error("error"); + + expect(mockLogger.debug).toHaveBeenCalledWith("debug"); + expect(mockLogger.info).toHaveBeenCalledWith("info"); + expect(mockLogger.warn).toHaveBeenCalledWith("warn"); + expect(mockLogger.error).toHaveBeenCalledWith("error"); + }); + + it("should report correct level checks", () => { + const logger = new Logger({ + level: LogLevel.Debug, + logger: mockLogger, + silent: false, + }); + + expect(logger.isDebug()).toBe(true); + expect(logger.isInfo()).toBe(true); + expect(logger.isWarn()).toBe(true); + expect(logger.isError()).toBe(true); + }); + }); + + describe("Info level", () => { + it("should log info, warn, and error when set to info", () => { + const logger = new Logger({ + level: LogLevel.Info, + logger: mockLogger, + silent: false, + }); + + logger.debug("debug"); + logger.info("info"); + logger.warn("warn"); + logger.error("error"); + + expect(mockLogger.debug).not.toHaveBeenCalled(); + expect(mockLogger.info).toHaveBeenCalledWith("info"); + expect(mockLogger.warn).toHaveBeenCalledWith("warn"); + expect(mockLogger.error).toHaveBeenCalledWith("error"); + }); + + it("should report correct level checks", () => { + const logger = new Logger({ + level: LogLevel.Info, + logger: mockLogger, + silent: false, + }); + + expect(logger.isDebug()).toBe(false); + expect(logger.isInfo()).toBe(true); + expect(logger.isWarn()).toBe(true); + expect(logger.isError()).toBe(true); + }); + }); + + describe("Warn level", () => { + it("should log warn and error when set to warn", () => { + const logger = new Logger({ + level: LogLevel.Warn, + logger: mockLogger, + silent: false, + }); + + logger.debug("debug"); + logger.info("info"); + logger.warn("warn"); + logger.error("error"); + + expect(mockLogger.debug).not.toHaveBeenCalled(); + expect(mockLogger.info).not.toHaveBeenCalled(); + expect(mockLogger.warn).toHaveBeenCalledWith("warn"); + expect(mockLogger.error).toHaveBeenCalledWith("error"); + }); + + it("should report correct level checks", () => { + const logger = new Logger({ + level: LogLevel.Warn, + logger: mockLogger, + silent: false, + }); + + expect(logger.isDebug()).toBe(false); + expect(logger.isInfo()).toBe(false); + expect(logger.isWarn()).toBe(true); + expect(logger.isError()).toBe(true); + }); + }); + + describe("Error level", () => { + it("should only log error when set to error", () => { + const logger = new Logger({ + level: LogLevel.Error, + logger: mockLogger, + silent: false, + }); + + logger.debug("debug"); + logger.info("info"); + logger.warn("warn"); + logger.error("error"); + + expect(mockLogger.debug).not.toHaveBeenCalled(); + expect(mockLogger.info).not.toHaveBeenCalled(); + expect(mockLogger.warn).not.toHaveBeenCalled(); + expect(mockLogger.error).toHaveBeenCalledWith("error"); + }); + + it("should report correct level checks", () => { + const logger = new Logger({ + level: LogLevel.Error, + logger: mockLogger, + silent: false, + }); + + expect(logger.isDebug()).toBe(false); + expect(logger.isInfo()).toBe(false); + expect(logger.isWarn()).toBe(false); + expect(logger.isError()).toBe(true); + }); + }); + + describe("Silent mode", () => { + it("should not log anything when silent is true", () => { + const logger = new Logger({ + level: LogLevel.Debug, + logger: mockLogger, + silent: true, + }); + + logger.debug("debug"); + logger.info("info"); + logger.warn("warn"); + logger.error("error"); + + expect(mockLogger.debug).not.toHaveBeenCalled(); + expect(mockLogger.info).not.toHaveBeenCalled(); + expect(mockLogger.warn).not.toHaveBeenCalled(); + expect(mockLogger.error).not.toHaveBeenCalled(); + }); + + it("should report all level checks as false when silent", () => { + const logger = new Logger({ + level: LogLevel.Debug, + logger: mockLogger, + silent: true, + }); + + expect(logger.isDebug()).toBe(false); + expect(logger.isInfo()).toBe(false); + expect(logger.isWarn()).toBe(false); + expect(logger.isError()).toBe(false); + }); + }); + + describe("shouldLog", () => { + it("should correctly determine if level should be logged", () => { + const logger = new Logger({ + level: LogLevel.Info, + logger: mockLogger, + silent: false, + }); + + expect(logger.shouldLog(LogLevel.Debug)).toBe(false); + expect(logger.shouldLog(LogLevel.Info)).toBe(true); + expect(logger.shouldLog(LogLevel.Warn)).toBe(true); + expect(logger.shouldLog(LogLevel.Error)).toBe(true); + }); + + it("should return false for all levels when silent", () => { + const logger = new Logger({ + level: LogLevel.Debug, + logger: mockLogger, + silent: true, + }); + + expect(logger.shouldLog(LogLevel.Debug)).toBe(false); + expect(logger.shouldLog(LogLevel.Info)).toBe(false); + expect(logger.shouldLog(LogLevel.Warn)).toBe(false); + expect(logger.shouldLog(LogLevel.Error)).toBe(false); + }); + }); + + describe("Multiple arguments", () => { + it("should pass multiple arguments to logger", () => { + const logger = new Logger({ + level: LogLevel.Debug, + logger: mockLogger, + silent: false, + }); + + logger.debug("message", "arg1", { key: "value" }, 123); + expect(mockLogger.debug).toHaveBeenCalledWith("message", "arg1", { key: "value" }, 123); + }); + }); + }); + + describe("createLogger", () => { + it("should return default logger when no config provided", () => { + const logger = createLogger(); + expect(logger).toBeInstanceOf(Logger); + }); + + it("should return same logger instance when Logger is passed", () => { + const customLogger = new Logger({ + level: LogLevel.Debug, + logger: new ConsoleLogger(), + silent: false, + }); + + const result = createLogger(customLogger); + expect(result).toBe(customLogger); + }); + + it("should create logger with custom config", () => { + const mockLogger = createMockLogger(); + + const logger = createLogger({ + level: LogLevel.Warn, + logger: mockLogger, + silent: false, + }); + + expect(logger).toBeInstanceOf(Logger); + logger.warn("test"); + expect(mockLogger.warn).toHaveBeenCalledWith("test"); + }); + + it("should use default values for missing config", () => { + const logger = createLogger({}); + expect(logger).toBeInstanceOf(Logger); + }); + + it("should override default level", () => { + const mockLogger = createMockLogger(); + + const logger = createLogger({ + level: LogLevel.Debug, + logger: mockLogger, + silent: false, + }); + + logger.debug("test"); + expect(mockLogger.debug).toHaveBeenCalledWith("test"); + }); + + it("should override default silent mode", () => { + const mockLogger = createMockLogger(); + + const logger = createLogger({ + logger: mockLogger, + silent: false, + }); + + logger.info("test"); + expect(mockLogger.info).toHaveBeenCalledWith("test"); + }); + + it("should use provided logger implementation", () => { + const customLogger = createMockLogger(); + + const logger = createLogger({ + logger: customLogger, + level: LogLevel.Debug, + silent: false, + }); + + logger.debug("test"); + expect(customLogger.debug).toHaveBeenCalledWith("test"); + }); + + it("should default to silent: true", () => { + const mockLogger = createMockLogger(); + + const logger = createLogger({ + logger: mockLogger, + level: LogLevel.Debug, + }); + + logger.debug("test"); + expect(mockLogger.debug).not.toHaveBeenCalled(); + }); + }); + + describe("Default logger", () => { + it("should have silent: true by default", () => { + const logger = createLogger(); + expect(logger.shouldLog(LogLevel.Info)).toBe(false); + }); + + it("should not log when using default logger", () => { + const logger = createLogger(); + + logger.info("test"); + expect(logger.isInfo()).toBe(false); + }); + }); + + describe("Edge cases", () => { + it("should handle empty message", () => { + const mockLogger = createMockLogger(); + + const logger = new Logger({ + level: LogLevel.Debug, + logger: mockLogger, + silent: false, + }); + + logger.debug(""); + expect(mockLogger.debug).toHaveBeenCalledWith(""); + }); + + it("should handle no arguments", () => { + const mockLogger = createMockLogger(); + + const logger = new Logger({ + level: LogLevel.Debug, + logger: mockLogger, + silent: false, + }); + + logger.debug("message"); + expect(mockLogger.debug).toHaveBeenCalledWith("message"); + }); + + it("should handle complex objects", () => { + const mockLogger = createMockLogger(); + + const logger = new Logger({ + level: LogLevel.Debug, + logger: mockLogger, + silent: false, + }); + + const complexObject = { + nested: { key: "value" }, + array: [1, 2, 3], + fn: () => "test", + }; + + logger.debug("message", complexObject); + expect(mockLogger.debug).toHaveBeenCalledWith("message", complexObject); + }); + + it("should handle errors as arguments", () => { + const mockLogger = createMockLogger(); + + const logger = new Logger({ + level: LogLevel.Error, + logger: mockLogger, + silent: false, + }); + + const error = new Error("Test error"); + logger.error("Error occurred", error); + expect(mockLogger.error).toHaveBeenCalledWith("Error occurred", error); + }); + }); +}); diff --git a/src/management/tests/unit/url/join.test.ts b/src/management/tests/unit/url/join.test.ts index 28e842a807..91a190509a 100644 --- a/src/management/tests/unit/url/join.test.ts +++ b/src/management/tests/unit/url/join.test.ts @@ -1,88 +1,223 @@ import { join } from "../../../../../src/management/core/url/index"; describe("join", () => { - describe("basic functionality", () => { - it("should return empty string for empty base", () => { - expect(join("")).toBe(""); - expect(join("", "path")).toBe(""); - }); + interface TestCase { + description: string; + base: string; + segments: string[]; + expected: string; + } - it("should handle single segment", () => { - expect(join("base", "segment")).toBe("base/segment"); - expect(join("base/", "segment")).toBe("base/segment"); - expect(join("base", "/segment")).toBe("base/segment"); - expect(join("base/", "/segment")).toBe("base/segment"); - }); + describe("basic functionality", () => { + const basicTests: TestCase[] = [ + { description: "should return empty string for empty base", base: "", segments: [], expected: "" }, + { + description: "should return empty string for empty base with path", + base: "", + segments: ["path"], + expected: "", + }, + { + description: "should handle single segment", + base: "base", + segments: ["segment"], + expected: "base/segment", + }, + { + description: "should handle single segment with trailing slash on base", + base: "base/", + segments: ["segment"], + expected: "base/segment", + }, + { + description: "should handle single segment with leading slash", + base: "base", + segments: ["/segment"], + expected: "base/segment", + }, + { + description: "should handle single segment with both slashes", + base: "base/", + segments: ["/segment"], + expected: "base/segment", + }, + { + description: "should handle multiple segments", + base: "base", + segments: ["path1", "path2", "path3"], + expected: "base/path1/path2/path3", + }, + { + description: "should handle multiple segments with slashes", + base: "base/", + segments: ["/path1/", "/path2/", "/path3/"], + expected: "base/path1/path2/path3/", + }, + ]; - it("should handle multiple segments", () => { - expect(join("base", "path1", "path2", "path3")).toBe("base/path1/path2/path3"); - expect(join("base/", "/path1/", "/path2/", "/path3/")).toBe("base/path1/path2/path3/"); + basicTests.forEach(({ description, base, segments, expected }) => { + it(description, () => { + expect(join(base, ...segments)).toBe(expected); + }); }); }); describe("URL handling", () => { - it("should handle absolute URLs", () => { - expect(join("https://example.com", "api", "v1")).toBe("https://example.com/api/v1"); - expect(join("https://example.com/", "/api/", "/v1/")).toBe("https://example.com/api/v1/"); - expect(join("https://example.com/base", "api", "v1")).toBe("https://example.com/base/api/v1"); - }); + const urlTests: TestCase[] = [ + { + description: "should handle absolute URLs", + base: "https://example.com", + segments: ["api", "v1"], + expected: "https://example.com/api/v1", + }, + { + description: "should handle absolute URLs with slashes", + base: "https://example.com/", + segments: ["/api/", "/v1/"], + expected: "https://example.com/api/v1/", + }, + { + description: "should handle absolute URLs with base path", + base: "https://example.com/base", + segments: ["api", "v1"], + expected: "https://example.com/base/api/v1", + }, + { + description: "should preserve URL query parameters", + base: "https://example.com?query=1", + segments: ["api"], + expected: "https://example.com/api?query=1", + }, + { + description: "should preserve URL fragments", + base: "https://example.com#fragment", + segments: ["api"], + expected: "https://example.com/api#fragment", + }, + { + description: "should preserve URL query and fragments", + base: "https://example.com?query=1#fragment", + segments: ["api"], + expected: "https://example.com/api?query=1#fragment", + }, + { + description: "should handle http protocol", + base: "http://example.com", + segments: ["api"], + expected: "http://example.com/api", + }, + { + description: "should handle ftp protocol", + base: "ftp://example.com", + segments: ["files"], + expected: "ftp://example.com/files", + }, + { + description: "should handle ws protocol", + base: "ws://example.com", + segments: ["socket"], + expected: "ws://example.com/socket", + }, + { + description: "should fallback to path joining for malformed URLs", + base: "not-a-url://", + segments: ["path"], + expected: "not-a-url:///path", + }, + ]; - it("should preserve URL query parameters and fragments", () => { - expect(join("https://example.com?query=1", "api")).toBe("https://example.com/api?query=1"); - expect(join("https://example.com#fragment", "api")).toBe("https://example.com/api#fragment"); - expect(join("https://example.com?query=1#fragment", "api")).toBe( - "https://example.com/api?query=1#fragment", - ); - }); - - it("should handle different protocols", () => { - expect(join("http://example.com", "api")).toBe("http://example.com/api"); - expect(join("ftp://example.com", "files")).toBe("ftp://example.com/files"); - expect(join("ws://example.com", "socket")).toBe("ws://example.com/socket"); - }); - - it("should fallback to path joining for malformed URLs", () => { - expect(join("not-a-url://", "path")).toBe("not-a-url:///path"); + urlTests.forEach(({ description, base, segments, expected }) => { + it(description, () => { + expect(join(base, ...segments)).toBe(expected); + }); }); }); describe("edge cases", () => { - it("should handle empty segments", () => { - expect(join("base", "", "path")).toBe("base/path"); - expect(join("base", null as any, "path")).toBe("base/path"); - expect(join("base", undefined as any, "path")).toBe("base/path"); - }); - - it("should handle segments with only slashes", () => { - expect(join("base", "/", "path")).toBe("base/path"); - expect(join("base", "//", "path")).toBe("base/path"); - }); - - it("should handle base paths with trailing slashes", () => { - expect(join("base/", "path")).toBe("base/path"); - }); + const edgeCaseTests: TestCase[] = [ + { + description: "should handle empty segments", + base: "base", + segments: ["", "path"], + expected: "base/path", + }, + { + description: "should handle null segments", + base: "base", + segments: [null as any, "path"], + expected: "base/path", + }, + { + description: "should handle undefined segments", + base: "base", + segments: [undefined as any, "path"], + expected: "base/path", + }, + { + description: "should handle segments with only single slash", + base: "base", + segments: ["/", "path"], + expected: "base/path", + }, + { + description: "should handle segments with only double slash", + base: "base", + segments: ["//", "path"], + expected: "base/path", + }, + { + description: "should handle base paths with trailing slashes", + base: "base/", + segments: ["path"], + expected: "base/path", + }, + { + description: "should handle complex nested paths", + base: "api/v1/", + segments: ["/users/", "/123/", "/profile"], + expected: "api/v1/users/123/profile", + }, + ]; - it("should handle complex nested paths", () => { - expect(join("api/v1/", "/users/", "/123/", "/profile")).toBe("api/v1/users/123/profile"); + edgeCaseTests.forEach(({ description, base, segments, expected }) => { + it(description, () => { + expect(join(base, ...segments)).toBe(expected); + }); }); }); describe("real-world scenarios", () => { - it("should handle API endpoint construction", () => { - const baseUrl = "https://api.example.com/v1"; - expect(join(baseUrl, "users", "123", "posts")).toBe("https://api.example.com/v1/users/123/posts"); - }); - - it("should handle file path construction", () => { - expect(join("/var/www", "html", "assets", "images")).toBe("/var/www/html/assets/images"); - }); + const realWorldTests: TestCase[] = [ + { + description: "should handle API endpoint construction", + base: "https://api.example.com/v1", + segments: ["users", "123", "posts"], + expected: "https://api.example.com/v1/users/123/posts", + }, + { + description: "should handle file path construction", + base: "/var/www", + segments: ["html", "assets", "images"], + expected: "/var/www/html/assets/images", + }, + { + description: "should handle relative path construction", + base: "../parent", + segments: ["child", "grandchild"], + expected: "../parent/child/grandchild", + }, + { + description: "should handle Windows-style paths", + base: "C:\\Users", + segments: ["Documents", "file.txt"], + expected: "C:\\Users/Documents/file.txt", + }, + ]; - it("should handle relative path construction", () => { - expect(join("../parent", "child", "grandchild")).toBe("../parent/child/grandchild"); - }); - - it("should handle Windows-style paths", () => { - expect(join("C:\\Users", "Documents", "file.txt")).toBe("C:\\Users/Documents/file.txt"); + realWorldTests.forEach(({ description, base, segments, expected }) => { + it(description, () => { + expect(join(base, ...segments)).toBe(expected); + }); }); }); @@ -90,7 +225,7 @@ describe("join", () => { it("should handle many segments efficiently", () => { const segments = Array(100).fill("segment"); const result = join("base", ...segments); - expect(result).toBe("base/" + segments.join("/")); + expect(result).toBe(`base/${segments.join("/")}`); }); it("should handle long URLs", () => { @@ -100,21 +235,50 @@ describe("join", () => { }); describe("trailing slash preservation", () => { - it("should preserve trailing slash on final result when base has trailing slash and no segments", () => { - expect(join("https://api.example.com/")).toBe("https://api.example.com/"); - expect(join("https://api.example.com/v1/")).toBe("https://api.example.com/v1/"); - }); - - it("should preserve trailing slash when last segment has trailing slash", () => { - expect(join("https://api.example.com", "users/")).toBe("https://api.example.com/users/"); - expect(join("api/v1", "users/")).toBe("api/v1/users/"); - }); + const trailingSlashTests: TestCase[] = [ + { + description: + "should preserve trailing slash on final result when base has trailing slash and no segments", + base: "https://api.example.com/", + segments: [], + expected: "https://api.example.com/", + }, + { + description: "should preserve trailing slash on v1 path", + base: "https://api.example.com/v1/", + segments: [], + expected: "https://api.example.com/v1/", + }, + { + description: "should preserve trailing slash when last segment has trailing slash", + base: "https://api.example.com", + segments: ["users/"], + expected: "https://api.example.com/users/", + }, + { + description: "should preserve trailing slash with relative path", + base: "api/v1", + segments: ["users/"], + expected: "api/v1/users/", + }, + { + description: "should preserve trailing slash with multiple segments", + base: "https://api.example.com", + segments: ["v1", "collections/"], + expected: "https://api.example.com/v1/collections/", + }, + { + description: "should preserve trailing slash with base path", + base: "base", + segments: ["path1", "path2/"], + expected: "base/path1/path2/", + }, + ]; - it("should preserve trailing slash with multiple segments where last has trailing slash", () => { - expect(join("https://api.example.com", "v1", "collections/")).toBe( - "https://api.example.com/v1/collections/", - ); - expect(join("base", "path1", "path2/")).toBe("base/path1/path2/"); + trailingSlashTests.forEach(({ description, base, segments, expected }) => { + it(description, () => { + expect(join(base, ...segments)).toBe(expected); + }); }); }); }); diff --git a/src/management/tests/unit/url/qs.test.ts b/src/management/tests/unit/url/qs.test.ts index 9390795fbf..66172c760c 100644 --- a/src/management/tests/unit/url/qs.test.ts +++ b/src/management/tests/unit/url/qs.test.ts @@ -1,187 +1,278 @@ import { toQueryString } from "../../../../../src/management/core/url/index"; describe("Test qs toQueryString", () => { - describe("Basic functionality", () => { - it("should return empty string for null/undefined", () => { - expect(toQueryString(null)).toBe(""); - expect(toQueryString(undefined)).toBe(""); - }); + interface BasicTestCase { + description: string; + input: any; + expected: string; + } - it("should return empty string for primitive values", () => { - expect(toQueryString("hello")).toBe(""); - expect(toQueryString(42)).toBe(""); - expect(toQueryString(true)).toBe(""); - expect(toQueryString(false)).toBe(""); - }); - - it("should handle empty objects", () => { - expect(toQueryString({})).toBe(""); - }); + describe("Basic functionality", () => { + const basicTests: BasicTestCase[] = [ + { description: "should return empty string for null", input: null, expected: "" }, + { description: "should return empty string for undefined", input: undefined, expected: "" }, + { description: "should return empty string for string primitive", input: "hello", expected: "" }, + { description: "should return empty string for number primitive", input: 42, expected: "" }, + { description: "should return empty string for true boolean", input: true, expected: "" }, + { description: "should return empty string for false boolean", input: false, expected: "" }, + { description: "should handle empty objects", input: {}, expected: "" }, + { + description: "should handle simple key-value pairs", + input: { name: "John", age: 30 }, + expected: "name=John&age=30", + }, + ]; - it("should handle simple key-value pairs", () => { - const obj = { name: "John", age: 30 }; - expect(toQueryString(obj)).toBe("name=John&age=30"); + basicTests.forEach(({ description, input, expected }) => { + it(description, () => { + expect(toQueryString(input)).toBe(expected); + }); }); }); describe("Array handling", () => { - it("should handle arrays with indices format (default)", () => { - const obj = { items: ["a", "b", "c"] }; - expect(toQueryString(obj)).toBe("items%5B0%5D=a&items%5B1%5D=b&items%5B2%5D=c"); - }); - - it("should handle arrays with repeat format", () => { - const obj = { items: ["a", "b", "c"] }; - expect(toQueryString(obj, { arrayFormat: "repeat" })).toBe("items=a&items=b&items=c"); - }); + interface ArrayTestCase { + description: string; + input: any; + options?: { arrayFormat?: "repeat" | "indices" }; + expected: string; + } - it("should handle empty arrays", () => { - const obj = { items: [] }; - expect(toQueryString(obj)).toBe(""); - }); - - it("should handle arrays with mixed types", () => { - const obj = { mixed: ["string", 42, true, false] }; - expect(toQueryString(obj)).toBe("mixed%5B0%5D=string&mixed%5B1%5D=42&mixed%5B2%5D=true&mixed%5B3%5D=false"); - }); - - it("should handle arrays with objects", () => { - const obj = { users: [{ name: "John" }, { name: "Jane" }] }; - expect(toQueryString(obj)).toBe("users%5B0%5D%5Bname%5D=John&users%5B1%5D%5Bname%5D=Jane"); - }); + const arrayTests: ArrayTestCase[] = [ + { + description: "should handle arrays with indices format (default)", + input: { items: ["a", "b", "c"] }, + expected: "items%5B0%5D=a&items%5B1%5D=b&items%5B2%5D=c", + }, + { + description: "should handle arrays with repeat format", + input: { items: ["a", "b", "c"] }, + options: { arrayFormat: "repeat" }, + expected: "items=a&items=b&items=c", + }, + { + description: "should handle empty arrays", + input: { items: [] }, + expected: "", + }, + { + description: "should handle arrays with mixed types", + input: { mixed: ["string", 42, true, false] }, + expected: "mixed%5B0%5D=string&mixed%5B1%5D=42&mixed%5B2%5D=true&mixed%5B3%5D=false", + }, + { + description: "should handle arrays with objects", + input: { users: [{ name: "John" }, { name: "Jane" }] }, + expected: "users%5B0%5D%5Bname%5D=John&users%5B1%5D%5Bname%5D=Jane", + }, + { + description: "should handle arrays with objects in repeat format", + input: { users: [{ name: "John" }, { name: "Jane" }] }, + options: { arrayFormat: "repeat" }, + expected: "users%5Bname%5D=John&users%5Bname%5D=Jane", + }, + ]; - it("should handle arrays with objects in repeat format", () => { - const obj = { users: [{ name: "John" }, { name: "Jane" }] }; - expect(toQueryString(obj, { arrayFormat: "repeat" })).toBe("users%5Bname%5D=John&users%5Bname%5D=Jane"); + arrayTests.forEach(({ description, input, options, expected }) => { + it(description, () => { + expect(toQueryString(input, options)).toBe(expected); + }); }); }); describe("Nested objects", () => { - it("should handle nested objects", () => { - const obj = { user: { name: "John", age: 30 } }; - expect(toQueryString(obj)).toBe("user%5Bname%5D=John&user%5Bage%5D=30"); - }); - - it("should handle deeply nested objects", () => { - const obj = { user: { profile: { name: "John", settings: { theme: "dark" } } } }; - expect(toQueryString(obj)).toBe( - "user%5Bprofile%5D%5Bname%5D=John&user%5Bprofile%5D%5Bsettings%5D%5Btheme%5D=dark", - ); - }); + const nestedTests: BasicTestCase[] = [ + { + description: "should handle nested objects", + input: { user: { name: "John", age: 30 } }, + expected: "user%5Bname%5D=John&user%5Bage%5D=30", + }, + { + description: "should handle deeply nested objects", + input: { user: { profile: { name: "John", settings: { theme: "dark" } } } }, + expected: "user%5Bprofile%5D%5Bname%5D=John&user%5Bprofile%5D%5Bsettings%5D%5Btheme%5D=dark", + }, + { + description: "should handle empty nested objects", + input: { user: {} }, + expected: "", + }, + ]; - it("should handle empty nested objects", () => { - const obj = { user: {} }; - expect(toQueryString(obj)).toBe(""); + nestedTests.forEach(({ description, input, expected }) => { + it(description, () => { + expect(toQueryString(input)).toBe(expected); + }); }); }); describe("Encoding", () => { - it("should encode by default", () => { - const obj = { name: "John Doe", email: "john@example.com" }; - expect(toQueryString(obj)).toBe("name=John%20Doe&email=john%40example.com"); - }); + interface EncodingTestCase { + description: string; + input: any; + options?: { encode?: boolean }; + expected: string; + } - it("should not encode when encode is false", () => { - const obj = { name: "John Doe", email: "john@example.com" }; - expect(toQueryString(obj, { encode: false })).toBe("name=John Doe&email=john@example.com"); - }); - - it("should encode special characters in keys", () => { - const obj = { "user name": "John", "email[primary]": "john@example.com" }; - expect(toQueryString(obj)).toBe("user%20name=John&email%5Bprimary%5D=john%40example.com"); - }); + const encodingTests: EncodingTestCase[] = [ + { + description: "should encode by default", + input: { name: "John Doe", email: "john@example.com" }, + expected: "name=John%20Doe&email=john%40example.com", + }, + { + description: "should not encode when encode is false", + input: { name: "John Doe", email: "john@example.com" }, + options: { encode: false }, + expected: "name=John Doe&email=john@example.com", + }, + { + description: "should encode special characters in keys", + input: { "user name": "John", "email[primary]": "john@example.com" }, + expected: "user%20name=John&email%5Bprimary%5D=john%40example.com", + }, + { + description: "should not encode special characters in keys when encode is false", + input: { "user name": "John", "email[primary]": "john@example.com" }, + options: { encode: false }, + expected: "user name=John&email[primary]=john@example.com", + }, + ]; - it("should not encode special characters in keys when encode is false", () => { - const obj = { "user name": "John", "email[primary]": "john@example.com" }; - expect(toQueryString(obj, { encode: false })).toBe("user name=John&email[primary]=john@example.com"); + encodingTests.forEach(({ description, input, options, expected }) => { + it(description, () => { + expect(toQueryString(input, options)).toBe(expected); + }); }); }); describe("Mixed scenarios", () => { - it("should handle complex nested structures", () => { - const obj = { - filters: { - status: ["active", "pending"], - category: { - type: "electronics", - subcategories: ["phones", "laptops"], + interface MixedTestCase { + description: string; + input: any; + options?: { arrayFormat?: "repeat" | "indices" }; + expected: string; + } + + const mixedTests: MixedTestCase[] = [ + { + description: "should handle complex nested structures", + input: { + filters: { + status: ["active", "pending"], + category: { + type: "electronics", + subcategories: ["phones", "laptops"], + }, }, + sort: { field: "name", direction: "asc" }, }, - sort: { field: "name", direction: "asc" }, - }; - expect(toQueryString(obj)).toBe( - "filters%5Bstatus%5D%5B0%5D=active&filters%5Bstatus%5D%5B1%5D=pending&filters%5Bcategory%5D%5Btype%5D=electronics&filters%5Bcategory%5D%5Bsubcategories%5D%5B0%5D=phones&filters%5Bcategory%5D%5Bsubcategories%5D%5B1%5D=laptops&sort%5Bfield%5D=name&sort%5Bdirection%5D=asc", - ); - }); - - it("should handle complex nested structures with repeat format", () => { - const obj = { - filters: { - status: ["active", "pending"], - category: { - type: "electronics", - subcategories: ["phones", "laptops"], + expected: + "filters%5Bstatus%5D%5B0%5D=active&filters%5Bstatus%5D%5B1%5D=pending&filters%5Bcategory%5D%5Btype%5D=electronics&filters%5Bcategory%5D%5Bsubcategories%5D%5B0%5D=phones&filters%5Bcategory%5D%5Bsubcategories%5D%5B1%5D=laptops&sort%5Bfield%5D=name&sort%5Bdirection%5D=asc", + }, + { + description: "should handle complex nested structures with repeat format", + input: { + filters: { + status: ["active", "pending"], + category: { + type: "electronics", + subcategories: ["phones", "laptops"], + }, }, + sort: { field: "name", direction: "asc" }, }, - sort: { field: "name", direction: "asc" }, - }; - expect(toQueryString(obj, { arrayFormat: "repeat" })).toBe( - "filters%5Bstatus%5D=active&filters%5Bstatus%5D=pending&filters%5Bcategory%5D%5Btype%5D=electronics&filters%5Bcategory%5D%5Bsubcategories%5D=phones&filters%5Bcategory%5D%5Bsubcategories%5D=laptops&sort%5Bfield%5D=name&sort%5Bdirection%5D=asc", - ); - }); - - it("should handle arrays with null/undefined values", () => { - const obj = { items: ["a", null, "c", undefined, "e"] }; - expect(toQueryString(obj)).toBe("items%5B0%5D=a&items%5B1%5D=&items%5B2%5D=c&items%5B4%5D=e"); - }); + options: { arrayFormat: "repeat" }, + expected: + "filters%5Bstatus%5D=active&filters%5Bstatus%5D=pending&filters%5Bcategory%5D%5Btype%5D=electronics&filters%5Bcategory%5D%5Bsubcategories%5D=phones&filters%5Bcategory%5D%5Bsubcategories%5D=laptops&sort%5Bfield%5D=name&sort%5Bdirection%5D=asc", + }, + { + description: "should handle arrays with null/undefined values", + input: { items: ["a", null, "c", undefined, "e"] }, + expected: "items%5B0%5D=a&items%5B1%5D=&items%5B2%5D=c&items%5B4%5D=e", + }, + { + description: "should handle objects with null/undefined values", + input: { name: "John", age: null, email: undefined, active: true }, + expected: "name=John&age=&active=true", + }, + ]; - it("should handle objects with null/undefined values", () => { - const obj = { name: "John", age: null, email: undefined, active: true }; - expect(toQueryString(obj)).toBe("name=John&age=&active=true"); + mixedTests.forEach(({ description, input, options, expected }) => { + it(description, () => { + expect(toQueryString(input, options)).toBe(expected); + }); }); }); describe("Edge cases", () => { - it("should handle numeric keys", () => { - const obj = { "0": "zero", "1": "one" }; - expect(toQueryString(obj)).toBe("0=zero&1=one"); - }); - - it("should handle boolean values in objects", () => { - const obj = { enabled: true, disabled: false }; - expect(toQueryString(obj)).toBe("enabled=true&disabled=false"); - }); - - it("should handle empty strings", () => { - const obj = { name: "", description: "test" }; - expect(toQueryString(obj)).toBe("name=&description=test"); - }); + const edgeCaseTests: BasicTestCase[] = [ + { + description: "should handle numeric keys", + input: { "0": "zero", "1": "one" }, + expected: "0=zero&1=one", + }, + { + description: "should handle boolean values in objects", + input: { enabled: true, disabled: false }, + expected: "enabled=true&disabled=false", + }, + { + description: "should handle empty strings", + input: { name: "", description: "test" }, + expected: "name=&description=test", + }, + { + description: "should handle zero values", + input: { count: 0, price: 0.0 }, + expected: "count=0&price=0", + }, + { + description: "should handle arrays with empty strings", + input: { items: ["a", "", "c"] }, + expected: "items%5B0%5D=a&items%5B1%5D=&items%5B2%5D=c", + }, + ]; - it("should handle zero values", () => { - const obj = { count: 0, price: 0.0 }; - expect(toQueryString(obj)).toBe("count=0&price=0"); - }); - - it("should handle arrays with empty strings", () => { - const obj = { items: ["a", "", "c"] }; - expect(toQueryString(obj)).toBe("items%5B0%5D=a&items%5B1%5D=&items%5B2%5D=c"); + edgeCaseTests.forEach(({ description, input, expected }) => { + it(description, () => { + expect(toQueryString(input)).toBe(expected); + }); }); }); describe("Options combinations", () => { - it("should respect both arrayFormat and encode options", () => { - const obj = { items: ["a & b", "c & d"] }; - expect(toQueryString(obj, { arrayFormat: "repeat", encode: false })).toBe("items=a & b&items=c & d"); - }); + interface OptionsTestCase { + description: string; + input: any; + options?: { arrayFormat?: "repeat" | "indices"; encode?: boolean }; + expected: string; + } - it("should use default options when none provided", () => { - const obj = { items: ["a", "b"] }; - expect(toQueryString(obj)).toBe("items%5B0%5D=a&items%5B1%5D=b"); - }); + const optionsTests: OptionsTestCase[] = [ + { + description: "should respect both arrayFormat and encode options", + input: { items: ["a & b", "c & d"] }, + options: { arrayFormat: "repeat", encode: false }, + expected: "items=a & b&items=c & d", + }, + { + description: "should use default options when none provided", + input: { items: ["a", "b"] }, + expected: "items%5B0%5D=a&items%5B1%5D=b", + }, + { + description: "should merge provided options with defaults", + input: { items: ["a", "b"], name: "John Doe" }, + options: { encode: false }, + expected: "items[0]=a&items[1]=b&name=John Doe", + }, + ]; - it("should merge provided options with defaults", () => { - const obj = { items: ["a", "b"], name: "John Doe" }; - expect(toQueryString(obj, { encode: false })).toBe("items[0]=a&items[1]=b&name=John Doe"); + optionsTests.forEach(({ description, input, options, expected }) => { + it(description, () => { + expect(toQueryString(input, options)).toBe(expected); + }); }); }); }); diff --git a/src/management/tests/wire/actions.test.ts b/src/management/tests/wire/actions.test.ts index 6fa1addaae..af504f3b40 100644 --- a/src/management/tests/wire/actions.test.ts +++ b/src/management/tests/wire/actions.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("Actions", () => { +describe("ActionsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { total: 1.1, @@ -32,7 +32,13 @@ describe("Actions", () => { }, ], }; - server.mockEndpoint().get("/actions/actions").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/actions/actions") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); const expected = { total: 1.1, @@ -78,10 +84,16 @@ describe("Actions", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/actions/actions").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/actions/actions") + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.actions.list(); @@ -90,10 +102,16 @@ describe("Actions", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/actions/actions").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/actions/actions") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.actions.list(); @@ -102,10 +120,16 @@ describe("Actions", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/actions/actions").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/actions/actions") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.actions.list(); @@ -114,10 +138,16 @@ describe("Actions", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/actions/actions").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/actions/actions") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.actions.list(); @@ -126,7 +156,7 @@ describe("Actions", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name", supported_triggers: [{ id: "id" }] }; const rawResponseBody = { id: "id", @@ -319,7 +349,7 @@ describe("Actions", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "my-action", supported_triggers: [{ id: "id" }, { id: "id" }] }; const rawResponseBody = { key: "value" }; server @@ -348,7 +378,7 @@ describe("Actions", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "my-action", supported_triggers: [{ id: "id" }, { id: "id" }] }; const rawResponseBody = { key: "value" }; server @@ -377,7 +407,7 @@ describe("Actions", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "my-action", supported_triggers: [{ id: "id" }, { id: "id" }] }; const rawResponseBody = { key: "value" }; server @@ -406,7 +436,7 @@ describe("Actions", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "my-action", supported_triggers: [{ id: "id" }, { id: "id" }] }; const rawResponseBody = { key: "value" }; server @@ -435,7 +465,7 @@ describe("Actions", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -620,7 +650,7 @@ describe("Actions", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -638,7 +668,7 @@ describe("Actions", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -656,7 +686,7 @@ describe("Actions", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -674,7 +704,7 @@ describe("Actions", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -692,7 +722,7 @@ describe("Actions", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -710,7 +740,7 @@ describe("Actions", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/actions/actions/id").respondWith().statusCode(200).build(); @@ -722,7 +752,7 @@ describe("Actions", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -740,7 +770,7 @@ describe("Actions", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -758,7 +788,7 @@ describe("Actions", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -776,7 +806,7 @@ describe("Actions", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -794,7 +824,7 @@ describe("Actions", () => { test("delete (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -812,7 +842,7 @@ describe("Actions", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { id: "id", @@ -998,7 +1028,7 @@ describe("Actions", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -1017,7 +1047,7 @@ describe("Actions", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -1036,7 +1066,7 @@ describe("Actions", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -1055,7 +1085,7 @@ describe("Actions", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -1074,7 +1104,7 @@ describe("Actions", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -1093,7 +1123,7 @@ describe("Actions", () => { test("deploy (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -1202,7 +1232,7 @@ describe("Actions", () => { test("deploy (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -1220,7 +1250,7 @@ describe("Actions", () => { test("deploy (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -1238,7 +1268,7 @@ describe("Actions", () => { test("deploy (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -1256,7 +1286,7 @@ describe("Actions", () => { test("deploy (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -1274,7 +1304,7 @@ describe("Actions", () => { test("test (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { payload: { key: "value" } }; const rawResponseBody = { payload: { key: "value" } }; server @@ -1300,7 +1330,7 @@ describe("Actions", () => { test("test (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { payload: { payload: { key: "value" } } }; const rawResponseBody = { key: "value" }; server @@ -1325,7 +1355,7 @@ describe("Actions", () => { test("test (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { payload: { payload: { key: "value" } } }; const rawResponseBody = { key: "value" }; server @@ -1350,7 +1380,7 @@ describe("Actions", () => { test("test (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { payload: { payload: { key: "value" } } }; const rawResponseBody = { key: "value" }; server @@ -1375,7 +1405,7 @@ describe("Actions", () => { test("test (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { payload: { payload: { key: "value" } } }; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/actions/executions.test.ts b/src/management/tests/wire/actions/executions.test.ts index c391f60695..b4781779ed 100644 --- a/src/management/tests/wire/actions/executions.test.ts +++ b/src/management/tests/wire/actions/executions.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Executions", () => { +describe("ExecutionsClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -46,7 +46,7 @@ describe("Executions", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -64,7 +64,7 @@ describe("Executions", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -82,7 +82,7 @@ describe("Executions", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -100,7 +100,7 @@ describe("Executions", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -118,7 +118,7 @@ describe("Executions", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/actions/triggers.test.ts b/src/management/tests/wire/actions/triggers.test.ts index 076927f065..027586b839 100644 --- a/src/management/tests/wire/actions/triggers.test.ts +++ b/src/management/tests/wire/actions/triggers.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Triggers", () => { +describe("TriggersClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { triggers: [ @@ -47,7 +47,7 @@ describe("Triggers", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/actions/triggers").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -59,7 +59,7 @@ describe("Triggers", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/actions/triggers").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -71,7 +71,7 @@ describe("Triggers", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/actions/triggers").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -83,7 +83,7 @@ describe("Triggers", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/actions/triggers").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); diff --git a/src/management/tests/wire/actions/triggers/bindings.test.ts b/src/management/tests/wire/actions/triggers/bindings.test.ts index 61f64d3651..49d0576777 100644 --- a/src/management/tests/wire/actions/triggers/bindings.test.ts +++ b/src/management/tests/wire/actions/triggers/bindings.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../../mock-server/MockServerPool"; import { ManagementClient } from "../../../../Client"; import * as Management from "../../../../api/index"; -describe("Bindings", () => { +describe("BindingsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { total: 1.1, @@ -24,7 +24,7 @@ describe("Bindings", () => { ], }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/actions/triggers/triggerId/bindings") .respondWith() .statusCode(200) @@ -58,11 +58,11 @@ describe("Bindings", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/actions/triggers/triggerId/bindings") .respondWith() .statusCode(400) @@ -76,11 +76,11 @@ describe("Bindings", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/actions/triggers/triggerId/bindings") .respondWith() .statusCode(401) @@ -94,11 +94,11 @@ describe("Bindings", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/actions/triggers/triggerId/bindings") .respondWith() .statusCode(403) @@ -112,11 +112,11 @@ describe("Bindings", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/actions/triggers/triggerId/bindings") .respondWith() .statusCode(429) @@ -130,7 +130,7 @@ describe("Bindings", () => { test("updateMany (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { bindings: [ @@ -168,7 +168,7 @@ describe("Bindings", () => { test("updateMany (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -187,7 +187,7 @@ describe("Bindings", () => { test("updateMany (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -206,7 +206,7 @@ describe("Bindings", () => { test("updateMany (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -225,7 +225,7 @@ describe("Bindings", () => { test("updateMany (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/actions/versions.test.ts b/src/management/tests/wire/actions/versions.test.ts index d4719f02e3..4b0a5b5366 100644 --- a/src/management/tests/wire/actions/versions.test.ts +++ b/src/management/tests/wire/actions/versions.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Versions", () => { +describe("VersionsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { total: 1.1, @@ -33,7 +33,7 @@ describe("Versions", () => { ], }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/actions/actions/actionId/versions") .respondWith() .statusCode(200) @@ -80,11 +80,11 @@ describe("Versions", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/actions/actions/actionId/versions") .respondWith() .statusCode(400) @@ -98,11 +98,11 @@ describe("Versions", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/actions/actions/actionId/versions") .respondWith() .statusCode(401) @@ -116,11 +116,11 @@ describe("Versions", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/actions/actions/actionId/versions") .respondWith() .statusCode(403) @@ -134,11 +134,11 @@ describe("Versions", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/actions/actions/actionId/versions") .respondWith() .statusCode(429) @@ -152,7 +152,7 @@ describe("Versions", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -261,7 +261,7 @@ describe("Versions", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -279,7 +279,7 @@ describe("Versions", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -297,7 +297,7 @@ describe("Versions", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -315,7 +315,7 @@ describe("Versions", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -333,7 +333,7 @@ describe("Versions", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -351,7 +351,7 @@ describe("Versions", () => { test("deploy (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -460,7 +460,7 @@ describe("Versions", () => { test("deploy (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -478,7 +478,7 @@ describe("Versions", () => { test("deploy (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -496,7 +496,7 @@ describe("Versions", () => { test("deploy (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -514,7 +514,7 @@ describe("Versions", () => { test("deploy (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/anomaly/blocks.test.ts b/src/management/tests/wire/anomaly/blocks.test.ts index 7e65467e99..0d3c7d3645 100644 --- a/src/management/tests/wire/anomaly/blocks.test.ts +++ b/src/management/tests/wire/anomaly/blocks.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Blocks", () => { +describe("BlocksClient", () => { test("checkIp (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().get("/anomaly/blocks/ips/id").respondWith().statusCode(200).build(); @@ -17,7 +17,7 @@ describe("Blocks", () => { test("checkIp (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -35,7 +35,7 @@ describe("Blocks", () => { test("checkIp (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -53,7 +53,7 @@ describe("Blocks", () => { test("checkIp (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -71,7 +71,7 @@ describe("Blocks", () => { test("checkIp (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -89,7 +89,7 @@ describe("Blocks", () => { test("checkIp (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -107,7 +107,7 @@ describe("Blocks", () => { test("unblockIp (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/anomaly/blocks/ips/id").respondWith().statusCode(200).build(); @@ -117,7 +117,7 @@ describe("Blocks", () => { test("unblockIp (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -135,7 +135,7 @@ describe("Blocks", () => { test("unblockIp (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -153,7 +153,7 @@ describe("Blocks", () => { test("unblockIp (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -171,7 +171,7 @@ describe("Blocks", () => { test("unblockIp (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/attackProtection/botDetection.test.ts b/src/management/tests/wire/attackProtection/botDetection.test.ts index 83cb5943f3..6d8aab988a 100644 --- a/src/management/tests/wire/attackProtection/botDetection.test.ts +++ b/src/management/tests/wire/attackProtection/botDetection.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("BotDetection", () => { +describe("BotDetectionClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { bot_detection_level: "low", @@ -38,7 +38,7 @@ describe("BotDetection", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -56,7 +56,7 @@ describe("BotDetection", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -74,7 +74,7 @@ describe("BotDetection", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -92,7 +92,7 @@ describe("BotDetection", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -110,7 +110,7 @@ describe("BotDetection", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { bot_detection_level: "low", @@ -142,7 +142,7 @@ describe("BotDetection", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -161,7 +161,7 @@ describe("BotDetection", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -180,7 +180,7 @@ describe("BotDetection", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -199,7 +199,7 @@ describe("BotDetection", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -218,7 +218,7 @@ describe("BotDetection", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/attackProtection/breachedPasswordDetection.test.ts b/src/management/tests/wire/attackProtection/breachedPasswordDetection.test.ts index d685223536..a0dbfec30c 100644 --- a/src/management/tests/wire/attackProtection/breachedPasswordDetection.test.ts +++ b/src/management/tests/wire/attackProtection/breachedPasswordDetection.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("BreachedPasswordDetection", () => { +describe("BreachedPasswordDetectionClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { enabled: true, @@ -43,7 +43,7 @@ describe("BreachedPasswordDetection", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -61,7 +61,7 @@ describe("BreachedPasswordDetection", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -79,7 +79,7 @@ describe("BreachedPasswordDetection", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -97,7 +97,7 @@ describe("BreachedPasswordDetection", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { enabled: true, @@ -134,7 +134,7 @@ describe("BreachedPasswordDetection", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -153,7 +153,7 @@ describe("BreachedPasswordDetection", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -172,7 +172,7 @@ describe("BreachedPasswordDetection", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -191,7 +191,7 @@ describe("BreachedPasswordDetection", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/attackProtection/bruteForceProtection.test.ts b/src/management/tests/wire/attackProtection/bruteForceProtection.test.ts index 5063b939dc..c74672789d 100644 --- a/src/management/tests/wire/attackProtection/bruteForceProtection.test.ts +++ b/src/management/tests/wire/attackProtection/bruteForceProtection.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("BruteForceProtection", () => { +describe("BruteForceProtectionClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { enabled: true, @@ -36,7 +36,7 @@ describe("BruteForceProtection", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -54,7 +54,7 @@ describe("BruteForceProtection", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -72,7 +72,7 @@ describe("BruteForceProtection", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -90,7 +90,7 @@ describe("BruteForceProtection", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { enabled: true, @@ -120,7 +120,7 @@ describe("BruteForceProtection", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -139,7 +139,7 @@ describe("BruteForceProtection", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -158,7 +158,7 @@ describe("BruteForceProtection", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -177,7 +177,7 @@ describe("BruteForceProtection", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/attackProtection/captcha.test.ts b/src/management/tests/wire/attackProtection/captcha.test.ts index 300f059655..706e993230 100644 --- a/src/management/tests/wire/attackProtection/captcha.test.ts +++ b/src/management/tests/wire/attackProtection/captcha.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Captcha", () => { +describe("CaptchaClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { active_provider_id: "active_provider_id", @@ -65,7 +65,7 @@ describe("Captcha", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -83,7 +83,7 @@ describe("Captcha", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -101,7 +101,7 @@ describe("Captcha", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -119,7 +119,7 @@ describe("Captcha", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -137,7 +137,7 @@ describe("Captcha", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { active_provider_id: "active_provider_id", @@ -196,7 +196,7 @@ describe("Captcha", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -215,7 +215,7 @@ describe("Captcha", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -234,7 +234,7 @@ describe("Captcha", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -253,7 +253,7 @@ describe("Captcha", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/attackProtection/suspiciousIpThrottling.test.ts b/src/management/tests/wire/attackProtection/suspiciousIpThrottling.test.ts index 57305dd744..cab450e54c 100644 --- a/src/management/tests/wire/attackProtection/suspiciousIpThrottling.test.ts +++ b/src/management/tests/wire/attackProtection/suspiciousIpThrottling.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("SuspiciousIpThrottling", () => { +describe("SuspiciousIpThrottlingClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { enabled: true, @@ -43,7 +43,7 @@ describe("SuspiciousIpThrottling", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -61,7 +61,7 @@ describe("SuspiciousIpThrottling", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -79,7 +79,7 @@ describe("SuspiciousIpThrottling", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -97,7 +97,7 @@ describe("SuspiciousIpThrottling", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { enabled: true, @@ -134,7 +134,7 @@ describe("SuspiciousIpThrottling", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -153,7 +153,7 @@ describe("SuspiciousIpThrottling", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -172,7 +172,7 @@ describe("SuspiciousIpThrottling", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -191,7 +191,7 @@ describe("SuspiciousIpThrottling", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/branding.test.ts b/src/management/tests/wire/branding.test.ts index 571bbc4aa7..7206bf11aa 100644 --- a/src/management/tests/wire/branding.test.ts +++ b/src/management/tests/wire/branding.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("Branding", () => { +describe("BrandingClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { colors: { primary: "primary", page_background: "page_background" }, @@ -33,7 +33,7 @@ describe("Branding", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/branding").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -45,7 +45,7 @@ describe("Branding", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/branding").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -57,7 +57,7 @@ describe("Branding", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/branding").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -69,7 +69,7 @@ describe("Branding", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { colors: { primary: "primary", page_background: "page_background" }, @@ -102,7 +102,7 @@ describe("Branding", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -121,7 +121,7 @@ describe("Branding", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -140,7 +140,7 @@ describe("Branding", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -159,7 +159,7 @@ describe("Branding", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/branding/phone/providers.test.ts b/src/management/tests/wire/branding/phone/providers.test.ts index 1773507166..546ee4d7d1 100644 --- a/src/management/tests/wire/branding/phone/providers.test.ts +++ b/src/management/tests/wire/branding/phone/providers.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../../mock-server/MockServerPool"; import { ManagementClient } from "../../../../Client"; import * as Management from "../../../../api/index"; -describe("Providers", () => { +describe("ProvidersClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { providers: [ @@ -55,7 +55,7 @@ describe("Providers", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -73,7 +73,7 @@ describe("Providers", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -91,7 +91,7 @@ describe("Providers", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -109,7 +109,7 @@ describe("Providers", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -127,7 +127,7 @@ describe("Providers", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "twilio", credentials: { auth_token: "auth_token" } }; const rawResponseBody = { id: "id", @@ -173,7 +173,7 @@ describe("Providers", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "twilio", credentials: { auth_token: "x" } }; const rawResponseBody = { key: "value" }; server @@ -197,7 +197,7 @@ describe("Providers", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "twilio", credentials: { auth_token: "x" } }; const rawResponseBody = { key: "value" }; server @@ -221,7 +221,7 @@ describe("Providers", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "twilio", credentials: { auth_token: "x" } }; const rawResponseBody = { key: "value" }; server @@ -245,7 +245,7 @@ describe("Providers", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "twilio", credentials: { auth_token: "x" } }; const rawResponseBody = { key: "value" }; server @@ -269,7 +269,7 @@ describe("Providers", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "twilio", credentials: { auth_token: "x" } }; const rawResponseBody = { key: "value" }; server @@ -293,7 +293,7 @@ describe("Providers", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -333,7 +333,7 @@ describe("Providers", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -351,7 +351,7 @@ describe("Providers", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -369,7 +369,7 @@ describe("Providers", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -387,7 +387,7 @@ describe("Providers", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -405,7 +405,7 @@ describe("Providers", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -423,7 +423,7 @@ describe("Providers", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/branding/phone/providers/id").respondWith().statusCode(200).build(); @@ -433,7 +433,7 @@ describe("Providers", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -451,7 +451,7 @@ describe("Providers", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -469,7 +469,7 @@ describe("Providers", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -487,7 +487,7 @@ describe("Providers", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -505,7 +505,7 @@ describe("Providers", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { id: "id", @@ -546,7 +546,7 @@ describe("Providers", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -565,7 +565,7 @@ describe("Providers", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -584,7 +584,7 @@ describe("Providers", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -603,7 +603,7 @@ describe("Providers", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -622,7 +622,7 @@ describe("Providers", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -641,7 +641,7 @@ describe("Providers", () => { test("update (7)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -660,7 +660,7 @@ describe("Providers", () => { test("test (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { to: "to" }; const rawResponseBody = { code: 1.1, message: "message" }; server @@ -683,7 +683,7 @@ describe("Providers", () => { test("test (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { to: "x" }; const rawResponseBody = { key: "value" }; server @@ -704,7 +704,7 @@ describe("Providers", () => { test("test (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { to: "x" }; const rawResponseBody = { key: "value" }; server @@ -725,7 +725,7 @@ describe("Providers", () => { test("test (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { to: "x" }; const rawResponseBody = { key: "value" }; server @@ -746,7 +746,7 @@ describe("Providers", () => { test("test (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { to: "x" }; const rawResponseBody = { key: "value" }; server @@ -767,7 +767,7 @@ describe("Providers", () => { test("test (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { to: "x" }; const rawResponseBody = { key: "value" }; server @@ -788,7 +788,7 @@ describe("Providers", () => { test("test (7)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { to: "x" }; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/branding/phone/templates.test.ts b/src/management/tests/wire/branding/phone/templates.test.ts index 7505c58ef2..cfbc7745b0 100644 --- a/src/management/tests/wire/branding/phone/templates.test.ts +++ b/src/management/tests/wire/branding/phone/templates.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../../mock-server/MockServerPool"; import { ManagementClient } from "../../../../Client"; import * as Management from "../../../../api/index"; -describe("Templates", () => { +describe("TemplatesClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { templates: [ @@ -50,7 +50,7 @@ describe("Templates", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -68,7 +68,7 @@ describe("Templates", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -86,7 +86,7 @@ describe("Templates", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -104,7 +104,7 @@ describe("Templates", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -122,7 +122,7 @@ describe("Templates", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { id: "id", @@ -163,7 +163,7 @@ describe("Templates", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -182,7 +182,7 @@ describe("Templates", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -201,7 +201,7 @@ describe("Templates", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -220,7 +220,7 @@ describe("Templates", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -239,7 +239,7 @@ describe("Templates", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -258,7 +258,7 @@ describe("Templates", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -298,7 +298,7 @@ describe("Templates", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -316,7 +316,7 @@ describe("Templates", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -334,7 +334,7 @@ describe("Templates", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -352,7 +352,7 @@ describe("Templates", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -370,7 +370,7 @@ describe("Templates", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -388,7 +388,7 @@ describe("Templates", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/branding/phone/templates/id").respondWith().statusCode(200).build(); @@ -398,7 +398,7 @@ describe("Templates", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -416,7 +416,7 @@ describe("Templates", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -434,7 +434,7 @@ describe("Templates", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -452,7 +452,7 @@ describe("Templates", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -470,7 +470,7 @@ describe("Templates", () => { test("delete (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -488,7 +488,7 @@ describe("Templates", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { id: "id", @@ -529,7 +529,7 @@ describe("Templates", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -548,7 +548,7 @@ describe("Templates", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -567,7 +567,7 @@ describe("Templates", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -586,7 +586,7 @@ describe("Templates", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -605,7 +605,7 @@ describe("Templates", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -624,7 +624,7 @@ describe("Templates", () => { test("reset (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { key: "value" }; const rawResponseBody = { id: "x", @@ -667,7 +667,7 @@ describe("Templates", () => { test("reset (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { key: "value" }; const rawResponseBody = { key: "value" }; server @@ -688,7 +688,7 @@ describe("Templates", () => { test("reset (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { key: "value" }; const rawResponseBody = { key: "value" }; server @@ -709,7 +709,7 @@ describe("Templates", () => { test("reset (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { key: "value" }; const rawResponseBody = { key: "value" }; server @@ -730,7 +730,7 @@ describe("Templates", () => { test("reset (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { key: "value" }; const rawResponseBody = { key: "value" }; server @@ -751,7 +751,7 @@ describe("Templates", () => { test("test (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { to: "to" }; const rawResponseBody = { message: "message" }; server @@ -773,7 +773,7 @@ describe("Templates", () => { test("test (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { to: "x" }; const rawResponseBody = { key: "value" }; server @@ -794,7 +794,7 @@ describe("Templates", () => { test("test (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { to: "x" }; const rawResponseBody = { key: "value" }; server @@ -815,7 +815,7 @@ describe("Templates", () => { test("test (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { to: "x" }; const rawResponseBody = { key: "value" }; server @@ -836,7 +836,7 @@ describe("Templates", () => { test("test (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { to: "x" }; const rawResponseBody = { key: "value" }; server @@ -857,7 +857,7 @@ describe("Templates", () => { test("test (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { to: "x" }; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/branding/templates.test.ts b/src/management/tests/wire/branding/templates.test.ts index e4dedd0b6a..2cf818448e 100644 --- a/src/management/tests/wire/branding/templates.test.ts +++ b/src/management/tests/wire/branding/templates.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Templates", () => { +describe("TemplatesClient", () => { test("getUniversalLogin (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { body: "body" }; server @@ -26,7 +26,7 @@ describe("Templates", () => { test("getUniversalLogin (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -44,7 +44,7 @@ describe("Templates", () => { test("getUniversalLogin (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -62,7 +62,7 @@ describe("Templates", () => { test("getUniversalLogin (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -80,7 +80,7 @@ describe("Templates", () => { test("getUniversalLogin (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -98,7 +98,7 @@ describe("Templates", () => { test("getUniversalLogin (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -116,7 +116,7 @@ describe("Templates", () => { test("updateUniversalLogin (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = "string"; server @@ -133,7 +133,7 @@ describe("Templates", () => { test("updateUniversalLogin (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = "string"; const rawResponseBody = { key: "value" }; server @@ -152,7 +152,7 @@ describe("Templates", () => { test("updateUniversalLogin (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = "string"; const rawResponseBody = { key: "value" }; server @@ -171,7 +171,7 @@ describe("Templates", () => { test("updateUniversalLogin (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = "string"; const rawResponseBody = { key: "value" }; server @@ -190,7 +190,7 @@ describe("Templates", () => { test("updateUniversalLogin (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = "string"; const rawResponseBody = { key: "value" }; server @@ -209,7 +209,7 @@ describe("Templates", () => { test("updateUniversalLogin (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = "string"; const rawResponseBody = { key: "value" }; server @@ -228,7 +228,7 @@ describe("Templates", () => { test("updateUniversalLogin (7)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = "string"; const rawResponseBody = { key: "value" }; server @@ -247,7 +247,7 @@ describe("Templates", () => { test("deleteUniversalLogin (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/branding/templates/universal-login").respondWith().statusCode(200).build(); @@ -257,7 +257,7 @@ describe("Templates", () => { test("deleteUniversalLogin (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -275,7 +275,7 @@ describe("Templates", () => { test("deleteUniversalLogin (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -293,7 +293,7 @@ describe("Templates", () => { test("deleteUniversalLogin (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -311,7 +311,7 @@ describe("Templates", () => { test("deleteUniversalLogin (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/branding/themes.test.ts b/src/management/tests/wire/branding/themes.test.ts index cf2dd3b840..884014cc0e 100644 --- a/src/management/tests/wire/branding/themes.test.ts +++ b/src/management/tests/wire/branding/themes.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Themes", () => { +describe("ThemesClient", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { borders: { button_border_radius: 1.1, @@ -285,7 +285,7 @@ describe("Themes", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { borders: { button_border_radius: 1.1, @@ -428,7 +428,7 @@ describe("Themes", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { borders: { button_border_radius: 1.1, @@ -571,7 +571,7 @@ describe("Themes", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { borders: { button_border_radius: 1.1, @@ -714,7 +714,7 @@ describe("Themes", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { borders: { button_border_radius: 1.1, @@ -857,7 +857,7 @@ describe("Themes", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { borders: { button_border_radius: 1.1, @@ -1000,7 +1000,7 @@ describe("Themes", () => { test("getDefault (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { borders: { @@ -1153,7 +1153,7 @@ describe("Themes", () => { test("getDefault (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -1171,7 +1171,7 @@ describe("Themes", () => { test("getDefault (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -1189,7 +1189,7 @@ describe("Themes", () => { test("getDefault (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -1207,7 +1207,7 @@ describe("Themes", () => { test("getDefault (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -1225,7 +1225,7 @@ describe("Themes", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { borders: { @@ -1378,7 +1378,7 @@ describe("Themes", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -1396,7 +1396,7 @@ describe("Themes", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -1414,7 +1414,7 @@ describe("Themes", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -1432,7 +1432,7 @@ describe("Themes", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -1450,7 +1450,7 @@ describe("Themes", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/branding/themes/themeId").respondWith().statusCode(200).build(); @@ -1460,7 +1460,7 @@ describe("Themes", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -1478,7 +1478,7 @@ describe("Themes", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -1496,7 +1496,7 @@ describe("Themes", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -1514,7 +1514,7 @@ describe("Themes", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -1532,7 +1532,7 @@ describe("Themes", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { borders: { button_border_radius: 1.1, @@ -1810,7 +1810,7 @@ describe("Themes", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { borders: { button_border_radius: 1.1, @@ -1953,7 +1953,7 @@ describe("Themes", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { borders: { button_border_radius: 1.1, @@ -2096,7 +2096,7 @@ describe("Themes", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { borders: { button_border_radius: 1.1, @@ -2239,7 +2239,7 @@ describe("Themes", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { borders: { button_border_radius: 1.1, @@ -2382,7 +2382,7 @@ describe("Themes", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { borders: { button_border_radius: 1.1, diff --git a/src/management/tests/wire/clientGrants.test.ts b/src/management/tests/wire/clientGrants.test.ts index 29b0e3e369..2c00b2a03a 100644 --- a/src/management/tests/wire/clientGrants.test.ts +++ b/src/management/tests/wire/clientGrants.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("ClientGrants", () => { +describe("ClientGrantsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { next: "next", @@ -25,7 +25,13 @@ describe("ClientGrants", () => { }, ], }; - server.mockEndpoint().get("/client-grants").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/client-grants") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); const expected = { next: "next", @@ -60,10 +66,16 @@ describe("ClientGrants", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/client-grants").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/client-grants") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.clientGrants.list(); @@ -72,10 +84,16 @@ describe("ClientGrants", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/client-grants").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/client-grants") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.clientGrants.list(); @@ -84,10 +102,16 @@ describe("ClientGrants", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/client-grants").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/client-grants") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.clientGrants.list(); @@ -96,7 +120,7 @@ describe("ClientGrants", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { client_id: "client_id", audience: "audience" }; const rawResponseBody = { id: "id", @@ -137,7 +161,7 @@ describe("ClientGrants", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { client_id: "client_id", audience: "x" }; const rawResponseBody = { key: "value" }; server @@ -159,7 +183,7 @@ describe("ClientGrants", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { client_id: "client_id", audience: "x" }; const rawResponseBody = { key: "value" }; server @@ -181,7 +205,7 @@ describe("ClientGrants", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { client_id: "client_id", audience: "x" }; const rawResponseBody = { key: "value" }; server @@ -203,7 +227,7 @@ describe("ClientGrants", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { client_id: "client_id", audience: "x" }; const rawResponseBody = { key: "value" }; server @@ -225,7 +249,7 @@ describe("ClientGrants", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { client_id: "client_id", audience: "x" }; const rawResponseBody = { key: "value" }; server @@ -247,7 +271,7 @@ describe("ClientGrants", () => { test("create (7)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { client_id: "client_id", audience: "x" }; const rawResponseBody = { key: "value" }; server @@ -269,7 +293,7 @@ describe("ClientGrants", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/client-grants/id").respondWith().statusCode(200).build(); @@ -279,7 +303,7 @@ describe("ClientGrants", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -297,7 +321,7 @@ describe("ClientGrants", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -315,7 +339,7 @@ describe("ClientGrants", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -333,7 +357,7 @@ describe("ClientGrants", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -351,7 +375,7 @@ describe("ClientGrants", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { id: "id", @@ -389,7 +413,7 @@ describe("ClientGrants", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -408,7 +432,7 @@ describe("ClientGrants", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -427,7 +451,7 @@ describe("ClientGrants", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -446,7 +470,7 @@ describe("ClientGrants", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -465,7 +489,7 @@ describe("ClientGrants", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/clientGrants/organizations.test.ts b/src/management/tests/wire/clientGrants/organizations.test.ts index f628d832e7..ea05bea502 100644 --- a/src/management/tests/wire/clientGrants/organizations.test.ts +++ b/src/management/tests/wire/clientGrants/organizations.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Organizations", () => { +describe("OrganizationsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { next: "next", @@ -16,7 +16,7 @@ describe("Organizations", () => { ], }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/client-grants/id/organizations") .respondWith() .statusCode(200) @@ -49,11 +49,11 @@ describe("Organizations", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/client-grants/id/organizations") .respondWith() .statusCode(400) @@ -67,11 +67,11 @@ describe("Organizations", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/client-grants/id/organizations") .respondWith() .statusCode(401) @@ -85,11 +85,11 @@ describe("Organizations", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/client-grants/id/organizations") .respondWith() .statusCode(403) @@ -103,11 +103,11 @@ describe("Organizations", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/client-grants/id/organizations") .respondWith() .statusCode(429) diff --git a/src/management/tests/wire/clients.test.ts b/src/management/tests/wire/clients.test.ts index 83eaa9a15e..45d4b83212 100644 --- a/src/management/tests/wire/clients.test.ts +++ b/src/management/tests/wire/clients.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("Clients", () => { +describe("ClientsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { start: 1.1, @@ -56,12 +56,27 @@ describe("Clients", () => { skip_non_verifiable_callback_uri_confirmation_prompt: true, par_request_expiry: 1, token_quota: { client_credentials: {} }, + express_configuration: { + initiate_login_uri_template: "initiate_login_uri_template", + user_attribute_profile_id: "user_attribute_profile_id", + connection_profile_id: "connection_profile_id", + enable_client: true, + enable_organization: true, + okta_oin_client_id: "okta_oin_client_id", + admin_login_domain: "admin_login_domain", + }, resource_server_identifier: "resource_server_identifier", async_approval_notification_channels: ["guardian-push"], }, ], }; - server.mockEndpoint().get("/clients").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/clients") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); const expected = { start: 1.1, @@ -120,6 +135,15 @@ describe("Clients", () => { token_quota: { client_credentials: {}, }, + express_configuration: { + initiate_login_uri_template: "initiate_login_uri_template", + user_attribute_profile_id: "user_attribute_profile_id", + connection_profile_id: "connection_profile_id", + enable_client: true, + enable_organization: true, + okta_oin_client_id: "okta_oin_client_id", + admin_login_domain: "admin_login_domain", + }, resource_server_identifier: "resource_server_identifier", async_approval_notification_channels: ["guardian-push"], }, @@ -145,10 +169,16 @@ describe("Clients", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/clients").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/clients") + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.clients.list(); @@ -157,10 +187,16 @@ describe("Clients", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/clients").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/clients") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.clients.list(); @@ -169,10 +205,16 @@ describe("Clients", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/clients").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/clients") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.clients.list(); @@ -181,10 +223,16 @@ describe("Clients", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/clients").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/clients") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.clients.list(); @@ -193,7 +241,7 @@ describe("Clients", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name" }; const rawResponseBody = { client_id: "client_id", @@ -368,8 +416,20 @@ describe("Clients", () => { signed_request_object: { required: true, credentials: [{ id: "id" }] }, compliance_level: "none", skip_non_verifiable_callback_uri_confirmation_prompt: true, + token_exchange: { allow_any_profile_of_type: ["custom_authentication"] }, par_request_expiry: 1, token_quota: { client_credentials: { enforce: true, per_day: 1, per_hour: 1 } }, + express_configuration: { + initiate_login_uri_template: "initiate_login_uri_template", + user_attribute_profile_id: "user_attribute_profile_id", + connection_profile_id: "connection_profile_id", + enable_client: true, + enable_organization: true, + linked_clients: [{ client_id: "client_id" }], + okta_oin_client_id: "okta_oin_client_id", + admin_login_domain: "admin_login_domain", + oin_submission_id: "oin_submission_id", + }, resource_server_identifier: "resource_server_identifier", async_approval_notification_channels: ["guardian-push"], }; @@ -663,6 +723,9 @@ describe("Clients", () => { }, compliance_level: "none", skip_non_verifiable_callback_uri_confirmation_prompt: true, + token_exchange: { + allow_any_profile_of_type: ["custom_authentication"], + }, par_request_expiry: 1, token_quota: { client_credentials: { @@ -671,6 +734,21 @@ describe("Clients", () => { per_hour: 1, }, }, + express_configuration: { + initiate_login_uri_template: "initiate_login_uri_template", + user_attribute_profile_id: "user_attribute_profile_id", + connection_profile_id: "connection_profile_id", + enable_client: true, + enable_organization: true, + linked_clients: [ + { + client_id: "client_id", + }, + ], + okta_oin_client_id: "okta_oin_client_id", + admin_login_domain: "admin_login_domain", + oin_submission_id: "oin_submission_id", + }, resource_server_identifier: "resource_server_identifier", async_approval_notification_channels: ["guardian-push"], }); @@ -678,7 +756,7 @@ describe("Clients", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name" }; const rawResponseBody = { key: "value" }; server @@ -699,7 +777,7 @@ describe("Clients", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name" }; const rawResponseBody = { key: "value" }; server @@ -720,7 +798,7 @@ describe("Clients", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name" }; const rawResponseBody = { key: "value" }; server @@ -741,7 +819,7 @@ describe("Clients", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name" }; const rawResponseBody = { key: "value" }; server @@ -762,7 +840,7 @@ describe("Clients", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name" }; const rawResponseBody = { key: "value" }; server @@ -783,7 +861,7 @@ describe("Clients", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { client_id: "client_id", @@ -958,8 +1036,20 @@ describe("Clients", () => { signed_request_object: { required: true, credentials: [{ id: "id" }] }, compliance_level: "none", skip_non_verifiable_callback_uri_confirmation_prompt: true, + token_exchange: { allow_any_profile_of_type: ["custom_authentication"] }, par_request_expiry: 1, token_quota: { client_credentials: { enforce: true, per_day: 1, per_hour: 1 } }, + express_configuration: { + initiate_login_uri_template: "initiate_login_uri_template", + user_attribute_profile_id: "user_attribute_profile_id", + connection_profile_id: "connection_profile_id", + enable_client: true, + enable_organization: true, + linked_clients: [{ client_id: "client_id" }], + okta_oin_client_id: "okta_oin_client_id", + admin_login_domain: "admin_login_domain", + oin_submission_id: "oin_submission_id", + }, resource_server_identifier: "resource_server_identifier", async_approval_notification_channels: ["guardian-push"], }; @@ -1247,6 +1337,9 @@ describe("Clients", () => { }, compliance_level: "none", skip_non_verifiable_callback_uri_confirmation_prompt: true, + token_exchange: { + allow_any_profile_of_type: ["custom_authentication"], + }, par_request_expiry: 1, token_quota: { client_credentials: { @@ -1255,6 +1348,21 @@ describe("Clients", () => { per_hour: 1, }, }, + express_configuration: { + initiate_login_uri_template: "initiate_login_uri_template", + user_attribute_profile_id: "user_attribute_profile_id", + connection_profile_id: "connection_profile_id", + enable_client: true, + enable_organization: true, + linked_clients: [ + { + client_id: "client_id", + }, + ], + okta_oin_client_id: "okta_oin_client_id", + admin_login_domain: "admin_login_domain", + oin_submission_id: "oin_submission_id", + }, resource_server_identifier: "resource_server_identifier", async_approval_notification_channels: ["guardian-push"], }); @@ -1262,7 +1370,7 @@ describe("Clients", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/clients/id").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -1274,7 +1382,7 @@ describe("Clients", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/clients/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -1286,7 +1394,7 @@ describe("Clients", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/clients/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -1298,7 +1406,7 @@ describe("Clients", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/clients/id").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); @@ -1310,7 +1418,7 @@ describe("Clients", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/clients/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -1322,7 +1430,7 @@ describe("Clients", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/clients/id").respondWith().statusCode(200).build(); @@ -1332,7 +1440,7 @@ describe("Clients", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/clients/id").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -1344,7 +1452,7 @@ describe("Clients", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/clients/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -1356,7 +1464,7 @@ describe("Clients", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/clients/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -1368,7 +1476,7 @@ describe("Clients", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/clients/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -1380,7 +1488,7 @@ describe("Clients", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { client_id: "client_id", @@ -1555,8 +1663,20 @@ describe("Clients", () => { signed_request_object: { required: true, credentials: [{ id: "id" }] }, compliance_level: "none", skip_non_verifiable_callback_uri_confirmation_prompt: true, + token_exchange: { allow_any_profile_of_type: ["custom_authentication"] }, par_request_expiry: 1, token_quota: { client_credentials: { enforce: true, per_day: 1, per_hour: 1 } }, + express_configuration: { + initiate_login_uri_template: "initiate_login_uri_template", + user_attribute_profile_id: "user_attribute_profile_id", + connection_profile_id: "connection_profile_id", + enable_client: true, + enable_organization: true, + linked_clients: [{ client_id: "client_id" }], + okta_oin_client_id: "okta_oin_client_id", + admin_login_domain: "admin_login_domain", + oin_submission_id: "oin_submission_id", + }, resource_server_identifier: "resource_server_identifier", async_approval_notification_channels: ["guardian-push"], }; @@ -1848,6 +1968,9 @@ describe("Clients", () => { }, compliance_level: "none", skip_non_verifiable_callback_uri_confirmation_prompt: true, + token_exchange: { + allow_any_profile_of_type: ["custom_authentication"], + }, par_request_expiry: 1, token_quota: { client_credentials: { @@ -1856,6 +1979,21 @@ describe("Clients", () => { per_hour: 1, }, }, + express_configuration: { + initiate_login_uri_template: "initiate_login_uri_template", + user_attribute_profile_id: "user_attribute_profile_id", + connection_profile_id: "connection_profile_id", + enable_client: true, + enable_organization: true, + linked_clients: [ + { + client_id: "client_id", + }, + ], + okta_oin_client_id: "okta_oin_client_id", + admin_login_domain: "admin_login_domain", + oin_submission_id: "oin_submission_id", + }, resource_server_identifier: "resource_server_identifier", async_approval_notification_channels: ["guardian-push"], }); @@ -1863,7 +2001,7 @@ describe("Clients", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -1882,7 +2020,7 @@ describe("Clients", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -1901,7 +2039,7 @@ describe("Clients", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -1920,7 +2058,7 @@ describe("Clients", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -1939,7 +2077,7 @@ describe("Clients", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -1958,7 +2096,7 @@ describe("Clients", () => { test("rotateSecret (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { client_id: "client_id", @@ -2133,8 +2271,20 @@ describe("Clients", () => { signed_request_object: { required: true, credentials: [{ id: "id" }] }, compliance_level: "none", skip_non_verifiable_callback_uri_confirmation_prompt: true, + token_exchange: { allow_any_profile_of_type: ["custom_authentication"] }, par_request_expiry: 1, token_quota: { client_credentials: { enforce: true, per_day: 1, per_hour: 1 } }, + express_configuration: { + initiate_login_uri_template: "initiate_login_uri_template", + user_attribute_profile_id: "user_attribute_profile_id", + connection_profile_id: "connection_profile_id", + enable_client: true, + enable_organization: true, + linked_clients: [{ client_id: "client_id" }], + okta_oin_client_id: "okta_oin_client_id", + admin_login_domain: "admin_login_domain", + oin_submission_id: "oin_submission_id", + }, resource_server_identifier: "resource_server_identifier", async_approval_notification_channels: ["guardian-push"], }; @@ -2425,6 +2575,9 @@ describe("Clients", () => { }, compliance_level: "none", skip_non_verifiable_callback_uri_confirmation_prompt: true, + token_exchange: { + allow_any_profile_of_type: ["custom_authentication"], + }, par_request_expiry: 1, token_quota: { client_credentials: { @@ -2433,6 +2586,21 @@ describe("Clients", () => { per_hour: 1, }, }, + express_configuration: { + initiate_login_uri_template: "initiate_login_uri_template", + user_attribute_profile_id: "user_attribute_profile_id", + connection_profile_id: "connection_profile_id", + enable_client: true, + enable_organization: true, + linked_clients: [ + { + client_id: "client_id", + }, + ], + okta_oin_client_id: "okta_oin_client_id", + admin_login_domain: "admin_login_domain", + oin_submission_id: "oin_submission_id", + }, resource_server_identifier: "resource_server_identifier", async_approval_notification_channels: ["guardian-push"], }); @@ -2440,7 +2608,7 @@ describe("Clients", () => { test("rotateSecret (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -2458,7 +2626,7 @@ describe("Clients", () => { test("rotateSecret (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -2476,7 +2644,7 @@ describe("Clients", () => { test("rotateSecret (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -2494,7 +2662,7 @@ describe("Clients", () => { test("rotateSecret (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -2512,7 +2680,7 @@ describe("Clients", () => { test("rotateSecret (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/clients/connections.test.ts b/src/management/tests/wire/clients/connections.test.ts index aea439a588..5b4915ffb1 100644 --- a/src/management/tests/wire/clients/connections.test.ts +++ b/src/management/tests/wire/clients/connections.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Connections", () => { +describe("ConnectionsClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { connections: [ @@ -27,7 +27,7 @@ describe("Connections", () => { next: "next", }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/clients/id/connections") .respondWith() .statusCode(200) @@ -72,11 +72,11 @@ describe("Connections", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/clients/id/connections") .respondWith() .statusCode(400) @@ -90,11 +90,11 @@ describe("Connections", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/clients/id/connections") .respondWith() .statusCode(401) @@ -108,11 +108,11 @@ describe("Connections", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/clients/id/connections") .respondWith() .statusCode(403) @@ -126,11 +126,11 @@ describe("Connections", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/clients/id/connections") .respondWith() .statusCode(404) @@ -144,11 +144,11 @@ describe("Connections", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/clients/id/connections") .respondWith() .statusCode(429) diff --git a/src/management/tests/wire/clients/credentials.test.ts b/src/management/tests/wire/clients/credentials.test.ts index b05271dc2e..aed4756ab8 100644 --- a/src/management/tests/wire/clients/credentials.test.ts +++ b/src/management/tests/wire/clients/credentials.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Credentials", () => { +describe("CredentialsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = [ { @@ -50,7 +50,7 @@ describe("Credentials", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -68,7 +68,7 @@ describe("Credentials", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -86,7 +86,7 @@ describe("Credentials", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -104,7 +104,7 @@ describe("Credentials", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -122,7 +122,7 @@ describe("Credentials", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { credential_type: "public_key" }; const rawResponseBody = { id: "id", @@ -164,7 +164,7 @@ describe("Credentials", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { credential_type: "public_key" }; const rawResponseBody = { key: "value" }; server @@ -185,7 +185,7 @@ describe("Credentials", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { credential_type: "public_key" }; const rawResponseBody = { key: "value" }; server @@ -206,7 +206,7 @@ describe("Credentials", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { credential_type: "public_key" }; const rawResponseBody = { key: "value" }; server @@ -227,7 +227,7 @@ describe("Credentials", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { credential_type: "public_key" }; const rawResponseBody = { key: "value" }; server @@ -248,7 +248,7 @@ describe("Credentials", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { credential_type: "public_key" }; const rawResponseBody = { key: "value" }; server @@ -269,7 +269,7 @@ describe("Credentials", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -308,7 +308,7 @@ describe("Credentials", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -326,7 +326,7 @@ describe("Credentials", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -344,7 +344,7 @@ describe("Credentials", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -362,7 +362,7 @@ describe("Credentials", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -380,7 +380,7 @@ describe("Credentials", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server .mockEndpoint() @@ -395,7 +395,7 @@ describe("Credentials", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -413,7 +413,7 @@ describe("Credentials", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -431,7 +431,7 @@ describe("Credentials", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -449,7 +449,7 @@ describe("Credentials", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -467,7 +467,7 @@ describe("Credentials", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { id: "id", @@ -507,7 +507,7 @@ describe("Credentials", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -526,7 +526,7 @@ describe("Credentials", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -545,7 +545,7 @@ describe("Credentials", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -564,7 +564,7 @@ describe("Credentials", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -583,7 +583,7 @@ describe("Credentials", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/connectionProfiles.test.ts b/src/management/tests/wire/connectionProfiles.test.ts new file mode 100644 index 0000000000..0a535422f4 --- /dev/null +++ b/src/management/tests/wire/connectionProfiles.test.ts @@ -0,0 +1,837 @@ +// This file was auto-generated by Fern from our API Definition. + +import { mockServerPool } from "../mock-server/MockServerPool"; +import { ManagementClient } from "../../Client"; +import * as Management from "../../api/index"; + +describe("ConnectionProfilesClient", () => { + test("list (1)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { + next: "next", + connection_profiles: [ + { + id: "id", + name: "name", + connection_name_prefix_template: "connection_name_prefix_template", + enabled_features: ["scim"], + }, + ], + }; + server + .mockEndpoint({ once: false }) + .get("/connection-profiles") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const expected = { + next: "next", + connection_profiles: [ + { + id: "id", + name: "name", + connection_name_prefix_template: "connection_name_prefix_template", + enabled_features: ["scim"], + }, + ], + }; + const page = await client.connectionProfiles.list({ + from: "from", + take: 1, + }); + + expect(expected.connection_profiles).toEqual(page.data); + expect(page.hasNextPage()).toBe(true); + const nextPage = await page.getNextPage(); + expect(expected.connection_profiles).toEqual(nextPage.data); + }); + + test("list (2)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint({ once: false }) + .get("/connection-profiles") + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.list(); + }).rejects.toThrow(Management.BadRequestError); + }); + + test("list (3)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint({ once: false }) + .get("/connection-profiles") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.list(); + }).rejects.toThrow(Management.UnauthorizedError); + }); + + test("list (4)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint({ once: false }) + .get("/connection-profiles") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.list(); + }).rejects.toThrow(Management.ForbiddenError); + }); + + test("list (5)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint({ once: false }) + .get("/connection-profiles") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.list(); + }).rejects.toThrow(Management.TooManyRequestsError); + }); + + test("create (1)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + const rawRequestBody = { name: "name" }; + const rawResponseBody = { + id: "id", + name: "name", + organization: { show_as_button: "none", assign_membership_on_login: "none" }, + connection_name_prefix_template: "connection_name_prefix_template", + enabled_features: ["scim"], + strategy_overrides: { + pingfederate: { enabled_features: ["scim"] }, + ad: { enabled_features: ["scim"] }, + adfs: { enabled_features: ["scim"] }, + waad: { enabled_features: ["scim"] }, + "google-apps": { enabled_features: ["scim"] }, + okta: { enabled_features: ["scim"] }, + oidc: { enabled_features: ["scim"] }, + samlp: { enabled_features: ["scim"] }, + }, + }; + server + .mockEndpoint() + .post("/connection-profiles") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.connectionProfiles.create({ + name: "name", + }); + expect(response).toEqual({ + id: "id", + name: "name", + organization: { + show_as_button: "none", + assign_membership_on_login: "none", + }, + connection_name_prefix_template: "connection_name_prefix_template", + enabled_features: ["scim"], + strategy_overrides: { + pingfederate: { + enabled_features: ["scim"], + }, + ad: { + enabled_features: ["scim"], + }, + adfs: { + enabled_features: ["scim"], + }, + waad: { + enabled_features: ["scim"], + }, + "google-apps": { + enabled_features: ["scim"], + }, + okta: { + enabled_features: ["scim"], + }, + oidc: { + enabled_features: ["scim"], + }, + samlp: { + enabled_features: ["scim"], + }, + }, + }); + }); + + test("create (2)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + const rawRequestBody = { name: "x" }; + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .post("/connection-profiles") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.create({ + name: "x", + }); + }).rejects.toThrow(Management.BadRequestError); + }); + + test("create (3)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + const rawRequestBody = { name: "x" }; + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .post("/connection-profiles") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.create({ + name: "x", + }); + }).rejects.toThrow(Management.UnauthorizedError); + }); + + test("create (4)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + const rawRequestBody = { name: "x" }; + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .post("/connection-profiles") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.create({ + name: "x", + }); + }).rejects.toThrow(Management.ForbiddenError); + }); + + test("create (5)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + const rawRequestBody = { name: "x" }; + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .post("/connection-profiles") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(409) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.create({ + name: "x", + }); + }).rejects.toThrow(Management.ConflictError); + }); + + test("create (6)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + const rawRequestBody = { name: "x" }; + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .post("/connection-profiles") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.create({ + name: "x", + }); + }).rejects.toThrow(Management.TooManyRequestsError); + }); + + test("listTemplates (1)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { connection_profile_templates: [{ id: "id", display_name: "display_name" }] }; + server + .mockEndpoint() + .get("/connection-profiles/templates") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.connectionProfiles.listTemplates(); + expect(response).toEqual({ + connection_profile_templates: [ + { + id: "id", + display_name: "display_name", + }, + ], + }); + }); + + test("listTemplates (2)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .get("/connection-profiles/templates") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.listTemplates(); + }).rejects.toThrow(Management.UnauthorizedError); + }); + + test("listTemplates (3)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .get("/connection-profiles/templates") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.listTemplates(); + }).rejects.toThrow(Management.ForbiddenError); + }); + + test("listTemplates (4)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .get("/connection-profiles/templates") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.listTemplates(); + }).rejects.toThrow(Management.TooManyRequestsError); + }); + + test("getTemplate (1)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { + id: "id", + display_name: "display_name", + template: { + name: "name", + organization: { show_as_button: "none", assign_membership_on_login: "none" }, + connection_name_prefix_template: "connection_name_prefix_template", + enabled_features: ["scim"], + }, + }; + server + .mockEndpoint() + .get("/connection-profiles/templates/id") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.connectionProfiles.getTemplate("id"); + expect(response).toEqual({ + id: "id", + display_name: "display_name", + template: { + name: "name", + organization: { + show_as_button: "none", + assign_membership_on_login: "none", + }, + connection_name_prefix_template: "connection_name_prefix_template", + enabled_features: ["scim"], + }, + }); + }); + + test("getTemplate (2)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .get("/connection-profiles/templates/id") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.getTemplate("id"); + }).rejects.toThrow(Management.UnauthorizedError); + }); + + test("getTemplate (3)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .get("/connection-profiles/templates/id") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.getTemplate("id"); + }).rejects.toThrow(Management.ForbiddenError); + }); + + test("getTemplate (4)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .get("/connection-profiles/templates/id") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.getTemplate("id"); + }).rejects.toThrow(Management.NotFoundError); + }); + + test("getTemplate (5)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .get("/connection-profiles/templates/id") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.getTemplate("id"); + }).rejects.toThrow(Management.TooManyRequestsError); + }); + + test("get (1)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { + id: "id", + name: "name", + organization: { show_as_button: "none", assign_membership_on_login: "none" }, + connection_name_prefix_template: "connection_name_prefix_template", + enabled_features: ["scim"], + strategy_overrides: { + pingfederate: { enabled_features: ["scim"] }, + ad: { enabled_features: ["scim"] }, + adfs: { enabled_features: ["scim"] }, + waad: { enabled_features: ["scim"] }, + "google-apps": { enabled_features: ["scim"] }, + okta: { enabled_features: ["scim"] }, + oidc: { enabled_features: ["scim"] }, + samlp: { enabled_features: ["scim"] }, + }, + }; + server + .mockEndpoint() + .get("/connection-profiles/id") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.connectionProfiles.get("id"); + expect(response).toEqual({ + id: "id", + name: "name", + organization: { + show_as_button: "none", + assign_membership_on_login: "none", + }, + connection_name_prefix_template: "connection_name_prefix_template", + enabled_features: ["scim"], + strategy_overrides: { + pingfederate: { + enabled_features: ["scim"], + }, + ad: { + enabled_features: ["scim"], + }, + adfs: { + enabled_features: ["scim"], + }, + waad: { + enabled_features: ["scim"], + }, + "google-apps": { + enabled_features: ["scim"], + }, + okta: { + enabled_features: ["scim"], + }, + oidc: { + enabled_features: ["scim"], + }, + samlp: { + enabled_features: ["scim"], + }, + }, + }); + }); + + test("get (2)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .get("/connection-profiles/id") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.get("id"); + }).rejects.toThrow(Management.UnauthorizedError); + }); + + test("get (3)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .get("/connection-profiles/id") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.get("id"); + }).rejects.toThrow(Management.ForbiddenError); + }); + + test("get (4)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .get("/connection-profiles/id") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.get("id"); + }).rejects.toThrow(Management.NotFoundError); + }); + + test("get (5)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .get("/connection-profiles/id") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.get("id"); + }).rejects.toThrow(Management.TooManyRequestsError); + }); + + test("delete (1)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + server.mockEndpoint().delete("/connection-profiles/id").respondWith().statusCode(200).build(); + + const response = await client.connectionProfiles.delete("id"); + expect(response).toEqual(undefined); + }); + + test("delete (2)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .delete("/connection-profiles/id") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.delete("id"); + }).rejects.toThrow(Management.UnauthorizedError); + }); + + test("delete (3)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .delete("/connection-profiles/id") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.delete("id"); + }).rejects.toThrow(Management.ForbiddenError); + }); + + test("delete (4)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .delete("/connection-profiles/id") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.delete("id"); + }).rejects.toThrow(Management.TooManyRequestsError); + }); + + test("update (1)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + const rawRequestBody = {}; + const rawResponseBody = { + id: "id", + name: "name", + organization: { show_as_button: "none", assign_membership_on_login: "none" }, + connection_name_prefix_template: "connection_name_prefix_template", + enabled_features: ["scim"], + strategy_overrides: { + pingfederate: { enabled_features: ["scim"] }, + ad: { enabled_features: ["scim"] }, + adfs: { enabled_features: ["scim"] }, + waad: { enabled_features: ["scim"] }, + "google-apps": { enabled_features: ["scim"] }, + okta: { enabled_features: ["scim"] }, + oidc: { enabled_features: ["scim"] }, + samlp: { enabled_features: ["scim"] }, + }, + }; + server + .mockEndpoint() + .patch("/connection-profiles/id") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.connectionProfiles.update("id"); + expect(response).toEqual({ + id: "id", + name: "name", + organization: { + show_as_button: "none", + assign_membership_on_login: "none", + }, + connection_name_prefix_template: "connection_name_prefix_template", + enabled_features: ["scim"], + strategy_overrides: { + pingfederate: { + enabled_features: ["scim"], + }, + ad: { + enabled_features: ["scim"], + }, + adfs: { + enabled_features: ["scim"], + }, + waad: { + enabled_features: ["scim"], + }, + "google-apps": { + enabled_features: ["scim"], + }, + okta: { + enabled_features: ["scim"], + }, + oidc: { + enabled_features: ["scim"], + }, + samlp: { + enabled_features: ["scim"], + }, + }, + }); + }); + + test("update (2)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + const rawRequestBody = {}; + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .patch("/connection-profiles/id") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.update("id"); + }).rejects.toThrow(Management.BadRequestError); + }); + + test("update (3)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + const rawRequestBody = {}; + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .patch("/connection-profiles/id") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.update("id"); + }).rejects.toThrow(Management.UnauthorizedError); + }); + + test("update (4)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + const rawRequestBody = {}; + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .patch("/connection-profiles/id") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.update("id"); + }).rejects.toThrow(Management.ForbiddenError); + }); + + test("update (5)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + const rawRequestBody = {}; + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .patch("/connection-profiles/id") + .jsonBody(rawRequestBody) + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connectionProfiles.update("id"); + }).rejects.toThrow(Management.TooManyRequestsError); + }); +}); diff --git a/src/management/tests/wire/connections.test.ts b/src/management/tests/wire/connections.test.ts index a07966929c..cf5835a315 100644 --- a/src/management/tests/wire/connections.test.ts +++ b/src/management/tests/wire/connections.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("Connections", () => { +describe("ConnectionsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { next: "next", @@ -26,7 +26,13 @@ describe("Connections", () => { }, ], }; - server.mockEndpoint().get("/connections").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/connections") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); const expected = { next: "next", @@ -67,10 +73,16 @@ describe("Connections", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/connections").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/connections") + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.connections.list(); @@ -79,10 +91,16 @@ describe("Connections", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/connections").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/connections") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.connections.list(); @@ -91,10 +109,16 @@ describe("Connections", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/connections").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/connections") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.connections.list(); @@ -103,10 +127,16 @@ describe("Connections", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/connections").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/connections") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.connections.list(); @@ -115,7 +145,7 @@ describe("Connections", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name", strategy: "ad" }; const rawResponseBody = { name: "name", @@ -171,7 +201,7 @@ describe("Connections", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name", strategy: "ad" }; const rawResponseBody = { key: "value" }; server @@ -193,7 +223,7 @@ describe("Connections", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name", strategy: "ad" }; const rawResponseBody = { key: "value" }; server @@ -215,7 +245,7 @@ describe("Connections", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name", strategy: "ad" }; const rawResponseBody = { key: "value" }; server @@ -237,7 +267,7 @@ describe("Connections", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name", strategy: "ad" }; const rawResponseBody = { key: "value" }; server @@ -259,7 +289,7 @@ describe("Connections", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name", strategy: "ad" }; const rawResponseBody = { key: "value" }; server @@ -281,7 +311,7 @@ describe("Connections", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { name: "name", @@ -330,7 +360,7 @@ describe("Connections", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/connections/id").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -342,7 +372,7 @@ describe("Connections", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/connections/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -354,7 +384,7 @@ describe("Connections", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/connections/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -366,7 +396,7 @@ describe("Connections", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/connections/id").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); @@ -378,7 +408,7 @@ describe("Connections", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/connections/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -390,7 +420,7 @@ describe("Connections", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/connections/id").respondWith().statusCode(200).build(); @@ -400,7 +430,7 @@ describe("Connections", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/connections/id").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -412,7 +442,7 @@ describe("Connections", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/connections/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -424,7 +454,7 @@ describe("Connections", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/connections/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -436,7 +466,7 @@ describe("Connections", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/connections/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -448,7 +478,7 @@ describe("Connections", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { name: "name", @@ -501,7 +531,7 @@ describe("Connections", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -520,7 +550,7 @@ describe("Connections", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -539,7 +569,7 @@ describe("Connections", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -558,7 +588,7 @@ describe("Connections", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -577,7 +607,7 @@ describe("Connections", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -596,7 +626,7 @@ describe("Connections", () => { test("update (7)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -615,7 +645,7 @@ describe("Connections", () => { test("checkStatus (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().get("/connections/id/status").respondWith().statusCode(200).build(); @@ -625,7 +655,7 @@ describe("Connections", () => { test("checkStatus (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -643,7 +673,7 @@ describe("Connections", () => { test("checkStatus (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -661,7 +691,7 @@ describe("Connections", () => { test("checkStatus (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -679,7 +709,7 @@ describe("Connections", () => { test("checkStatus (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -697,7 +727,7 @@ describe("Connections", () => { test("checkStatus (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/connections/clients.test.ts b/src/management/tests/wire/connections/clients.test.ts index a8ce46cf7a..527b5542e1 100644 --- a/src/management/tests/wire/connections/clients.test.ts +++ b/src/management/tests/wire/connections/clients.test.ts @@ -4,14 +4,14 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Clients", () => { +describe("ClientsClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { clients: [{ client_id: "client_id" }], next: "next" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/connections/id/clients") .respondWith() .statusCode(200) @@ -39,11 +39,11 @@ describe("Clients", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/connections/id/clients") .respondWith() .statusCode(400) @@ -57,11 +57,11 @@ describe("Clients", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/connections/id/clients") .respondWith() .statusCode(401) @@ -75,11 +75,11 @@ describe("Clients", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/connections/id/clients") .respondWith() .statusCode(403) @@ -93,11 +93,11 @@ describe("Clients", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/connections/id/clients") .respondWith() .statusCode(404) @@ -111,11 +111,11 @@ describe("Clients", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/connections/id/clients") .respondWith() .statusCode(429) @@ -129,7 +129,7 @@ describe("Clients", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = [{ client_id: "client_id", status: true }]; server @@ -151,7 +151,7 @@ describe("Clients", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = [ { client_id: "client_id", status: true }, { client_id: "client_id", status: true }, @@ -182,7 +182,7 @@ describe("Clients", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = [ { client_id: "client_id", status: true }, { client_id: "client_id", status: true }, @@ -213,7 +213,7 @@ describe("Clients", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = [ { client_id: "client_id", status: true }, { client_id: "client_id", status: true }, @@ -244,7 +244,7 @@ describe("Clients", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = [ { client_id: "client_id", status: true }, { client_id: "client_id", status: true }, @@ -275,7 +275,7 @@ describe("Clients", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = [ { client_id: "client_id", status: true }, { client_id: "client_id", status: true }, diff --git a/src/management/tests/wire/connections/directoryProvisioning.test.ts b/src/management/tests/wire/connections/directoryProvisioning.test.ts new file mode 100644 index 0000000000..65d741d998 --- /dev/null +++ b/src/management/tests/wire/connections/directoryProvisioning.test.ts @@ -0,0 +1,641 @@ +// This file was auto-generated by Fern from our API Definition. + +import { mockServerPool } from "../../mock-server/MockServerPool"; +import { ManagementClient } from "../../../Client"; +import * as Management from "../../../api/index"; + +describe("DirectoryProvisioningClient", () => { + test("get (1)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { + connection_id: "connection_id", + connection_name: "connection_name", + strategy: "strategy", + mapping: [{ auth0: "auth0", idp: "idp" }], + synchronize_automatically: true, + created_at: "2024-01-15T09:30:00Z", + updated_at: "2024-01-15T09:30:00Z", + last_synchronization_at: "2024-01-15T09:30:00Z", + last_synchronization_status: "last_synchronization_status", + last_synchronization_error: "last_synchronization_error", + }; + server + .mockEndpoint() + .get("/connections/id/directory-provisioning") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.connections.directoryProvisioning.get("id"); + expect(response).toEqual({ + connection_id: "connection_id", + connection_name: "connection_name", + strategy: "strategy", + mapping: [ + { + auth0: "auth0", + idp: "idp", + }, + ], + synchronize_automatically: true, + created_at: "2024-01-15T09:30:00Z", + updated_at: "2024-01-15T09:30:00Z", + last_synchronization_at: "2024-01-15T09:30:00Z", + last_synchronization_status: "last_synchronization_status", + last_synchronization_error: "last_synchronization_error", + }); + }); + + test("get (2)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .get("/connections/id/directory-provisioning") + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.get("id"); + }).rejects.toThrow(Management.BadRequestError); + }); + + test("get (3)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .get("/connections/id/directory-provisioning") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.get("id"); + }).rejects.toThrow(Management.UnauthorizedError); + }); + + test("get (4)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .get("/connections/id/directory-provisioning") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.get("id"); + }).rejects.toThrow(Management.ForbiddenError); + }); + + test("get (5)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .get("/connections/id/directory-provisioning") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.get("id"); + }).rejects.toThrow(Management.NotFoundError); + }); + + test("get (6)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .get("/connections/id/directory-provisioning") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.get("id"); + }).rejects.toThrow(Management.TooManyRequestsError); + }); + + test("create (1)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { + connection_id: "connection_id", + connection_name: "connection_name", + strategy: "strategy", + mapping: [{ auth0: "auth0", idp: "idp" }], + synchronize_automatically: true, + created_at: "2024-01-15T09:30:00Z", + updated_at: "2024-01-15T09:30:00Z", + last_synchronization_at: "2024-01-15T09:30:00Z", + last_synchronization_status: "last_synchronization_status", + last_synchronization_error: "last_synchronization_error", + }; + server + .mockEndpoint() + .post("/connections/id/directory-provisioning") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.connections.directoryProvisioning.create("id"); + expect(response).toEqual({ + connection_id: "connection_id", + connection_name: "connection_name", + strategy: "strategy", + mapping: [ + { + auth0: "auth0", + idp: "idp", + }, + ], + synchronize_automatically: true, + created_at: "2024-01-15T09:30:00Z", + updated_at: "2024-01-15T09:30:00Z", + last_synchronization_at: "2024-01-15T09:30:00Z", + last_synchronization_status: "last_synchronization_status", + last_synchronization_error: "last_synchronization_error", + }); + }); + + test("create (2)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .post("/connections/id/directory-provisioning") + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.create("id", undefined); + }).rejects.toThrow(Management.BadRequestError); + }); + + test("create (3)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .post("/connections/id/directory-provisioning") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.create("id", undefined); + }).rejects.toThrow(Management.UnauthorizedError); + }); + + test("create (4)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .post("/connections/id/directory-provisioning") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.create("id", undefined); + }).rejects.toThrow(Management.ForbiddenError); + }); + + test("create (5)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .post("/connections/id/directory-provisioning") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.create("id", undefined); + }).rejects.toThrow(Management.NotFoundError); + }); + + test("create (6)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .post("/connections/id/directory-provisioning") + .respondWith() + .statusCode(409) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.create("id", undefined); + }).rejects.toThrow(Management.ConflictError); + }); + + test("create (7)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .post("/connections/id/directory-provisioning") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.create("id", undefined); + }).rejects.toThrow(Management.TooManyRequestsError); + }); + + test("delete (1)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + server.mockEndpoint().delete("/connections/id/directory-provisioning").respondWith().statusCode(200).build(); + + const response = await client.connections.directoryProvisioning.delete("id"); + expect(response).toEqual(undefined); + }); + + test("delete (2)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .delete("/connections/id/directory-provisioning") + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.delete("id"); + }).rejects.toThrow(Management.BadRequestError); + }); + + test("delete (3)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .delete("/connections/id/directory-provisioning") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.delete("id"); + }).rejects.toThrow(Management.UnauthorizedError); + }); + + test("delete (4)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .delete("/connections/id/directory-provisioning") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.delete("id"); + }).rejects.toThrow(Management.ForbiddenError); + }); + + test("delete (5)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .delete("/connections/id/directory-provisioning") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.delete("id"); + }).rejects.toThrow(Management.NotFoundError); + }); + + test("delete (6)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .delete("/connections/id/directory-provisioning") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.delete("id"); + }).rejects.toThrow(Management.TooManyRequestsError); + }); + + test("update (1)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { + connection_id: "connection_id", + connection_name: "connection_name", + strategy: "strategy", + mapping: [{ auth0: "auth0", idp: "idp" }], + synchronize_automatically: true, + created_at: "2024-01-15T09:30:00Z", + updated_at: "2024-01-15T09:30:00Z", + last_synchronization_at: "2024-01-15T09:30:00Z", + last_synchronization_status: "last_synchronization_status", + last_synchronization_error: "last_synchronization_error", + }; + server + .mockEndpoint() + .patch("/connections/id/directory-provisioning") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.connections.directoryProvisioning.update("id"); + expect(response).toEqual({ + connection_id: "connection_id", + connection_name: "connection_name", + strategy: "strategy", + mapping: [ + { + auth0: "auth0", + idp: "idp", + }, + ], + synchronize_automatically: true, + created_at: "2024-01-15T09:30:00Z", + updated_at: "2024-01-15T09:30:00Z", + last_synchronization_at: "2024-01-15T09:30:00Z", + last_synchronization_status: "last_synchronization_status", + last_synchronization_error: "last_synchronization_error", + }); + }); + + test("update (2)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .patch("/connections/id/directory-provisioning") + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.update("id", undefined); + }).rejects.toThrow(Management.BadRequestError); + }); + + test("update (3)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .patch("/connections/id/directory-provisioning") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.update("id", undefined); + }).rejects.toThrow(Management.UnauthorizedError); + }); + + test("update (4)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .patch("/connections/id/directory-provisioning") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.update("id", undefined); + }).rejects.toThrow(Management.ForbiddenError); + }); + + test("update (5)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .patch("/connections/id/directory-provisioning") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.update("id", undefined); + }).rejects.toThrow(Management.NotFoundError); + }); + + test("update (6)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .patch("/connections/id/directory-provisioning") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.update("id", undefined); + }).rejects.toThrow(Management.TooManyRequestsError); + }); + + test("getDefaultMapping (1)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { mapping: [{ auth0: "auth0", idp: "idp" }] }; + server + .mockEndpoint() + .get("/connections/id/directory-provisioning/default-mapping") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.connections.directoryProvisioning.getDefaultMapping("id"); + expect(response).toEqual({ + mapping: [ + { + auth0: "auth0", + idp: "idp", + }, + ], + }); + }); + + test("getDefaultMapping (2)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .get("/connections/id/directory-provisioning/default-mapping") + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.getDefaultMapping("id"); + }).rejects.toThrow(Management.BadRequestError); + }); + + test("getDefaultMapping (3)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .get("/connections/id/directory-provisioning/default-mapping") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.getDefaultMapping("id"); + }).rejects.toThrow(Management.UnauthorizedError); + }); + + test("getDefaultMapping (4)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .get("/connections/id/directory-provisioning/default-mapping") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.getDefaultMapping("id"); + }).rejects.toThrow(Management.ForbiddenError); + }); + + test("getDefaultMapping (5)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .get("/connections/id/directory-provisioning/default-mapping") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.getDefaultMapping("id"); + }).rejects.toThrow(Management.NotFoundError); + }); + + test("getDefaultMapping (6)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .get("/connections/id/directory-provisioning/default-mapping") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.getDefaultMapping("id"); + }).rejects.toThrow(Management.TooManyRequestsError); + }); +}); diff --git a/src/management/tests/wire/connections/directoryProvisioning/synchronizations.test.ts b/src/management/tests/wire/connections/directoryProvisioning/synchronizations.test.ts new file mode 100644 index 0000000000..29a17e46c7 --- /dev/null +++ b/src/management/tests/wire/connections/directoryProvisioning/synchronizations.test.ts @@ -0,0 +1,140 @@ +// This file was auto-generated by Fern from our API Definition. + +import { mockServerPool } from "../../../mock-server/MockServerPool"; +import { ManagementClient } from "../../../../Client"; +import * as Management from "../../../../api/index"; + +describe("SynchronizationsClient", () => { + test("create (1)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { + connection_id: "connection_id", + synchronization_id: "synchronization_id", + status: "status", + }; + server + .mockEndpoint() + .post("/connections/id/directory-provisioning/synchronizations") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); + + const response = await client.connections.directoryProvisioning.synchronizations.create("id"); + expect(response).toEqual({ + connection_id: "connection_id", + synchronization_id: "synchronization_id", + status: "status", + }); + }); + + test("create (2)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .post("/connections/id/directory-provisioning/synchronizations") + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.synchronizations.create("id"); + }).rejects.toThrow(Management.BadRequestError); + }); + + test("create (3)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .post("/connections/id/directory-provisioning/synchronizations") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.synchronizations.create("id"); + }).rejects.toThrow(Management.UnauthorizedError); + }); + + test("create (4)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .post("/connections/id/directory-provisioning/synchronizations") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.synchronizations.create("id"); + }).rejects.toThrow(Management.ForbiddenError); + }); + + test("create (5)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .post("/connections/id/directory-provisioning/synchronizations") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.synchronizations.create("id"); + }).rejects.toThrow(Management.NotFoundError); + }); + + test("create (6)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .post("/connections/id/directory-provisioning/synchronizations") + .respondWith() + .statusCode(409) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.synchronizations.create("id"); + }).rejects.toThrow(Management.ConflictError); + }); + + test("create (7)", async () => { + const server = mockServerPool.createServer(); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + + const rawResponseBody = { key: "value" }; + server + .mockEndpoint() + .post("/connections/id/directory-provisioning/synchronizations") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); + + await expect(async () => { + return await client.connections.directoryProvisioning.synchronizations.create("id"); + }).rejects.toThrow(Management.TooManyRequestsError); + }); +}); diff --git a/src/management/tests/wire/connections/keys.test.ts b/src/management/tests/wire/connections/keys.test.ts index 97eb774ded..ba19e7d69a 100644 --- a/src/management/tests/wire/connections/keys.test.ts +++ b/src/management/tests/wire/connections/keys.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Keys", () => { +describe("KeysClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = [ { @@ -54,7 +54,7 @@ describe("Keys", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -72,7 +72,7 @@ describe("Keys", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -90,7 +90,7 @@ describe("Keys", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -108,7 +108,7 @@ describe("Keys", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -126,7 +126,7 @@ describe("Keys", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -144,7 +144,7 @@ describe("Keys", () => { test("rotate (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { kid: "kid", @@ -181,7 +181,7 @@ describe("Keys", () => { test("rotate (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -199,7 +199,7 @@ describe("Keys", () => { test("rotate (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -217,7 +217,7 @@ describe("Keys", () => { test("rotate (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -235,7 +235,7 @@ describe("Keys", () => { test("rotate (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -253,7 +253,7 @@ describe("Keys", () => { test("rotate (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/connections/scimConfiguration.test.ts b/src/management/tests/wire/connections/scimConfiguration.test.ts index 38538532d8..5ce63e10f5 100644 --- a/src/management/tests/wire/connections/scimConfiguration.test.ts +++ b/src/management/tests/wire/connections/scimConfiguration.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("ScimConfiguration", () => { +describe("ScimConfigurationClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { connection_id: "connection_id", @@ -47,7 +47,7 @@ describe("ScimConfiguration", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -65,7 +65,7 @@ describe("ScimConfiguration", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -83,7 +83,7 @@ describe("ScimConfiguration", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { connection_id: "connection_id", @@ -123,7 +123,7 @@ describe("ScimConfiguration", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -141,7 +141,7 @@ describe("ScimConfiguration", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -159,7 +159,7 @@ describe("ScimConfiguration", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/connections/id/scim-configuration").respondWith().statusCode(200).build(); @@ -169,7 +169,7 @@ describe("ScimConfiguration", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -187,7 +187,7 @@ describe("ScimConfiguration", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -205,7 +205,7 @@ describe("ScimConfiguration", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { user_id_attribute: "user_id_attribute", mapping: [{}] }; const rawResponseBody = { connection_id: "connection_id", @@ -249,7 +249,7 @@ describe("ScimConfiguration", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { user_id_attribute: "user_id_attribute", mapping: [{}, {}] }; const rawResponseBody = { key: "value" }; server @@ -271,7 +271,7 @@ describe("ScimConfiguration", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { user_id_attribute: "user_id_attribute", mapping: [{}, {}] }; const rawResponseBody = { key: "value" }; server @@ -293,7 +293,7 @@ describe("ScimConfiguration", () => { test("getDefaultMapping (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { mapping: [{ auth0: "auth0", scim: "scim" }] }; server @@ -317,7 +317,7 @@ describe("ScimConfiguration", () => { test("getDefaultMapping (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -335,7 +335,7 @@ describe("ScimConfiguration", () => { test("getDefaultMapping (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/connections/scimConfiguration/tokens.test.ts b/src/management/tests/wire/connections/scimConfiguration/tokens.test.ts index 81f5478487..1b96d9978d 100644 --- a/src/management/tests/wire/connections/scimConfiguration/tokens.test.ts +++ b/src/management/tests/wire/connections/scimConfiguration/tokens.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../../mock-server/MockServerPool"; import { ManagementClient } from "../../../../Client"; import * as Management from "../../../../api/index"; -describe("Tokens", () => { +describe("TokensClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = [ { @@ -40,7 +40,7 @@ describe("Tokens", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -58,7 +58,7 @@ describe("Tokens", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -76,7 +76,7 @@ describe("Tokens", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { token_id: "token_id", @@ -106,7 +106,7 @@ describe("Tokens", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -125,7 +125,7 @@ describe("Tokens", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -144,7 +144,7 @@ describe("Tokens", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -163,7 +163,7 @@ describe("Tokens", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server .mockEndpoint() @@ -178,7 +178,7 @@ describe("Tokens", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -196,7 +196,7 @@ describe("Tokens", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/connections/users.test.ts b/src/management/tests/wire/connections/users.test.ts index 88234cd7a7..b01dc3b04f 100644 --- a/src/management/tests/wire/connections/users.test.ts +++ b/src/management/tests/wire/connections/users.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Users", () => { +describe("UsersClient", () => { test("deleteByEmail (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/connections/id/users").respondWith().statusCode(200).build(); @@ -19,7 +19,7 @@ describe("Users", () => { test("deleteByEmail (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -39,7 +39,7 @@ describe("Users", () => { test("deleteByEmail (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -59,7 +59,7 @@ describe("Users", () => { test("deleteByEmail (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -79,7 +79,7 @@ describe("Users", () => { test("deleteByEmail (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/customDomains.test.ts b/src/management/tests/wire/customDomains.test.ts index 52421573f7..25fd4f7101 100644 --- a/src/management/tests/wire/customDomains.test.ts +++ b/src/management/tests/wire/customDomains.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("CustomDomains", () => { +describe("CustomDomainsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = [ { @@ -25,6 +25,7 @@ describe("CustomDomains", () => { }, custom_client_ip_header: "custom_client_ip_header", tls_policy: "tls_policy", + domain_metadata: { key: "value" }, certificate: { status: "provisioning", error_msg: "error_msg", @@ -35,7 +36,14 @@ describe("CustomDomains", () => { ]; server.mockEndpoint().get("/custom-domains").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); - const response = await client.customDomains.list(); + const response = await client.customDomains.list({ + take: 1, + from: "from", + q: "q", + fields: "fields", + include_fields: true, + sort: "sort", + }); expect(response).toEqual([ { custom_domain_id: "custom_domain_id", @@ -57,6 +65,9 @@ describe("CustomDomains", () => { }, custom_client_ip_header: "custom_client_ip_header", tls_policy: "tls_policy", + domain_metadata: { + key: "value", + }, certificate: { status: "provisioning", error_msg: "error_msg", @@ -69,7 +80,7 @@ describe("CustomDomains", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/custom-domains").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -81,7 +92,7 @@ describe("CustomDomains", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/custom-domains").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -93,7 +104,7 @@ describe("CustomDomains", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/custom-domains").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -105,7 +116,7 @@ describe("CustomDomains", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { domain: "domain", type: "auth0_managed_certs" }; const rawResponseBody = { custom_domain_id: "custom_domain_id", @@ -121,6 +132,7 @@ describe("CustomDomains", () => { }, custom_client_ip_header: "custom_client_ip_header", tls_policy: "tls_policy", + domain_metadata: { key: "value" }, certificate: { status: "provisioning", error_msg: "error_msg", @@ -160,6 +172,9 @@ describe("CustomDomains", () => { }, custom_client_ip_header: "custom_client_ip_header", tls_policy: "tls_policy", + domain_metadata: { + key: "value", + }, certificate: { status: "provisioning", error_msg: "error_msg", @@ -171,7 +186,7 @@ describe("CustomDomains", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { domain: "domain", type: "auth0_managed_certs" }; const rawResponseBody = { key: "value" }; server @@ -193,7 +208,7 @@ describe("CustomDomains", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { domain: "domain", type: "auth0_managed_certs" }; const rawResponseBody = { key: "value" }; server @@ -215,7 +230,7 @@ describe("CustomDomains", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { domain: "domain", type: "auth0_managed_certs" }; const rawResponseBody = { key: "value" }; server @@ -237,7 +252,7 @@ describe("CustomDomains", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { domain: "domain", type: "auth0_managed_certs" }; const rawResponseBody = { key: "value" }; server @@ -259,7 +274,7 @@ describe("CustomDomains", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { domain: "domain", type: "auth0_managed_certs" }; const rawResponseBody = { key: "value" }; server @@ -281,7 +296,7 @@ describe("CustomDomains", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { custom_domain_id: "custom_domain_id", @@ -298,6 +313,7 @@ describe("CustomDomains", () => { }, custom_client_ip_header: "custom_client_ip_header", tls_policy: "tls_policy", + domain_metadata: { key: "value" }, certificate: { status: "provisioning", error_msg: "error_msg", @@ -328,6 +344,9 @@ describe("CustomDomains", () => { }, custom_client_ip_header: "custom_client_ip_header", tls_policy: "tls_policy", + domain_metadata: { + key: "value", + }, certificate: { status: "provisioning", error_msg: "error_msg", @@ -339,7 +358,7 @@ describe("CustomDomains", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/custom-domains/id").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -351,7 +370,7 @@ describe("CustomDomains", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/custom-domains/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -363,7 +382,7 @@ describe("CustomDomains", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/custom-domains/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -375,7 +394,7 @@ describe("CustomDomains", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/custom-domains/id").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); @@ -387,7 +406,7 @@ describe("CustomDomains", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/custom-domains/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -399,7 +418,7 @@ describe("CustomDomains", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/custom-domains/id").respondWith().statusCode(200).build(); @@ -409,7 +428,7 @@ describe("CustomDomains", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -427,7 +446,7 @@ describe("CustomDomains", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -445,7 +464,7 @@ describe("CustomDomains", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -463,7 +482,7 @@ describe("CustomDomains", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -481,7 +500,7 @@ describe("CustomDomains", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { custom_domain_id: "custom_domain_id", @@ -497,6 +516,7 @@ describe("CustomDomains", () => { }, custom_client_ip_header: "custom_client_ip_header", tls_policy: "tls_policy", + domain_metadata: { key: "value" }, certificate: { status: "provisioning", error_msg: "error_msg", @@ -533,6 +553,9 @@ describe("CustomDomains", () => { }, custom_client_ip_header: "custom_client_ip_header", tls_policy: "tls_policy", + domain_metadata: { + key: "value", + }, certificate: { status: "provisioning", error_msg: "error_msg", @@ -544,7 +567,7 @@ describe("CustomDomains", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -563,7 +586,7 @@ describe("CustomDomains", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -582,7 +605,7 @@ describe("CustomDomains", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -601,7 +624,7 @@ describe("CustomDomains", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -620,7 +643,7 @@ describe("CustomDomains", () => { test("test (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { success: true, message: "message" }; server @@ -640,7 +663,7 @@ describe("CustomDomains", () => { test("test (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -658,7 +681,7 @@ describe("CustomDomains", () => { test("test (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -676,7 +699,7 @@ describe("CustomDomains", () => { test("test (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -694,7 +717,7 @@ describe("CustomDomains", () => { test("test (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -712,7 +735,7 @@ describe("CustomDomains", () => { test("test (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -730,7 +753,7 @@ describe("CustomDomains", () => { test("verify (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { custom_domain_id: "custom_domain_id", @@ -748,6 +771,7 @@ describe("CustomDomains", () => { }, custom_client_ip_header: "custom_client_ip_header", tls_policy: "tls_policy", + domain_metadata: { key: "value" }, certificate: { status: "provisioning", error_msg: "error_msg", @@ -785,6 +809,9 @@ describe("CustomDomains", () => { }, custom_client_ip_header: "custom_client_ip_header", tls_policy: "tls_policy", + domain_metadata: { + key: "value", + }, certificate: { status: "provisioning", error_msg: "error_msg", @@ -796,7 +823,7 @@ describe("CustomDomains", () => { test("verify (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -814,7 +841,7 @@ describe("CustomDomains", () => { test("verify (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -832,7 +859,7 @@ describe("CustomDomains", () => { test("verify (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -850,7 +877,7 @@ describe("CustomDomains", () => { test("verify (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -868,7 +895,7 @@ describe("CustomDomains", () => { test("verify (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/deviceCredentials.test.ts b/src/management/tests/wire/deviceCredentials.test.ts index 1534454876..83baf80869 100644 --- a/src/management/tests/wire/deviceCredentials.test.ts +++ b/src/management/tests/wire/deviceCredentials.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("DeviceCredentials", () => { +describe("DeviceCredentialsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { start: 1.1, @@ -25,7 +25,7 @@ describe("DeviceCredentials", () => { ], }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/device-credentials") .respondWith() .statusCode(200) @@ -66,11 +66,11 @@ describe("DeviceCredentials", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/device-credentials") .respondWith() .statusCode(400) @@ -84,11 +84,11 @@ describe("DeviceCredentials", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/device-credentials") .respondWith() .statusCode(401) @@ -102,11 +102,11 @@ describe("DeviceCredentials", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/device-credentials") .respondWith() .statusCode(403) @@ -120,11 +120,11 @@ describe("DeviceCredentials", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/device-credentials") .respondWith() .statusCode(429) @@ -138,7 +138,7 @@ describe("DeviceCredentials", () => { test("createPublicKey (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { device_name: "device_name", type: "public_key", @@ -167,7 +167,7 @@ describe("DeviceCredentials", () => { test("createPublicKey (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { device_name: "x", type: "public_key", value: "x", device_id: "device_id" }; const rawResponseBody = { key: "value" }; server @@ -190,7 +190,7 @@ describe("DeviceCredentials", () => { test("createPublicKey (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { device_name: "x", type: "public_key", value: "x", device_id: "device_id" }; const rawResponseBody = { key: "value" }; server @@ -213,7 +213,7 @@ describe("DeviceCredentials", () => { test("createPublicKey (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { device_name: "x", type: "public_key", value: "x", device_id: "device_id" }; const rawResponseBody = { key: "value" }; server @@ -236,7 +236,7 @@ describe("DeviceCredentials", () => { test("createPublicKey (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { device_name: "x", type: "public_key", value: "x", device_id: "device_id" }; const rawResponseBody = { key: "value" }; server @@ -259,7 +259,7 @@ describe("DeviceCredentials", () => { test("createPublicKey (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { device_name: "x", type: "public_key", value: "x", device_id: "device_id" }; const rawResponseBody = { key: "value" }; server @@ -282,7 +282,7 @@ describe("DeviceCredentials", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/device-credentials/id").respondWith().statusCode(200).build(); @@ -292,7 +292,7 @@ describe("DeviceCredentials", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -310,7 +310,7 @@ describe("DeviceCredentials", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -328,7 +328,7 @@ describe("DeviceCredentials", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -346,7 +346,7 @@ describe("DeviceCredentials", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/emailTemplates.test.ts b/src/management/tests/wire/emailTemplates.test.ts index 96c6b8ae7b..d77c2a713d 100644 --- a/src/management/tests/wire/emailTemplates.test.ts +++ b/src/management/tests/wire/emailTemplates.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("EmailTemplates", () => { +describe("EmailTemplatesClient", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { template: "verify_email" }; const rawResponseBody = { template: "verify_email", @@ -47,7 +47,7 @@ describe("EmailTemplates", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { template: "verify_email" }; const rawResponseBody = { key: "value" }; server @@ -68,7 +68,7 @@ describe("EmailTemplates", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { template: "verify_email" }; const rawResponseBody = { key: "value" }; server @@ -89,7 +89,7 @@ describe("EmailTemplates", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { template: "verify_email" }; const rawResponseBody = { key: "value" }; server @@ -110,7 +110,7 @@ describe("EmailTemplates", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { template: "verify_email" }; const rawResponseBody = { key: "value" }; server @@ -131,7 +131,7 @@ describe("EmailTemplates", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { template: "verify_email" }; const rawResponseBody = { key: "value" }; server @@ -152,7 +152,7 @@ describe("EmailTemplates", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { template: "verify_email", @@ -189,7 +189,7 @@ describe("EmailTemplates", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -207,7 +207,7 @@ describe("EmailTemplates", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -225,7 +225,7 @@ describe("EmailTemplates", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -243,7 +243,7 @@ describe("EmailTemplates", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -261,7 +261,7 @@ describe("EmailTemplates", () => { test("set (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { template: "verify_email" }; const rawResponseBody = { template: "verify_email", @@ -301,7 +301,7 @@ describe("EmailTemplates", () => { test("set (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { template: "verify_email" }; const rawResponseBody = { key: "value" }; server @@ -322,7 +322,7 @@ describe("EmailTemplates", () => { test("set (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { template: "verify_email" }; const rawResponseBody = { key: "value" }; server @@ -343,7 +343,7 @@ describe("EmailTemplates", () => { test("set (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { template: "verify_email" }; const rawResponseBody = { key: "value" }; server @@ -364,7 +364,7 @@ describe("EmailTemplates", () => { test("set (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { template: "verify_email" }; const rawResponseBody = { key: "value" }; server @@ -385,7 +385,7 @@ describe("EmailTemplates", () => { test("set (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { template: "verify_email" }; const rawResponseBody = { key: "value" }; server @@ -406,7 +406,7 @@ describe("EmailTemplates", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { template: "verify_email", @@ -444,7 +444,7 @@ describe("EmailTemplates", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -463,7 +463,7 @@ describe("EmailTemplates", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -482,7 +482,7 @@ describe("EmailTemplates", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -501,7 +501,7 @@ describe("EmailTemplates", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -520,7 +520,7 @@ describe("EmailTemplates", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/emails/provider.test.ts b/src/management/tests/wire/emails/provider.test.ts index 0421b59e9f..a443a7a3b5 100644 --- a/src/management/tests/wire/emails/provider.test.ts +++ b/src/management/tests/wire/emails/provider.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Provider", () => { +describe("ProviderClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { name: "name", @@ -47,7 +47,7 @@ describe("Provider", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/emails/provider").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -59,7 +59,7 @@ describe("Provider", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/emails/provider").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -71,7 +71,7 @@ describe("Provider", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/emails/provider").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -83,7 +83,7 @@ describe("Provider", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/emails/provider").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); @@ -95,7 +95,7 @@ describe("Provider", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/emails/provider").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -107,7 +107,7 @@ describe("Provider", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "mailgun", credentials: { api_key: "api_key" } }; const rawResponseBody = { name: "name", @@ -156,7 +156,7 @@ describe("Provider", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "mailgun", credentials: { api_key: "x" } }; const rawResponseBody = { key: "value" }; server @@ -180,7 +180,7 @@ describe("Provider", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "mailgun", credentials: { api_key: "x" } }; const rawResponseBody = { key: "value" }; server @@ -204,7 +204,7 @@ describe("Provider", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "mailgun", credentials: { api_key: "x" } }; const rawResponseBody = { key: "value" }; server @@ -228,7 +228,7 @@ describe("Provider", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "mailgun", credentials: { api_key: "x" } }; const rawResponseBody = { key: "value" }; server @@ -252,7 +252,7 @@ describe("Provider", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "mailgun", credentials: { api_key: "x" } }; const rawResponseBody = { key: "value" }; server @@ -276,7 +276,7 @@ describe("Provider", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/emails/provider").respondWith().statusCode(200).build(); @@ -286,7 +286,7 @@ describe("Provider", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -304,7 +304,7 @@ describe("Provider", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -322,7 +322,7 @@ describe("Provider", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -340,7 +340,7 @@ describe("Provider", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -358,7 +358,7 @@ describe("Provider", () => { test("delete (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -376,7 +376,7 @@ describe("Provider", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { name: "name", @@ -420,7 +420,7 @@ describe("Provider", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -439,7 +439,7 @@ describe("Provider", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -458,7 +458,7 @@ describe("Provider", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -477,7 +477,7 @@ describe("Provider", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -496,7 +496,7 @@ describe("Provider", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -515,7 +515,7 @@ describe("Provider", () => { test("update (7)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/eventStreams.test.ts b/src/management/tests/wire/eventStreams.test.ts index 1114f81e78..d6ca35eb65 100644 --- a/src/management/tests/wire/eventStreams.test.ts +++ b/src/management/tests/wire/eventStreams.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("EventStreams", () => { +describe("EventStreamsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = [ { @@ -56,7 +56,7 @@ describe("EventStreams", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/event-streams").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -68,7 +68,7 @@ describe("EventStreams", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/event-streams").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -80,7 +80,7 @@ describe("EventStreams", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/event-streams").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -92,7 +92,7 @@ describe("EventStreams", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/event-streams").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -104,7 +104,7 @@ describe("EventStreams", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { destination: { type: "webhook", @@ -176,7 +176,7 @@ describe("EventStreams", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { destination: { type: "webhook", @@ -214,7 +214,7 @@ describe("EventStreams", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { destination: { type: "webhook", @@ -252,7 +252,7 @@ describe("EventStreams", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { destination: { type: "webhook", @@ -290,7 +290,7 @@ describe("EventStreams", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { destination: { type: "webhook", @@ -328,7 +328,7 @@ describe("EventStreams", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { destination: { type: "webhook", @@ -366,7 +366,7 @@ describe("EventStreams", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -412,7 +412,7 @@ describe("EventStreams", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/event-streams/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -424,7 +424,7 @@ describe("EventStreams", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/event-streams/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -436,7 +436,7 @@ describe("EventStreams", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/event-streams/id").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); @@ -448,7 +448,7 @@ describe("EventStreams", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/event-streams/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -460,7 +460,7 @@ describe("EventStreams", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/event-streams/id").respondWith().statusCode(200).build(); @@ -470,7 +470,7 @@ describe("EventStreams", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -488,7 +488,7 @@ describe("EventStreams", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -506,7 +506,7 @@ describe("EventStreams", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -524,7 +524,7 @@ describe("EventStreams", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -542,7 +542,7 @@ describe("EventStreams", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { id: "id", @@ -595,7 +595,7 @@ describe("EventStreams", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -614,7 +614,7 @@ describe("EventStreams", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -633,7 +633,7 @@ describe("EventStreams", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -652,7 +652,7 @@ describe("EventStreams", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -671,7 +671,7 @@ describe("EventStreams", () => { test("test (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { event_type: "user.created" }; const rawResponseBody = { id: "id", @@ -725,7 +725,7 @@ describe("EventStreams", () => { test("test (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { event_type: "user.created" }; const rawResponseBody = { key: "value" }; server @@ -746,7 +746,7 @@ describe("EventStreams", () => { test("test (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { event_type: "user.created" }; const rawResponseBody = { key: "value" }; server @@ -767,7 +767,7 @@ describe("EventStreams", () => { test("test (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { event_type: "user.created" }; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/eventStreams/deliveries.test.ts b/src/management/tests/wire/eventStreams/deliveries.test.ts index 91822b9bef..7f18169f9f 100644 --- a/src/management/tests/wire/eventStreams/deliveries.test.ts +++ b/src/management/tests/wire/eventStreams/deliveries.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Deliveries", () => { +describe("DeliveriesClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = [ { @@ -68,7 +68,7 @@ describe("Deliveries", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -86,7 +86,7 @@ describe("Deliveries", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -104,7 +104,7 @@ describe("Deliveries", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -122,7 +122,7 @@ describe("Deliveries", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -140,7 +140,7 @@ describe("Deliveries", () => { test("list (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -158,7 +158,7 @@ describe("Deliveries", () => { test("getHistory (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -209,7 +209,7 @@ describe("Deliveries", () => { test("getHistory (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -227,7 +227,7 @@ describe("Deliveries", () => { test("getHistory (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -245,7 +245,7 @@ describe("Deliveries", () => { test("getHistory (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -263,7 +263,7 @@ describe("Deliveries", () => { test("getHistory (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/eventStreams/redeliveries.test.ts b/src/management/tests/wire/eventStreams/redeliveries.test.ts index efdc27057d..399ffc6c0f 100644 --- a/src/management/tests/wire/eventStreams/redeliveries.test.ts +++ b/src/management/tests/wire/eventStreams/redeliveries.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Redeliveries", () => { +describe("RedeliveriesClient", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { date_from: "2024-01-15T09:30:00Z", @@ -35,7 +35,7 @@ describe("Redeliveries", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -54,7 +54,7 @@ describe("Redeliveries", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -73,7 +73,7 @@ describe("Redeliveries", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -92,7 +92,7 @@ describe("Redeliveries", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -111,7 +111,7 @@ describe("Redeliveries", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -130,7 +130,7 @@ describe("Redeliveries", () => { test("createById (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().post("/event-streams/id/redeliver/event_id").respondWith().statusCode(200).build(); @@ -140,7 +140,7 @@ describe("Redeliveries", () => { test("createById (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -158,7 +158,7 @@ describe("Redeliveries", () => { test("createById (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -176,7 +176,7 @@ describe("Redeliveries", () => { test("createById (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -194,7 +194,7 @@ describe("Redeliveries", () => { test("createById (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -212,7 +212,7 @@ describe("Redeliveries", () => { test("createById (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/flows.test.ts b/src/management/tests/wire/flows.test.ts index 19ff376c88..313cad3aa3 100644 --- a/src/management/tests/wire/flows.test.ts +++ b/src/management/tests/wire/flows.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("Flows", () => { +describe("FlowsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { start: 1.1, @@ -23,7 +23,13 @@ describe("Flows", () => { }, ], }; - server.mockEndpoint().get("/flows").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/flows") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); const expected = { start: 1.1, @@ -54,10 +60,16 @@ describe("Flows", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/flows").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/flows") + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.flows.list(); @@ -66,10 +78,16 @@ describe("Flows", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/flows").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/flows") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.flows.list(); @@ -78,10 +96,16 @@ describe("Flows", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/flows").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/flows") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.flows.list(); @@ -90,10 +114,16 @@ describe("Flows", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/flows").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/flows") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.flows.list(); @@ -102,7 +132,7 @@ describe("Flows", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name" }; const rawResponseBody = { id: "id", @@ -159,7 +189,7 @@ describe("Flows", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x" }; const rawResponseBody = { key: "value" }; server @@ -180,7 +210,7 @@ describe("Flows", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x" }; const rawResponseBody = { key: "value" }; server @@ -201,7 +231,7 @@ describe("Flows", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x" }; const rawResponseBody = { key: "value" }; server @@ -222,7 +252,7 @@ describe("Flows", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x" }; const rawResponseBody = { key: "value" }; server @@ -243,7 +273,7 @@ describe("Flows", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -291,7 +321,7 @@ describe("Flows", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/flows/id").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -303,7 +333,7 @@ describe("Flows", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/flows/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -315,7 +345,7 @@ describe("Flows", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/flows/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -327,7 +357,7 @@ describe("Flows", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/flows/id").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); @@ -339,7 +369,7 @@ describe("Flows", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/flows/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -351,7 +381,7 @@ describe("Flows", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/flows/id").respondWith().statusCode(200).build(); @@ -361,7 +391,7 @@ describe("Flows", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/flows/id").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -373,7 +403,7 @@ describe("Flows", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/flows/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -385,7 +415,7 @@ describe("Flows", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/flows/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -397,7 +427,7 @@ describe("Flows", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/flows/id").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); @@ -409,7 +439,7 @@ describe("Flows", () => { test("delete (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/flows/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -421,7 +451,7 @@ describe("Flows", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { id: "id", @@ -476,7 +506,7 @@ describe("Flows", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -495,7 +525,7 @@ describe("Flows", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -514,7 +544,7 @@ describe("Flows", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -533,7 +563,7 @@ describe("Flows", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/flows/executions.test.ts b/src/management/tests/wire/flows/executions.test.ts index 53ee280a12..f0f8e35bcb 100644 --- a/src/management/tests/wire/flows/executions.test.ts +++ b/src/management/tests/wire/flows/executions.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Executions", () => { +describe("ExecutionsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { next: "next", @@ -25,7 +25,7 @@ describe("Executions", () => { ], }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/flows/flow_id/executions") .respondWith() .statusCode(200) @@ -60,11 +60,11 @@ describe("Executions", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/flows/flow_id/executions") .respondWith() .statusCode(400) @@ -78,11 +78,11 @@ describe("Executions", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/flows/flow_id/executions") .respondWith() .statusCode(401) @@ -96,11 +96,11 @@ describe("Executions", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/flows/flow_id/executions") .respondWith() .statusCode(403) @@ -114,11 +114,11 @@ describe("Executions", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/flows/flow_id/executions") .respondWith() .statusCode(429) @@ -132,7 +132,7 @@ describe("Executions", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -171,7 +171,7 @@ describe("Executions", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -189,7 +189,7 @@ describe("Executions", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -207,7 +207,7 @@ describe("Executions", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -225,7 +225,7 @@ describe("Executions", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -243,7 +243,7 @@ describe("Executions", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/flows/flow_id/executions/execution_id").respondWith().statusCode(200).build(); @@ -253,7 +253,7 @@ describe("Executions", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -271,7 +271,7 @@ describe("Executions", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -289,7 +289,7 @@ describe("Executions", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -307,7 +307,7 @@ describe("Executions", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/flows/vault/connections.test.ts b/src/management/tests/wire/flows/vault/connections.test.ts index 12b34667b6..8c3f8d65de 100644 --- a/src/management/tests/wire/flows/vault/connections.test.ts +++ b/src/management/tests/wire/flows/vault/connections.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../../mock-server/MockServerPool"; import { ManagementClient } from "../../../../Client"; import * as Management from "../../../../api/index"; -describe("Connections", () => { +describe("ConnectionsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { start: 1.1, @@ -28,7 +28,7 @@ describe("Connections", () => { ], }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/flows/vault/connections") .respondWith() .statusCode(200) @@ -67,11 +67,11 @@ describe("Connections", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/flows/vault/connections") .respondWith() .statusCode(400) @@ -85,11 +85,11 @@ describe("Connections", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/flows/vault/connections") .respondWith() .statusCode(401) @@ -103,11 +103,11 @@ describe("Connections", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/flows/vault/connections") .respondWith() .statusCode(403) @@ -121,11 +121,11 @@ describe("Connections", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/flows/vault/connections") .respondWith() .statusCode(429) @@ -139,7 +139,7 @@ describe("Connections", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name", app_id: "ACTIVECAMPAIGN", @@ -191,7 +191,7 @@ describe("Connections", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x", app_id: "ACTIVECAMPAIGN", @@ -222,7 +222,7 @@ describe("Connections", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x", app_id: "ACTIVECAMPAIGN", @@ -253,7 +253,7 @@ describe("Connections", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x", app_id: "ACTIVECAMPAIGN", @@ -284,7 +284,7 @@ describe("Connections", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x", app_id: "ACTIVECAMPAIGN", @@ -315,7 +315,7 @@ describe("Connections", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -354,7 +354,7 @@ describe("Connections", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -372,7 +372,7 @@ describe("Connections", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -390,7 +390,7 @@ describe("Connections", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -408,7 +408,7 @@ describe("Connections", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -426,7 +426,7 @@ describe("Connections", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -444,7 +444,7 @@ describe("Connections", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/flows/vault/connections/id").respondWith().statusCode(200).build(); @@ -454,7 +454,7 @@ describe("Connections", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -472,7 +472,7 @@ describe("Connections", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -490,7 +490,7 @@ describe("Connections", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -508,7 +508,7 @@ describe("Connections", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -526,7 +526,7 @@ describe("Connections", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { id: "id", @@ -566,7 +566,7 @@ describe("Connections", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -585,7 +585,7 @@ describe("Connections", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -604,7 +604,7 @@ describe("Connections", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -623,7 +623,7 @@ describe("Connections", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -642,7 +642,7 @@ describe("Connections", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/forms.test.ts b/src/management/tests/wire/forms.test.ts index a3a08bd6ef..cb877bc6e0 100644 --- a/src/management/tests/wire/forms.test.ts +++ b/src/management/tests/wire/forms.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("Forms", () => { +describe("FormsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { start: 1.1, @@ -24,7 +24,13 @@ describe("Forms", () => { }, ], }; - server.mockEndpoint().get("/forms").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/forms") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); const expected = { start: 1.1, @@ -55,10 +61,16 @@ describe("Forms", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/forms").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/forms") + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.forms.list(); @@ -67,10 +79,16 @@ describe("Forms", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/forms").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/forms") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.forms.list(); @@ -79,10 +97,16 @@ describe("Forms", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/forms").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/forms") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.forms.list(); @@ -91,10 +115,16 @@ describe("Forms", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/forms").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/forms") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.forms.list(); @@ -103,7 +133,7 @@ describe("Forms", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name" }; const rawResponseBody = { id: "id", @@ -114,7 +144,7 @@ describe("Forms", () => { nodes: [ { id: "id", type: "FLOW", coordinates: { x: 1, y: 1 }, alias: "alias", config: { flow_id: "flow_id" } }, ], - start: { hidden_fields: [{ key: "key" }], next_node: "next_node", coordinates: { x: 1, y: 1 } }, + start: { hidden_fields: [{ key: "key" }], next_node: "$ending", coordinates: { x: 1, y: 1 } }, ending: { redirection: { delay: 1, target: "target" }, after_submit: { flow_id: "flow_id" }, @@ -179,7 +209,7 @@ describe("Forms", () => { key: "key", }, ], - next_node: "next_node", + next_node: "$ending", coordinates: { x: 1, y: 1, @@ -211,7 +241,7 @@ describe("Forms", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x" }; const rawResponseBody = { key: "value" }; server @@ -232,7 +262,7 @@ describe("Forms", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x" }; const rawResponseBody = { key: "value" }; server @@ -253,7 +283,7 @@ describe("Forms", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x" }; const rawResponseBody = { key: "value" }; server @@ -274,7 +304,7 @@ describe("Forms", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x" }; const rawResponseBody = { key: "value" }; server @@ -295,7 +325,7 @@ describe("Forms", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -306,7 +336,7 @@ describe("Forms", () => { nodes: [ { id: "id", type: "FLOW", coordinates: { x: 1, y: 1 }, alias: "alias", config: { flow_id: "flow_id" } }, ], - start: { hidden_fields: [{ key: "key" }], next_node: "next_node", coordinates: { x: 1, y: 1 } }, + start: { hidden_fields: [{ key: "key" }], next_node: "$ending", coordinates: { x: 1, y: 1 } }, ending: { redirection: { delay: 1, target: "target" }, after_submit: { flow_id: "flow_id" }, @@ -362,7 +392,7 @@ describe("Forms", () => { key: "key", }, ], - next_node: "next_node", + next_node: "$ending", coordinates: { x: 1, y: 1, @@ -394,7 +424,7 @@ describe("Forms", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/forms/id").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -406,7 +436,7 @@ describe("Forms", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/forms/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -418,7 +448,7 @@ describe("Forms", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/forms/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -430,7 +460,7 @@ describe("Forms", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/forms/id").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); @@ -442,7 +472,7 @@ describe("Forms", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/forms/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -454,7 +484,7 @@ describe("Forms", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/forms/id").respondWith().statusCode(200).build(); @@ -464,7 +494,7 @@ describe("Forms", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/forms/id").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -476,7 +506,7 @@ describe("Forms", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/forms/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -488,7 +518,7 @@ describe("Forms", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/forms/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -500,7 +530,7 @@ describe("Forms", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/forms/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -512,7 +542,7 @@ describe("Forms", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { id: "id", @@ -523,7 +553,7 @@ describe("Forms", () => { nodes: [ { id: "id", type: "FLOW", coordinates: { x: 1, y: 1 }, alias: "alias", config: { flow_id: "flow_id" } }, ], - start: { hidden_fields: [{ key: "key" }], next_node: "next_node", coordinates: { x: 1, y: 1 } }, + start: { hidden_fields: [{ key: "key" }], next_node: "$ending", coordinates: { x: 1, y: 1 } }, ending: { redirection: { delay: 1, target: "target" }, after_submit: { flow_id: "flow_id" }, @@ -586,7 +616,7 @@ describe("Forms", () => { key: "key", }, ], - next_node: "next_node", + next_node: "$ending", coordinates: { x: 1, y: 1, @@ -618,7 +648,7 @@ describe("Forms", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -637,7 +667,7 @@ describe("Forms", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -656,7 +686,7 @@ describe("Forms", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/guardian/enrollments.test.ts b/src/management/tests/wire/guardian/enrollments.test.ts index b29cb7ed8c..77c0c0d618 100644 --- a/src/management/tests/wire/guardian/enrollments.test.ts +++ b/src/management/tests/wire/guardian/enrollments.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Enrollments", () => { +describe("EnrollmentsClient", () => { test("createTicket (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { user_id: "user_id" }; const rawResponseBody = { ticket_id: "ticket_id", ticket_url: "ticket_url" }; server @@ -30,7 +30,7 @@ describe("Enrollments", () => { test("createTicket (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { user_id: "user_id" }; const rawResponseBody = { key: "value" }; server @@ -51,7 +51,7 @@ describe("Enrollments", () => { test("createTicket (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { user_id: "user_id" }; const rawResponseBody = { key: "value" }; server @@ -72,7 +72,7 @@ describe("Enrollments", () => { test("createTicket (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { user_id: "user_id" }; const rawResponseBody = { key: "value" }; server @@ -93,7 +93,7 @@ describe("Enrollments", () => { test("createTicket (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { user_id: "user_id" }; const rawResponseBody = { key: "value" }; server @@ -114,7 +114,7 @@ describe("Enrollments", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -147,7 +147,7 @@ describe("Enrollments", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -165,7 +165,7 @@ describe("Enrollments", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -183,7 +183,7 @@ describe("Enrollments", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -201,7 +201,7 @@ describe("Enrollments", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/guardian/enrollments/id").respondWith().statusCode(200).build(); @@ -211,7 +211,7 @@ describe("Enrollments", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -229,7 +229,7 @@ describe("Enrollments", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -247,7 +247,7 @@ describe("Enrollments", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/guardian/factors.test.ts b/src/management/tests/wire/guardian/factors.test.ts index 93f6dab88a..fb17055445 100644 --- a/src/management/tests/wire/guardian/factors.test.ts +++ b/src/management/tests/wire/guardian/factors.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Factors", () => { +describe("FactorsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = [{ enabled: true, trial_expired: true, name: "push-notification" }]; server.mockEndpoint().get("/guardian/factors").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); @@ -24,7 +24,7 @@ describe("Factors", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/guardian/factors").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -36,7 +36,7 @@ describe("Factors", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/guardian/factors").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -48,7 +48,7 @@ describe("Factors", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/guardian/factors").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -60,7 +60,7 @@ describe("Factors", () => { test("set (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { enabled: true }; const rawResponseBody = { enabled: true }; server @@ -82,7 +82,7 @@ describe("Factors", () => { test("set (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { enabled: true }; const rawResponseBody = { key: "value" }; server @@ -103,7 +103,7 @@ describe("Factors", () => { test("set (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { enabled: true }; const rawResponseBody = { key: "value" }; server @@ -124,7 +124,7 @@ describe("Factors", () => { test("set (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { enabled: true }; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/guardian/factors/duo/settings.test.ts b/src/management/tests/wire/guardian/factors/duo/settings.test.ts index 8725ab38cb..d56ab65455 100644 --- a/src/management/tests/wire/guardian/factors/duo/settings.test.ts +++ b/src/management/tests/wire/guardian/factors/duo/settings.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../../../mock-server/MockServerPool"; import { ManagementClient } from "../../../../../Client"; import * as Management from "../../../../../api/index"; -describe("Settings", () => { +describe("SettingsClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { ikey: "ikey", skey: "skey", host: "host" }; server @@ -28,7 +28,7 @@ describe("Settings", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -46,7 +46,7 @@ describe("Settings", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -64,7 +64,7 @@ describe("Settings", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -82,7 +82,7 @@ describe("Settings", () => { test("set (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { ikey: "ikey", skey: "skey", host: "host" }; server @@ -104,7 +104,7 @@ describe("Settings", () => { test("set (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -123,7 +123,7 @@ describe("Settings", () => { test("set (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -142,7 +142,7 @@ describe("Settings", () => { test("set (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -161,7 +161,7 @@ describe("Settings", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { ikey: "ikey", skey: "skey", host: "host" }; server @@ -183,7 +183,7 @@ describe("Settings", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -202,7 +202,7 @@ describe("Settings", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -221,7 +221,7 @@ describe("Settings", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/guardian/factors/phone.test.ts b/src/management/tests/wire/guardian/factors/phone.test.ts index 8565f291f1..c8d38c05a6 100644 --- a/src/management/tests/wire/guardian/factors/phone.test.ts +++ b/src/management/tests/wire/guardian/factors/phone.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../../mock-server/MockServerPool"; import { ManagementClient } from "../../../../Client"; import * as Management from "../../../../api/index"; -describe("Phone", () => { +describe("PhoneClient", () => { test("getMessageTypes (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { message_types: ["sms"] }; server @@ -26,7 +26,7 @@ describe("Phone", () => { test("getMessageTypes (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -44,7 +44,7 @@ describe("Phone", () => { test("getMessageTypes (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -62,7 +62,7 @@ describe("Phone", () => { test("getMessageTypes (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -80,7 +80,7 @@ describe("Phone", () => { test("setMessageTypes (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { message_types: ["sms"] }; const rawResponseBody = { message_types: ["sms"] }; server @@ -102,7 +102,7 @@ describe("Phone", () => { test("setMessageTypes (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { message_types: ["sms", "sms"] }; const rawResponseBody = { key: "value" }; server @@ -123,7 +123,7 @@ describe("Phone", () => { test("setMessageTypes (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { message_types: ["sms", "sms"] }; const rawResponseBody = { key: "value" }; server @@ -144,7 +144,7 @@ describe("Phone", () => { test("setMessageTypes (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { message_types: ["sms", "sms"] }; const rawResponseBody = { key: "value" }; server @@ -165,7 +165,7 @@ describe("Phone", () => { test("setMessageTypes (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { message_types: ["sms", "sms"] }; const rawResponseBody = { key: "value" }; server @@ -186,7 +186,7 @@ describe("Phone", () => { test("getTwilioProvider (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { from: "from", @@ -213,7 +213,7 @@ describe("Phone", () => { test("getTwilioProvider (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -231,7 +231,7 @@ describe("Phone", () => { test("getTwilioProvider (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -249,7 +249,7 @@ describe("Phone", () => { test("getTwilioProvider (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -267,7 +267,7 @@ describe("Phone", () => { test("setTwilioProvider (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { from: "from", @@ -295,7 +295,7 @@ describe("Phone", () => { test("setTwilioProvider (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -314,7 +314,7 @@ describe("Phone", () => { test("setTwilioProvider (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -333,7 +333,7 @@ describe("Phone", () => { test("setTwilioProvider (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -352,7 +352,7 @@ describe("Phone", () => { test("getSelectedProvider (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { provider: "auth0" }; server @@ -371,7 +371,7 @@ describe("Phone", () => { test("getSelectedProvider (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -389,7 +389,7 @@ describe("Phone", () => { test("getSelectedProvider (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -407,7 +407,7 @@ describe("Phone", () => { test("getSelectedProvider (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -425,7 +425,7 @@ describe("Phone", () => { test("setProvider (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { provider: "auth0" }; const rawResponseBody = { provider: "auth0" }; server @@ -447,7 +447,7 @@ describe("Phone", () => { test("setProvider (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { provider: "auth0" }; const rawResponseBody = { key: "value" }; server @@ -468,7 +468,7 @@ describe("Phone", () => { test("setProvider (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { provider: "auth0" }; const rawResponseBody = { key: "value" }; server @@ -489,7 +489,7 @@ describe("Phone", () => { test("setProvider (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { provider: "auth0" }; const rawResponseBody = { key: "value" }; server @@ -510,7 +510,7 @@ describe("Phone", () => { test("getTemplates (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { enrollment_message: "enrollment_message", @@ -533,7 +533,7 @@ describe("Phone", () => { test("getTemplates (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -551,7 +551,7 @@ describe("Phone", () => { test("getTemplates (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -569,7 +569,7 @@ describe("Phone", () => { test("getTemplates (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -587,7 +587,7 @@ describe("Phone", () => { test("setTemplates (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { enrollment_message: "enrollment_message", verification_message: "verification_message", @@ -617,7 +617,7 @@ describe("Phone", () => { test("setTemplates (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { enrollment_message: "{{code}} is your verification code for {{tenant.friendly_name}}. Please enter this code to verify your enrollment.", @@ -644,7 +644,7 @@ describe("Phone", () => { test("setTemplates (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { enrollment_message: "{{code}} is your verification code for {{tenant.friendly_name}}. Please enter this code to verify your enrollment.", @@ -671,7 +671,7 @@ describe("Phone", () => { test("setTemplates (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { enrollment_message: "{{code}} is your verification code for {{tenant.friendly_name}}. Please enter this code to verify your enrollment.", diff --git a/src/management/tests/wire/guardian/factors/pushNotification.test.ts b/src/management/tests/wire/guardian/factors/pushNotification.test.ts index 8eabe56070..2589cf3fd8 100644 --- a/src/management/tests/wire/guardian/factors/pushNotification.test.ts +++ b/src/management/tests/wire/guardian/factors/pushNotification.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../../mock-server/MockServerPool"; import { ManagementClient } from "../../../../Client"; import * as Management from "../../../../api/index"; -describe("PushNotification", () => { +describe("PushNotificationClient", () => { test("getApnsProvider (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { bundle_id: "bundle_id", sandbox: true, enabled: true }; server @@ -28,7 +28,7 @@ describe("PushNotification", () => { test("getApnsProvider (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -46,7 +46,7 @@ describe("PushNotification", () => { test("getApnsProvider (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -64,7 +64,7 @@ describe("PushNotification", () => { test("getApnsProvider (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -82,7 +82,7 @@ describe("PushNotification", () => { test("setApnsProvider (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { sandbox: true, bundle_id: "bundle_id" }; server @@ -103,7 +103,7 @@ describe("PushNotification", () => { test("setApnsProvider (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -122,7 +122,7 @@ describe("PushNotification", () => { test("setApnsProvider (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -141,7 +141,7 @@ describe("PushNotification", () => { test("setApnsProvider (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -160,7 +160,7 @@ describe("PushNotification", () => { test("setFcmProvider (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -180,7 +180,7 @@ describe("PushNotification", () => { test("setFcmProvider (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -199,7 +199,7 @@ describe("PushNotification", () => { test("setFcmProvider (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -218,7 +218,7 @@ describe("PushNotification", () => { test("setFcmProvider (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -237,7 +237,7 @@ describe("PushNotification", () => { test("setFcmv1Provider (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -257,7 +257,7 @@ describe("PushNotification", () => { test("setFcmv1Provider (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -276,7 +276,7 @@ describe("PushNotification", () => { test("setFcmv1Provider (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -295,7 +295,7 @@ describe("PushNotification", () => { test("setFcmv1Provider (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -314,7 +314,7 @@ describe("PushNotification", () => { test("getSnsProvider (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { aws_access_key_id: "aws_access_key_id", @@ -343,7 +343,7 @@ describe("PushNotification", () => { test("getSnsProvider (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -361,7 +361,7 @@ describe("PushNotification", () => { test("getSnsProvider (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -379,7 +379,7 @@ describe("PushNotification", () => { test("getSnsProvider (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -397,7 +397,7 @@ describe("PushNotification", () => { test("setSnsProvider (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { aws_access_key_id: "aws_access_key_id", @@ -427,7 +427,7 @@ describe("PushNotification", () => { test("setSnsProvider (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -446,7 +446,7 @@ describe("PushNotification", () => { test("setSnsProvider (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -465,7 +465,7 @@ describe("PushNotification", () => { test("setSnsProvider (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -484,7 +484,7 @@ describe("PushNotification", () => { test("updateSnsProvider (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { aws_access_key_id: "aws_access_key_id", @@ -514,7 +514,7 @@ describe("PushNotification", () => { test("updateSnsProvider (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -533,7 +533,7 @@ describe("PushNotification", () => { test("updateSnsProvider (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -552,7 +552,7 @@ describe("PushNotification", () => { test("updateSnsProvider (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -571,7 +571,7 @@ describe("PushNotification", () => { test("getSelectedProvider (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { provider: "guardian" }; server @@ -590,7 +590,7 @@ describe("PushNotification", () => { test("getSelectedProvider (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -608,7 +608,7 @@ describe("PushNotification", () => { test("getSelectedProvider (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -626,7 +626,7 @@ describe("PushNotification", () => { test("getSelectedProvider (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -644,7 +644,7 @@ describe("PushNotification", () => { test("setProvider (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { provider: "guardian" }; const rawResponseBody = { provider: "guardian" }; server @@ -666,7 +666,7 @@ describe("PushNotification", () => { test("setProvider (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { provider: "guardian" }; const rawResponseBody = { key: "value" }; server @@ -687,7 +687,7 @@ describe("PushNotification", () => { test("setProvider (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { provider: "guardian" }; const rawResponseBody = { key: "value" }; server @@ -708,7 +708,7 @@ describe("PushNotification", () => { test("setProvider (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { provider: "guardian" }; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/guardian/factors/sms.test.ts b/src/management/tests/wire/guardian/factors/sms.test.ts index 815530b891..078c8415a8 100644 --- a/src/management/tests/wire/guardian/factors/sms.test.ts +++ b/src/management/tests/wire/guardian/factors/sms.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../../mock-server/MockServerPool"; import { ManagementClient } from "../../../../Client"; import * as Management from "../../../../api/index"; -describe("Sms", () => { +describe("SmsClient", () => { test("getTwilioProvider (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { from: "from", @@ -34,7 +34,7 @@ describe("Sms", () => { test("getTwilioProvider (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -52,7 +52,7 @@ describe("Sms", () => { test("getTwilioProvider (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -70,7 +70,7 @@ describe("Sms", () => { test("getTwilioProvider (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -88,7 +88,7 @@ describe("Sms", () => { test("setTwilioProvider (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { from: "from", @@ -116,7 +116,7 @@ describe("Sms", () => { test("setTwilioProvider (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -135,7 +135,7 @@ describe("Sms", () => { test("setTwilioProvider (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -154,7 +154,7 @@ describe("Sms", () => { test("setTwilioProvider (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -173,7 +173,7 @@ describe("Sms", () => { test("getSelectedProvider (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { provider: "auth0" }; server @@ -192,7 +192,7 @@ describe("Sms", () => { test("getSelectedProvider (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -210,7 +210,7 @@ describe("Sms", () => { test("getSelectedProvider (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -228,7 +228,7 @@ describe("Sms", () => { test("getSelectedProvider (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -246,7 +246,7 @@ describe("Sms", () => { test("setProvider (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { provider: "auth0" }; const rawResponseBody = { provider: "auth0" }; server @@ -268,7 +268,7 @@ describe("Sms", () => { test("setProvider (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { provider: "auth0" }; const rawResponseBody = { key: "value" }; server @@ -289,7 +289,7 @@ describe("Sms", () => { test("setProvider (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { provider: "auth0" }; const rawResponseBody = { key: "value" }; server @@ -310,7 +310,7 @@ describe("Sms", () => { test("setProvider (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { provider: "auth0" }; const rawResponseBody = { key: "value" }; server @@ -331,7 +331,7 @@ describe("Sms", () => { test("getTemplates (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { enrollment_message: "enrollment_message", @@ -354,7 +354,7 @@ describe("Sms", () => { test("getTemplates (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -372,7 +372,7 @@ describe("Sms", () => { test("getTemplates (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -390,7 +390,7 @@ describe("Sms", () => { test("getTemplates (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -408,7 +408,7 @@ describe("Sms", () => { test("setTemplates (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { enrollment_message: "enrollment_message", verification_message: "verification_message", @@ -438,7 +438,7 @@ describe("Sms", () => { test("setTemplates (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { enrollment_message: "{{code}} is your verification code for {{tenant.friendly_name}}. Please enter this code to verify your enrollment.", @@ -465,7 +465,7 @@ describe("Sms", () => { test("setTemplates (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { enrollment_message: "{{code}} is your verification code for {{tenant.friendly_name}}. Please enter this code to verify your enrollment.", @@ -492,7 +492,7 @@ describe("Sms", () => { test("setTemplates (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { enrollment_message: "{{code}} is your verification code for {{tenant.friendly_name}}. Please enter this code to verify your enrollment.", diff --git a/src/management/tests/wire/guardian/policies.test.ts b/src/management/tests/wire/guardian/policies.test.ts index da7fd079c3..d2f3653bc8 100644 --- a/src/management/tests/wire/guardian/policies.test.ts +++ b/src/management/tests/wire/guardian/policies.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Policies", () => { +describe("PoliciesClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = ["all-applications"]; server.mockEndpoint().get("/guardian/policies").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); @@ -18,7 +18,7 @@ describe("Policies", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/guardian/policies").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -30,7 +30,7 @@ describe("Policies", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/guardian/policies").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -42,7 +42,7 @@ describe("Policies", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/guardian/policies").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -54,7 +54,7 @@ describe("Policies", () => { test("set (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = ["all-applications"]; const rawResponseBody = ["all-applications"]; server @@ -72,7 +72,7 @@ describe("Policies", () => { test("set (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = ["all-applications", "all-applications"]; const rawResponseBody = { key: "value" }; server @@ -91,7 +91,7 @@ describe("Policies", () => { test("set (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = ["all-applications", "all-applications"]; const rawResponseBody = { key: "value" }; server @@ -110,7 +110,7 @@ describe("Policies", () => { test("set (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = ["all-applications", "all-applications"]; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/hooks.test.ts b/src/management/tests/wire/hooks.test.ts index c95d4e7283..7935396073 100644 --- a/src/management/tests/wire/hooks.test.ts +++ b/src/management/tests/wire/hooks.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("Hooks", () => { +describe("HooksClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { start: 1.1, @@ -24,7 +24,13 @@ describe("Hooks", () => { }, ], }; - server.mockEndpoint().get("/hooks").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/hooks") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); const expected = { start: 1.1, @@ -60,10 +66,16 @@ describe("Hooks", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/hooks").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/hooks") + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.hooks.list(); @@ -72,10 +84,16 @@ describe("Hooks", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/hooks").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/hooks") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.hooks.list(); @@ -84,10 +102,16 @@ describe("Hooks", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/hooks").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/hooks") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.hooks.list(); @@ -96,10 +120,16 @@ describe("Hooks", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/hooks").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/hooks") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.hooks.list(); @@ -108,10 +138,16 @@ describe("Hooks", () => { test("list (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/hooks").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/hooks") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.hooks.list(); @@ -120,7 +156,7 @@ describe("Hooks", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name", script: "script", triggerId: "credentials-exchange" }; const rawResponseBody = { triggerId: "triggerId", @@ -158,7 +194,7 @@ describe("Hooks", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "my-hook", script: "module.exports = function(client, scope, audience, context, cb) cb(null, access_token); };", @@ -185,7 +221,7 @@ describe("Hooks", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "my-hook", script: "module.exports = function(client, scope, audience, context, cb) cb(null, access_token); };", @@ -212,7 +248,7 @@ describe("Hooks", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "my-hook", script: "module.exports = function(client, scope, audience, context, cb) cb(null, access_token); };", @@ -239,7 +275,7 @@ describe("Hooks", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "my-hook", script: "module.exports = function(client, scope, audience, context, cb) cb(null, access_token); };", @@ -266,7 +302,7 @@ describe("Hooks", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "my-hook", script: "module.exports = function(client, scope, audience, context, cb) cb(null, access_token); };", @@ -293,7 +329,7 @@ describe("Hooks", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { triggerId: "triggerId", @@ -322,7 +358,7 @@ describe("Hooks", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/hooks/id").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -334,7 +370,7 @@ describe("Hooks", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/hooks/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -346,7 +382,7 @@ describe("Hooks", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/hooks/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -358,7 +394,7 @@ describe("Hooks", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/hooks/id").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); @@ -370,7 +406,7 @@ describe("Hooks", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/hooks/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -382,7 +418,7 @@ describe("Hooks", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/hooks/id").respondWith().statusCode(200).build(); @@ -392,7 +428,7 @@ describe("Hooks", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/hooks/id").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -404,7 +440,7 @@ describe("Hooks", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/hooks/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -416,7 +452,7 @@ describe("Hooks", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/hooks/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -428,7 +464,7 @@ describe("Hooks", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/hooks/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -440,7 +476,7 @@ describe("Hooks", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { triggerId: "triggerId", @@ -474,7 +510,7 @@ describe("Hooks", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -493,7 +529,7 @@ describe("Hooks", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -512,7 +548,7 @@ describe("Hooks", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -531,7 +567,7 @@ describe("Hooks", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -550,7 +586,7 @@ describe("Hooks", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -569,7 +605,7 @@ describe("Hooks", () => { test("update (7)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/hooks/secrets.test.ts b/src/management/tests/wire/hooks/secrets.test.ts index 3c1ae0b371..74c0caf71c 100644 --- a/src/management/tests/wire/hooks/secrets.test.ts +++ b/src/management/tests/wire/hooks/secrets.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Secrets", () => { +describe("SecretsClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/hooks/id/secrets").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); @@ -20,7 +20,7 @@ describe("Secrets", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/hooks/id/secrets").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -32,7 +32,7 @@ describe("Secrets", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/hooks/id/secrets").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -44,7 +44,7 @@ describe("Secrets", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/hooks/id/secrets").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -56,7 +56,7 @@ describe("Secrets", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/hooks/id/secrets").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); @@ -68,7 +68,7 @@ describe("Secrets", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/hooks/id/secrets").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -80,7 +80,7 @@ describe("Secrets", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { key: "value" }; server.mockEndpoint().post("/hooks/id/secrets").jsonBody(rawRequestBody).respondWith().statusCode(200).build(); @@ -93,7 +93,7 @@ describe("Secrets", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { string: "string" }; const rawResponseBody = { key: "value" }; server @@ -114,7 +114,7 @@ describe("Secrets", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { string: "string" }; const rawResponseBody = { key: "value" }; server @@ -135,7 +135,7 @@ describe("Secrets", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { string: "string" }; const rawResponseBody = { key: "value" }; server @@ -156,7 +156,7 @@ describe("Secrets", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { string: "string" }; const rawResponseBody = { key: "value" }; server @@ -177,7 +177,7 @@ describe("Secrets", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { string: "string" }; const rawResponseBody = { key: "value" }; server @@ -198,7 +198,7 @@ describe("Secrets", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = ["string"]; server @@ -215,7 +215,7 @@ describe("Secrets", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = ["string", "string"]; const rawResponseBody = { key: "value" }; server @@ -234,7 +234,7 @@ describe("Secrets", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = ["string", "string"]; const rawResponseBody = { key: "value" }; server @@ -253,7 +253,7 @@ describe("Secrets", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = ["string", "string"]; const rawResponseBody = { key: "value" }; server @@ -272,7 +272,7 @@ describe("Secrets", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = ["string", "string"]; const rawResponseBody = { key: "value" }; server @@ -291,7 +291,7 @@ describe("Secrets", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { key: "value" }; server.mockEndpoint().patch("/hooks/id/secrets").jsonBody(rawRequestBody).respondWith().statusCode(200).build(); @@ -304,7 +304,7 @@ describe("Secrets", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { string: "string" }; const rawResponseBody = { key: "value" }; server @@ -325,7 +325,7 @@ describe("Secrets", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { string: "string" }; const rawResponseBody = { key: "value" }; server @@ -346,7 +346,7 @@ describe("Secrets", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { string: "string" }; const rawResponseBody = { key: "value" }; server @@ -367,7 +367,7 @@ describe("Secrets", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { string: "string" }; const rawResponseBody = { key: "value" }; server @@ -388,7 +388,7 @@ describe("Secrets", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { string: "string" }; const rawResponseBody = { key: "value" }; server @@ -409,7 +409,7 @@ describe("Secrets", () => { test("update (7)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { string: "string" }; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/jobs.test.ts b/src/management/tests/wire/jobs.test.ts index 7a18a50435..f75c6ca849 100644 --- a/src/management/tests/wire/jobs.test.ts +++ b/src/management/tests/wire/jobs.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("Jobs", () => { +describe("JobsClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { status: "status", @@ -40,7 +40,7 @@ describe("Jobs", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/jobs/id").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -52,7 +52,7 @@ describe("Jobs", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/jobs/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -64,7 +64,7 @@ describe("Jobs", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/jobs/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -76,7 +76,7 @@ describe("Jobs", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/jobs/id").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); @@ -88,7 +88,7 @@ describe("Jobs", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/jobs/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); diff --git a/src/management/tests/wire/jobs/errors.test.ts b/src/management/tests/wire/jobs/errors.test.ts index fab6150d61..89ca7d74f8 100644 --- a/src/management/tests/wire/jobs/errors.test.ts +++ b/src/management/tests/wire/jobs/errors.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Errors", () => { +describe("ErrorsClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = [{ user: { key: "value" }, errors: [{}] }]; server.mockEndpoint().get("/jobs/id/errors").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); @@ -25,7 +25,7 @@ describe("Errors", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/jobs/id/errors").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -37,7 +37,7 @@ describe("Errors", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/jobs/id/errors").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -49,7 +49,7 @@ describe("Errors", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/jobs/id/errors").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -61,7 +61,7 @@ describe("Errors", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/jobs/id/errors").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); @@ -73,7 +73,7 @@ describe("Errors", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/jobs/id/errors").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); diff --git a/src/management/tests/wire/jobs/usersExports.test.ts b/src/management/tests/wire/jobs/usersExports.test.ts index cceff26467..cfd00a6cf2 100644 --- a/src/management/tests/wire/jobs/usersExports.test.ts +++ b/src/management/tests/wire/jobs/usersExports.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("UsersExports", () => { +describe("UsersExportsClient", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { status: "status", @@ -48,7 +48,7 @@ describe("UsersExports", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -67,7 +67,7 @@ describe("UsersExports", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -86,7 +86,7 @@ describe("UsersExports", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -105,7 +105,7 @@ describe("UsersExports", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/jobs/verificationEmail.test.ts b/src/management/tests/wire/jobs/verificationEmail.test.ts index 3d688808c6..66270c988f 100644 --- a/src/management/tests/wire/jobs/verificationEmail.test.ts +++ b/src/management/tests/wire/jobs/verificationEmail.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("VerificationEmail", () => { +describe("VerificationEmailClient", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { user_id: "user_id" }; const rawResponseBody = { status: "status", type: "type", created_at: "created_at", id: "id" }; server @@ -32,7 +32,7 @@ describe("VerificationEmail", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { user_id: "google-oauth2|1234" }; const rawResponseBody = { key: "value" }; server @@ -53,7 +53,7 @@ describe("VerificationEmail", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { user_id: "google-oauth2|1234" }; const rawResponseBody = { key: "value" }; server @@ -74,7 +74,7 @@ describe("VerificationEmail", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { user_id: "google-oauth2|1234" }; const rawResponseBody = { key: "value" }; server @@ -95,7 +95,7 @@ describe("VerificationEmail", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { user_id: "google-oauth2|1234" }; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/keys/customSigning.test.ts b/src/management/tests/wire/keys/customSigning.test.ts index ee43103a00..5f83e07fac 100644 --- a/src/management/tests/wire/keys/customSigning.test.ts +++ b/src/management/tests/wire/keys/customSigning.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("CustomSigning", () => { +describe("CustomSigningClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { keys: [ @@ -62,7 +62,7 @@ describe("CustomSigning", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -80,7 +80,7 @@ describe("CustomSigning", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -98,7 +98,7 @@ describe("CustomSigning", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -116,7 +116,7 @@ describe("CustomSigning", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -134,7 +134,7 @@ describe("CustomSigning", () => { test("set (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { keys: [{ kty: "EC" }] }; const rawResponseBody = { keys: [ @@ -196,7 +196,7 @@ describe("CustomSigning", () => { test("set (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { keys: [{ kty: "EC" }, { kty: "EC" }] }; const rawResponseBody = { key: "value" }; server @@ -224,7 +224,7 @@ describe("CustomSigning", () => { test("set (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { keys: [{ kty: "EC" }, { kty: "EC" }] }; const rawResponseBody = { key: "value" }; server @@ -252,7 +252,7 @@ describe("CustomSigning", () => { test("set (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { keys: [{ kty: "EC" }, { kty: "EC" }] }; const rawResponseBody = { key: "value" }; server @@ -280,7 +280,7 @@ describe("CustomSigning", () => { test("set (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { keys: [{ kty: "EC" }, { kty: "EC" }] }; const rawResponseBody = { key: "value" }; server @@ -308,7 +308,7 @@ describe("CustomSigning", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/keys/custom-signing").respondWith().statusCode(200).build(); @@ -318,7 +318,7 @@ describe("CustomSigning", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -336,7 +336,7 @@ describe("CustomSigning", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -354,7 +354,7 @@ describe("CustomSigning", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/keys/encryption.test.ts b/src/management/tests/wire/keys/encryption.test.ts index 9ec470c823..d0c2b96010 100644 --- a/src/management/tests/wire/keys/encryption.test.ts +++ b/src/management/tests/wire/keys/encryption.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Encryption", () => { +describe("EncryptionClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { start: 1, @@ -25,7 +25,13 @@ describe("Encryption", () => { }, ], }; - server.mockEndpoint().get("/keys/encryption").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/keys/encryption") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); const expected = { start: 1, @@ -57,10 +63,16 @@ describe("Encryption", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/keys/encryption").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/keys/encryption") + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.keys.encryption.list(); @@ -69,10 +81,16 @@ describe("Encryption", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/keys/encryption").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/keys/encryption") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.keys.encryption.list(); @@ -81,10 +99,16 @@ describe("Encryption", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/keys/encryption").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/keys/encryption") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.keys.encryption.list(); @@ -93,10 +117,16 @@ describe("Encryption", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/keys/encryption").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/keys/encryption") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.keys.encryption.list(); @@ -105,7 +135,7 @@ describe("Encryption", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { type: "customer-provided-root-key" }; const rawResponseBody = { kid: "kid", @@ -141,7 +171,7 @@ describe("Encryption", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { type: "customer-provided-root-key" }; const rawResponseBody = { key: "value" }; server @@ -162,7 +192,7 @@ describe("Encryption", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { type: "customer-provided-root-key" }; const rawResponseBody = { key: "value" }; server @@ -183,7 +213,7 @@ describe("Encryption", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { type: "customer-provided-root-key" }; const rawResponseBody = { key: "value" }; server @@ -204,7 +234,7 @@ describe("Encryption", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { type: "customer-provided-root-key" }; const rawResponseBody = { key: "value" }; server @@ -225,7 +255,7 @@ describe("Encryption", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { type: "customer-provided-root-key" }; const rawResponseBody = { key: "value" }; server @@ -246,7 +276,7 @@ describe("Encryption", () => { test("rekey (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().post("/keys/encryption/rekey").respondWith().statusCode(200).build(); @@ -256,7 +286,7 @@ describe("Encryption", () => { test("rekey (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -274,7 +304,7 @@ describe("Encryption", () => { test("rekey (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -292,7 +322,7 @@ describe("Encryption", () => { test("rekey (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -310,7 +340,7 @@ describe("Encryption", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { kid: "kid", @@ -343,7 +373,7 @@ describe("Encryption", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -361,7 +391,7 @@ describe("Encryption", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -379,7 +409,7 @@ describe("Encryption", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -397,7 +427,7 @@ describe("Encryption", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -415,7 +445,7 @@ describe("Encryption", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -433,7 +463,7 @@ describe("Encryption", () => { test("import (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { wrapped_key: "wrapped_key" }; const rawResponseBody = { kid: "kid", @@ -469,7 +499,7 @@ describe("Encryption", () => { test("import (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { wrapped_key: "wrapped_key" }; const rawResponseBody = { key: "value" }; server @@ -490,7 +520,7 @@ describe("Encryption", () => { test("import (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { wrapped_key: "wrapped_key" }; const rawResponseBody = { key: "value" }; server @@ -511,7 +541,7 @@ describe("Encryption", () => { test("import (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { wrapped_key: "wrapped_key" }; const rawResponseBody = { key: "value" }; server @@ -532,7 +562,7 @@ describe("Encryption", () => { test("import (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { wrapped_key: "wrapped_key" }; const rawResponseBody = { key: "value" }; server @@ -553,7 +583,7 @@ describe("Encryption", () => { test("import (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { wrapped_key: "wrapped_key" }; const rawResponseBody = { key: "value" }; server @@ -574,7 +604,7 @@ describe("Encryption", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/keys/encryption/kid").respondWith().statusCode(200).build(); @@ -584,7 +614,7 @@ describe("Encryption", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -602,7 +632,7 @@ describe("Encryption", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -620,7 +650,7 @@ describe("Encryption", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -638,7 +668,7 @@ describe("Encryption", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -656,7 +686,7 @@ describe("Encryption", () => { test("createPublicWrappingKey (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { public_key: "public_key", algorithm: "CKM_RSA_AES_KEY_WRAP" }; server @@ -676,7 +706,7 @@ describe("Encryption", () => { test("createPublicWrappingKey (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -694,7 +724,7 @@ describe("Encryption", () => { test("createPublicWrappingKey (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -712,7 +742,7 @@ describe("Encryption", () => { test("createPublicWrappingKey (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -730,7 +760,7 @@ describe("Encryption", () => { test("createPublicWrappingKey (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -748,7 +778,7 @@ describe("Encryption", () => { test("createPublicWrappingKey (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/keys/signing.test.ts b/src/management/tests/wire/keys/signing.test.ts index 913d5720ca..8a1ea5ef76 100644 --- a/src/management/tests/wire/keys/signing.test.ts +++ b/src/management/tests/wire/keys/signing.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Signing", () => { +describe("SigningClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = [ { @@ -48,7 +48,7 @@ describe("Signing", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/keys/signing").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -60,7 +60,7 @@ describe("Signing", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/keys/signing").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -72,7 +72,7 @@ describe("Signing", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/keys/signing").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -84,7 +84,7 @@ describe("Signing", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/keys/signing").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -96,7 +96,7 @@ describe("Signing", () => { test("rotate (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { cert: "cert", kid: "kid" }; server @@ -116,7 +116,7 @@ describe("Signing", () => { test("rotate (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -134,7 +134,7 @@ describe("Signing", () => { test("rotate (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -152,7 +152,7 @@ describe("Signing", () => { test("rotate (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -170,7 +170,7 @@ describe("Signing", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { kid: "kid", @@ -207,7 +207,7 @@ describe("Signing", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/keys/signing/kid").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -219,7 +219,7 @@ describe("Signing", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/keys/signing/kid").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -231,7 +231,7 @@ describe("Signing", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/keys/signing/kid").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -243,7 +243,7 @@ describe("Signing", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/keys/signing/kid").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -255,7 +255,7 @@ describe("Signing", () => { test("revoke (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { cert: "cert", kid: "kid" }; server @@ -275,7 +275,7 @@ describe("Signing", () => { test("revoke (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -293,7 +293,7 @@ describe("Signing", () => { test("revoke (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -311,7 +311,7 @@ describe("Signing", () => { test("revoke (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -329,7 +329,7 @@ describe("Signing", () => { test("revoke (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/logStreams.test.ts b/src/management/tests/wire/logStreams.test.ts index 12a1702e2c..922556f7ca 100644 --- a/src/management/tests/wire/logStreams.test.ts +++ b/src/management/tests/wire/logStreams.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("LogStreams", () => { +describe("LogStreamsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = [ { @@ -56,7 +56,7 @@ describe("LogStreams", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/log-streams").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -68,7 +68,7 @@ describe("LogStreams", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/log-streams").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -80,7 +80,7 @@ describe("LogStreams", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/log-streams").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); @@ -92,7 +92,7 @@ describe("LogStreams", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/log-streams").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -104,7 +104,7 @@ describe("LogStreams", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { type: "http", sink: { httpEndpoint: "httpEndpoint" } }; const rawResponseBody = { id: "id", @@ -166,7 +166,7 @@ describe("LogStreams", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { type: "http", sink: { httpEndpoint: "httpEndpoint" } }; const rawResponseBody = { key: "value" }; server @@ -190,7 +190,7 @@ describe("LogStreams", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { type: "http", sink: { httpEndpoint: "httpEndpoint" } }; const rawResponseBody = { key: "value" }; server @@ -214,7 +214,7 @@ describe("LogStreams", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { type: "http", sink: { httpEndpoint: "httpEndpoint" } }; const rawResponseBody = { key: "value" }; server @@ -238,7 +238,7 @@ describe("LogStreams", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { type: "http", sink: { httpEndpoint: "httpEndpoint" } }; const rawResponseBody = { key: "value" }; server @@ -262,7 +262,7 @@ describe("LogStreams", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { type: "http", sink: { httpEndpoint: "httpEndpoint" } }; const rawResponseBody = { key: "value" }; server @@ -286,7 +286,7 @@ describe("LogStreams", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -336,7 +336,7 @@ describe("LogStreams", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/log-streams/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -348,7 +348,7 @@ describe("LogStreams", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/log-streams/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -360,7 +360,7 @@ describe("LogStreams", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/log-streams/id").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); @@ -372,7 +372,7 @@ describe("LogStreams", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/log-streams/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -384,7 +384,7 @@ describe("LogStreams", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/log-streams/id").respondWith().statusCode(200).build(); @@ -394,7 +394,7 @@ describe("LogStreams", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/log-streams/id").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -406,7 +406,7 @@ describe("LogStreams", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/log-streams/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -418,7 +418,7 @@ describe("LogStreams", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/log-streams/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -430,7 +430,7 @@ describe("LogStreams", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/log-streams/id").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); @@ -442,7 +442,7 @@ describe("LogStreams", () => { test("delete (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/log-streams/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -454,7 +454,7 @@ describe("LogStreams", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { id: "id", @@ -511,7 +511,7 @@ describe("LogStreams", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -530,7 +530,7 @@ describe("LogStreams", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -549,7 +549,7 @@ describe("LogStreams", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -568,7 +568,7 @@ describe("LogStreams", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/logs.test.ts b/src/management/tests/wire/logs.test.ts index f8ad12de2f..e84bc16e21 100644 --- a/src/management/tests/wire/logs.test.ts +++ b/src/management/tests/wire/logs.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("Logs", () => { +describe("LogsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { start: 1.1, @@ -38,7 +38,13 @@ describe("Logs", () => { }, ], }; - server.mockEndpoint().get("/logs").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/logs") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); const expected = { start: 1.1, @@ -89,10 +95,16 @@ describe("Logs", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/logs").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/logs") + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.logs.list(); @@ -101,10 +113,16 @@ describe("Logs", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/logs").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/logs") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.logs.list(); @@ -113,10 +131,16 @@ describe("Logs", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/logs").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/logs") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.logs.list(); @@ -125,10 +149,16 @@ describe("Logs", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/logs").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/logs") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.logs.list(); @@ -137,7 +167,7 @@ describe("Logs", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { date: "date", @@ -215,7 +245,7 @@ describe("Logs", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/logs/id").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -227,7 +257,7 @@ describe("Logs", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/logs/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -239,7 +269,7 @@ describe("Logs", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/logs/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -251,7 +281,7 @@ describe("Logs", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/logs/id").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); @@ -263,7 +293,7 @@ describe("Logs", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/logs/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); diff --git a/src/management/tests/wire/networkAcls.test.ts b/src/management/tests/wire/networkAcls.test.ts index d29a846e93..a9e21c53d6 100644 --- a/src/management/tests/wire/networkAcls.test.ts +++ b/src/management/tests/wire/networkAcls.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("NetworkAcls", () => { +describe("NetworkAclsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { network_acls: [ @@ -25,7 +25,13 @@ describe("NetworkAcls", () => { limit: 1.1, total: 1.1, }; - server.mockEndpoint().get("/network-acls").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/network-acls") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); const expected = { network_acls: [ @@ -60,10 +66,16 @@ describe("NetworkAcls", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/network-acls").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/network-acls") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.networkAcls.list(); @@ -72,10 +84,16 @@ describe("NetworkAcls", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/network-acls").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/network-acls") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.networkAcls.list(); @@ -84,10 +102,16 @@ describe("NetworkAcls", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/network-acls").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/network-acls") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.networkAcls.list(); @@ -96,10 +120,16 @@ describe("NetworkAcls", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/network-acls").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/network-acls") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.networkAcls.list(); @@ -108,7 +138,7 @@ describe("NetworkAcls", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { description: "description", active: true, @@ -132,7 +162,7 @@ describe("NetworkAcls", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { description: "description", active: true, @@ -164,7 +194,7 @@ describe("NetworkAcls", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { description: "description", active: true, @@ -196,7 +226,7 @@ describe("NetworkAcls", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { description: "description", active: true, @@ -228,7 +258,7 @@ describe("NetworkAcls", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { description: "description", active: true, @@ -260,7 +290,7 @@ describe("NetworkAcls", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { description: "description", active: true, @@ -292,7 +322,7 @@ describe("NetworkAcls", () => { test("create (7)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { description: "description", active: true, @@ -324,7 +354,7 @@ describe("NetworkAcls", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -403,7 +433,7 @@ describe("NetworkAcls", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/network-acls/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -415,7 +445,7 @@ describe("NetworkAcls", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/network-acls/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -427,7 +457,7 @@ describe("NetworkAcls", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/network-acls/id").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); @@ -439,7 +469,7 @@ describe("NetworkAcls", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/network-acls/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -451,7 +481,7 @@ describe("NetworkAcls", () => { test("set (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { description: "description", active: true, @@ -550,7 +580,7 @@ describe("NetworkAcls", () => { test("set (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { description: "description", active: true, @@ -582,7 +612,7 @@ describe("NetworkAcls", () => { test("set (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { description: "description", active: true, @@ -614,7 +644,7 @@ describe("NetworkAcls", () => { test("set (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { description: "description", active: true, @@ -646,7 +676,7 @@ describe("NetworkAcls", () => { test("set (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { description: "description", active: true, @@ -678,7 +708,7 @@ describe("NetworkAcls", () => { test("set (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { description: "description", active: true, @@ -710,7 +740,7 @@ describe("NetworkAcls", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/network-acls/id").respondWith().statusCode(200).build(); @@ -720,7 +750,7 @@ describe("NetworkAcls", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -738,7 +768,7 @@ describe("NetworkAcls", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -756,7 +786,7 @@ describe("NetworkAcls", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -774,7 +804,7 @@ describe("NetworkAcls", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -792,7 +822,7 @@ describe("NetworkAcls", () => { test("delete (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -810,7 +840,7 @@ describe("NetworkAcls", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { id: "id", @@ -896,7 +926,7 @@ describe("NetworkAcls", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -915,7 +945,7 @@ describe("NetworkAcls", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -934,7 +964,7 @@ describe("NetworkAcls", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -953,7 +983,7 @@ describe("NetworkAcls", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -972,7 +1002,7 @@ describe("NetworkAcls", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/organizations.test.ts b/src/management/tests/wire/organizations.test.ts index 53ff8bd4f6..2c77d3af2e 100644 --- a/src/management/tests/wire/organizations.test.ts +++ b/src/management/tests/wire/organizations.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("Organizations", () => { +describe("OrganizationsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { next: "next", @@ -15,7 +15,13 @@ describe("Organizations", () => { { id: "id", name: "name", display_name: "display_name", token_quota: { client_credentials: {} } }, ], }; - server.mockEndpoint().get("/organizations").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/organizations") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); const expected = { next: "next", @@ -44,10 +50,16 @@ describe("Organizations", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/organizations").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/organizations") + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.organizations.list(); @@ -56,10 +68,16 @@ describe("Organizations", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/organizations").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/organizations") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.organizations.list(); @@ -68,10 +86,16 @@ describe("Organizations", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/organizations").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/organizations") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.organizations.list(); @@ -80,10 +104,16 @@ describe("Organizations", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/organizations").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/organizations") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.organizations.list(); @@ -92,7 +122,7 @@ describe("Organizations", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name" }; const rawResponseBody = { id: "id", @@ -156,7 +186,7 @@ describe("Organizations", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "organization-1" }; const rawResponseBody = { key: "value" }; server @@ -177,7 +207,7 @@ describe("Organizations", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "organization-1" }; const rawResponseBody = { key: "value" }; server @@ -198,7 +228,7 @@ describe("Organizations", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "organization-1" }; const rawResponseBody = { key: "value" }; server @@ -219,7 +249,7 @@ describe("Organizations", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "organization-1" }; const rawResponseBody = { key: "value" }; server @@ -240,7 +270,7 @@ describe("Organizations", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "organization-1" }; const rawResponseBody = { key: "value" }; server @@ -261,7 +291,7 @@ describe("Organizations", () => { test("getByName (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -306,7 +336,7 @@ describe("Organizations", () => { test("getByName (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -324,7 +354,7 @@ describe("Organizations", () => { test("getByName (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -342,7 +372,7 @@ describe("Organizations", () => { test("getByName (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -360,7 +390,7 @@ describe("Organizations", () => { test("getByName (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -378,7 +408,7 @@ describe("Organizations", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -417,7 +447,7 @@ describe("Organizations", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/organizations/id").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -429,7 +459,7 @@ describe("Organizations", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/organizations/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -441,7 +471,7 @@ describe("Organizations", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/organizations/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -453,7 +483,7 @@ describe("Organizations", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/organizations/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -465,7 +495,7 @@ describe("Organizations", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/organizations/id").respondWith().statusCode(200).build(); @@ -475,7 +505,7 @@ describe("Organizations", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -493,7 +523,7 @@ describe("Organizations", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -511,7 +541,7 @@ describe("Organizations", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -529,7 +559,7 @@ describe("Organizations", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -547,7 +577,7 @@ describe("Organizations", () => { test("delete (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -565,7 +595,7 @@ describe("Organizations", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { id: "id", @@ -611,7 +641,7 @@ describe("Organizations", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -630,7 +660,7 @@ describe("Organizations", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -649,7 +679,7 @@ describe("Organizations", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -668,7 +698,7 @@ describe("Organizations", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/organizations/clientGrants.test.ts b/src/management/tests/wire/organizations/clientGrants.test.ts index 801de9acbb..8816b65e6b 100644 --- a/src/management/tests/wire/organizations/clientGrants.test.ts +++ b/src/management/tests/wire/organizations/clientGrants.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("ClientGrants", () => { +describe("ClientGrantsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { start: 1.1, @@ -25,7 +25,7 @@ describe("ClientGrants", () => { ], }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/client-grants") .respondWith() .statusCode(200) @@ -63,11 +63,11 @@ describe("ClientGrants", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/client-grants") .respondWith() .statusCode(400) @@ -81,11 +81,11 @@ describe("ClientGrants", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/client-grants") .respondWith() .statusCode(401) @@ -99,11 +99,11 @@ describe("ClientGrants", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/client-grants") .respondWith() .statusCode(403) @@ -117,11 +117,11 @@ describe("ClientGrants", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/client-grants") .respondWith() .statusCode(429) @@ -135,7 +135,7 @@ describe("ClientGrants", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { grant_id: "grant_id" }; const rawResponseBody = { id: "id", @@ -169,7 +169,7 @@ describe("ClientGrants", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { grant_id: "grant_id" }; const rawResponseBody = { key: "value" }; server @@ -190,7 +190,7 @@ describe("ClientGrants", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { grant_id: "grant_id" }; const rawResponseBody = { key: "value" }; server @@ -211,7 +211,7 @@ describe("ClientGrants", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { grant_id: "grant_id" }; const rawResponseBody = { key: "value" }; server @@ -232,7 +232,7 @@ describe("ClientGrants", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { grant_id: "grant_id" }; const rawResponseBody = { key: "value" }; server @@ -253,7 +253,7 @@ describe("ClientGrants", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { grant_id: "grant_id" }; const rawResponseBody = { key: "value" }; server @@ -274,7 +274,7 @@ describe("ClientGrants", () => { test("create (7)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { grant_id: "grant_id" }; const rawResponseBody = { key: "value" }; server @@ -295,7 +295,7 @@ describe("ClientGrants", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/organizations/id/client-grants/grant_id").respondWith().statusCode(200).build(); @@ -305,7 +305,7 @@ describe("ClientGrants", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -323,7 +323,7 @@ describe("ClientGrants", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -341,7 +341,7 @@ describe("ClientGrants", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -359,7 +359,7 @@ describe("ClientGrants", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -377,7 +377,7 @@ describe("ClientGrants", () => { test("delete (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/organizations/discoveryDomains.test.ts b/src/management/tests/wire/organizations/discoveryDomains.test.ts index b00bf8e2d9..94ab56d7da 100644 --- a/src/management/tests/wire/organizations/discoveryDomains.test.ts +++ b/src/management/tests/wire/organizations/discoveryDomains.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("DiscoveryDomains", () => { +describe("DiscoveryDomainsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { next: "next", @@ -22,7 +22,7 @@ describe("DiscoveryDomains", () => { ], }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/discovery-domains") .respondWith() .statusCode(200) @@ -54,11 +54,11 @@ describe("DiscoveryDomains", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/discovery-domains") .respondWith() .statusCode(400) @@ -72,11 +72,11 @@ describe("DiscoveryDomains", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/discovery-domains") .respondWith() .statusCode(401) @@ -90,11 +90,11 @@ describe("DiscoveryDomains", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/discovery-domains") .respondWith() .statusCode(403) @@ -108,11 +108,11 @@ describe("DiscoveryDomains", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/discovery-domains") .respondWith() .statusCode(404) @@ -126,11 +126,11 @@ describe("DiscoveryDomains", () => { test("list (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/discovery-domains") .respondWith() .statusCode(429) @@ -144,7 +144,7 @@ describe("DiscoveryDomains", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { domain: "domain" }; const rawResponseBody = { id: "id", @@ -176,7 +176,7 @@ describe("DiscoveryDomains", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { domain: "foo" }; const rawResponseBody = { key: "value" }; server @@ -197,7 +197,7 @@ describe("DiscoveryDomains", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { domain: "foo" }; const rawResponseBody = { key: "value" }; server @@ -218,7 +218,7 @@ describe("DiscoveryDomains", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { domain: "foo" }; const rawResponseBody = { key: "value" }; server @@ -239,7 +239,7 @@ describe("DiscoveryDomains", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { domain: "foo" }; const rawResponseBody = { key: "value" }; server @@ -260,7 +260,7 @@ describe("DiscoveryDomains", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { domain: "foo" }; const rawResponseBody = { key: "value" }; server @@ -281,7 +281,7 @@ describe("DiscoveryDomains", () => { test("create (7)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { domain: "foo" }; const rawResponseBody = { key: "value" }; server @@ -302,7 +302,7 @@ describe("DiscoveryDomains", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -331,7 +331,7 @@ describe("DiscoveryDomains", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -349,7 +349,7 @@ describe("DiscoveryDomains", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -367,7 +367,7 @@ describe("DiscoveryDomains", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -385,7 +385,7 @@ describe("DiscoveryDomains", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -403,7 +403,7 @@ describe("DiscoveryDomains", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -421,7 +421,7 @@ describe("DiscoveryDomains", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server .mockEndpoint() @@ -436,7 +436,7 @@ describe("DiscoveryDomains", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -454,7 +454,7 @@ describe("DiscoveryDomains", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -472,7 +472,7 @@ describe("DiscoveryDomains", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -490,7 +490,7 @@ describe("DiscoveryDomains", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -508,7 +508,7 @@ describe("DiscoveryDomains", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { id: "id", @@ -538,7 +538,7 @@ describe("DiscoveryDomains", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -557,7 +557,7 @@ describe("DiscoveryDomains", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/organizations/enabledConnections.test.ts b/src/management/tests/wire/organizations/enabledConnections.test.ts index 3e999749fe..ee2ce0158c 100644 --- a/src/management/tests/wire/organizations/enabledConnections.test.ts +++ b/src/management/tests/wire/organizations/enabledConnections.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("EnabledConnections", () => { +describe("EnabledConnectionsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { start: 1.1, @@ -23,7 +23,7 @@ describe("EnabledConnections", () => { ], }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/enabled_connections") .respondWith() .statusCode(200) @@ -57,11 +57,11 @@ describe("EnabledConnections", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/enabled_connections") .respondWith() .statusCode(400) @@ -75,11 +75,11 @@ describe("EnabledConnections", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/enabled_connections") .respondWith() .statusCode(401) @@ -93,11 +93,11 @@ describe("EnabledConnections", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/enabled_connections") .respondWith() .statusCode(403) @@ -111,11 +111,11 @@ describe("EnabledConnections", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/enabled_connections") .respondWith() .statusCode(429) @@ -129,7 +129,7 @@ describe("EnabledConnections", () => { test("add (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { connection_id: "connection_id" }; const rawResponseBody = { connection_id: "connection_id", @@ -164,7 +164,7 @@ describe("EnabledConnections", () => { test("add (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { connection_id: "connection_id" }; const rawResponseBody = { key: "value" }; server @@ -185,7 +185,7 @@ describe("EnabledConnections", () => { test("add (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { connection_id: "connection_id" }; const rawResponseBody = { key: "value" }; server @@ -206,7 +206,7 @@ describe("EnabledConnections", () => { test("add (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { connection_id: "connection_id" }; const rawResponseBody = { key: "value" }; server @@ -227,7 +227,7 @@ describe("EnabledConnections", () => { test("add (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { connection_id: "connection_id" }; const rawResponseBody = { key: "value" }; server @@ -248,7 +248,7 @@ describe("EnabledConnections", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { connection_id: "connection_id", @@ -280,7 +280,7 @@ describe("EnabledConnections", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -298,7 +298,7 @@ describe("EnabledConnections", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -316,7 +316,7 @@ describe("EnabledConnections", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -334,7 +334,7 @@ describe("EnabledConnections", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server .mockEndpoint() @@ -349,7 +349,7 @@ describe("EnabledConnections", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -367,7 +367,7 @@ describe("EnabledConnections", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -385,7 +385,7 @@ describe("EnabledConnections", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -403,7 +403,7 @@ describe("EnabledConnections", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -421,7 +421,7 @@ describe("EnabledConnections", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { connection_id: "connection_id", @@ -454,7 +454,7 @@ describe("EnabledConnections", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -473,7 +473,7 @@ describe("EnabledConnections", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -492,7 +492,7 @@ describe("EnabledConnections", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -511,7 +511,7 @@ describe("EnabledConnections", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/organizations/invitations.test.ts b/src/management/tests/wire/organizations/invitations.test.ts index 171f6a2913..f311d8e713 100644 --- a/src/management/tests/wire/organizations/invitations.test.ts +++ b/src/management/tests/wire/organizations/invitations.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Invitations", () => { +describe("InvitationsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { start: 1.1, @@ -31,7 +31,7 @@ describe("Invitations", () => { ], }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/invitations") .respondWith() .statusCode(200) @@ -84,11 +84,11 @@ describe("Invitations", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/invitations") .respondWith() .statusCode(400) @@ -102,11 +102,11 @@ describe("Invitations", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/invitations") .respondWith() .statusCode(401) @@ -120,11 +120,11 @@ describe("Invitations", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/invitations") .respondWith() .statusCode(403) @@ -138,11 +138,11 @@ describe("Invitations", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/invitations") .respondWith() .statusCode(404) @@ -156,11 +156,11 @@ describe("Invitations", () => { test("list (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/invitations") .respondWith() .statusCode(429) @@ -174,7 +174,7 @@ describe("Invitations", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { inviter: { name: "name" }, invitee: { email: "email" }, client_id: "client_id" }; const rawResponseBody = { id: "id", @@ -236,7 +236,7 @@ describe("Invitations", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { inviter: { name: "Jane Doe" }, invitee: { email: "john.doe@gmail.com" }, @@ -267,7 +267,7 @@ describe("Invitations", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { inviter: { name: "Jane Doe" }, invitee: { email: "john.doe@gmail.com" }, @@ -298,7 +298,7 @@ describe("Invitations", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { inviter: { name: "Jane Doe" }, invitee: { email: "john.doe@gmail.com" }, @@ -329,7 +329,7 @@ describe("Invitations", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { inviter: { name: "Jane Doe" }, invitee: { email: "john.doe@gmail.com" }, @@ -360,7 +360,7 @@ describe("Invitations", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { inviter: { name: "Jane Doe" }, invitee: { email: "john.doe@gmail.com" }, @@ -391,7 +391,7 @@ describe("Invitations", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -447,7 +447,7 @@ describe("Invitations", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -465,7 +465,7 @@ describe("Invitations", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -483,7 +483,7 @@ describe("Invitations", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -501,7 +501,7 @@ describe("Invitations", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -519,7 +519,7 @@ describe("Invitations", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -537,7 +537,7 @@ describe("Invitations", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server .mockEndpoint() @@ -552,7 +552,7 @@ describe("Invitations", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -570,7 +570,7 @@ describe("Invitations", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -588,7 +588,7 @@ describe("Invitations", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -606,7 +606,7 @@ describe("Invitations", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/organizations/members.test.ts b/src/management/tests/wire/organizations/members.test.ts index 9cb95eb5b9..6fed932fc7 100644 --- a/src/management/tests/wire/organizations/members.test.ts +++ b/src/management/tests/wire/organizations/members.test.ts @@ -4,17 +4,17 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Members", () => { +describe("MembersClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { next: "next", members: [{ user_id: "user_id", picture: "picture", name: "name", email: "email", roles: [{}] }], }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/members") .respondWith() .statusCode(200) @@ -48,11 +48,11 @@ describe("Members", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/members") .respondWith() .statusCode(400) @@ -66,11 +66,11 @@ describe("Members", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/members") .respondWith() .statusCode(401) @@ -84,11 +84,11 @@ describe("Members", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/members") .respondWith() .statusCode(403) @@ -102,11 +102,11 @@ describe("Members", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/members") .respondWith() .statusCode(429) @@ -120,7 +120,7 @@ describe("Members", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { members: ["members"] }; server @@ -139,7 +139,7 @@ describe("Members", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { members: ["members", "members"] }; const rawResponseBody = { key: "value" }; server @@ -160,7 +160,7 @@ describe("Members", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { members: ["members", "members"] }; const rawResponseBody = { key: "value" }; server @@ -181,7 +181,7 @@ describe("Members", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { members: ["members", "members"] }; const rawResponseBody = { key: "value" }; server @@ -202,7 +202,7 @@ describe("Members", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { members: ["members", "members"] }; const rawResponseBody = { key: "value" }; server @@ -223,7 +223,7 @@ describe("Members", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { members: ["members"] }; server @@ -242,7 +242,7 @@ describe("Members", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { members: ["members", "members"] }; const rawResponseBody = { key: "value" }; server @@ -263,7 +263,7 @@ describe("Members", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { members: ["members", "members"] }; const rawResponseBody = { key: "value" }; server @@ -284,7 +284,7 @@ describe("Members", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { members: ["members", "members"] }; const rawResponseBody = { key: "value" }; server @@ -305,7 +305,7 @@ describe("Members", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { members: ["members", "members"] }; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/organizations/members/roles.test.ts b/src/management/tests/wire/organizations/members/roles.test.ts index 4ccc27b05c..0d99e58a41 100644 --- a/src/management/tests/wire/organizations/members/roles.test.ts +++ b/src/management/tests/wire/organizations/members/roles.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../../mock-server/MockServerPool"; import { ManagementClient } from "../../../../Client"; import * as Management from "../../../../api/index"; -describe("Roles", () => { +describe("RolesClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { start: 1.1, @@ -16,7 +16,7 @@ describe("Roles", () => { roles: [{ id: "id", name: "name", description: "description" }], }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/members/user_id/roles") .respondWith() .statusCode(200) @@ -49,11 +49,11 @@ describe("Roles", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/members/user_id/roles") .respondWith() .statusCode(400) @@ -67,11 +67,11 @@ describe("Roles", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/members/user_id/roles") .respondWith() .statusCode(401) @@ -85,11 +85,11 @@ describe("Roles", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/members/user_id/roles") .respondWith() .statusCode(403) @@ -103,11 +103,11 @@ describe("Roles", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/organizations/id/members/user_id/roles") .respondWith() .statusCode(429) @@ -121,7 +121,7 @@ describe("Roles", () => { test("assign (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { roles: ["roles"] }; server @@ -140,7 +140,7 @@ describe("Roles", () => { test("assign (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { roles: ["roles", "roles"] }; const rawResponseBody = { key: "value" }; server @@ -161,7 +161,7 @@ describe("Roles", () => { test("assign (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { roles: ["roles", "roles"] }; const rawResponseBody = { key: "value" }; server @@ -182,7 +182,7 @@ describe("Roles", () => { test("assign (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { roles: ["roles", "roles"] }; const rawResponseBody = { key: "value" }; server @@ -203,7 +203,7 @@ describe("Roles", () => { test("assign (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { roles: ["roles", "roles"] }; const rawResponseBody = { key: "value" }; server @@ -224,7 +224,7 @@ describe("Roles", () => { test("assign (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { roles: ["roles", "roles"] }; const rawResponseBody = { key: "value" }; server @@ -245,7 +245,7 @@ describe("Roles", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { roles: ["roles"] }; server @@ -264,7 +264,7 @@ describe("Roles", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { roles: ["roles", "roles"] }; const rawResponseBody = { key: "value" }; server @@ -285,7 +285,7 @@ describe("Roles", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { roles: ["roles", "roles"] }; const rawResponseBody = { key: "value" }; server @@ -306,7 +306,7 @@ describe("Roles", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { roles: ["roles", "roles"] }; const rawResponseBody = { key: "value" }; server @@ -327,7 +327,7 @@ describe("Roles", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { roles: ["roles", "roles"] }; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/prompts.test.ts b/src/management/tests/wire/prompts.test.ts index 130ef50a2a..869ca60bdb 100644 --- a/src/management/tests/wire/prompts.test.ts +++ b/src/management/tests/wire/prompts.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("Prompts", () => { +describe("PromptsClient", () => { test("getSettings (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { universal_login_experience: "new", @@ -26,7 +26,7 @@ describe("Prompts", () => { test("getSettings (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/prompts").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -38,7 +38,7 @@ describe("Prompts", () => { test("getSettings (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/prompts").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -50,7 +50,7 @@ describe("Prompts", () => { test("getSettings (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/prompts").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -62,7 +62,7 @@ describe("Prompts", () => { test("updateSettings (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { universal_login_experience: "new", @@ -88,7 +88,7 @@ describe("Prompts", () => { test("updateSettings (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -107,7 +107,7 @@ describe("Prompts", () => { test("updateSettings (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -126,7 +126,7 @@ describe("Prompts", () => { test("updateSettings (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -145,7 +145,7 @@ describe("Prompts", () => { test("updateSettings (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/prompts/customText.test.ts b/src/management/tests/wire/prompts/customText.test.ts index 8fed158813..145a9c1b6e 100644 --- a/src/management/tests/wire/prompts/customText.test.ts +++ b/src/management/tests/wire/prompts/customText.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("CustomText", () => { +describe("CustomTextClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -26,7 +26,7 @@ describe("CustomText", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -44,7 +44,7 @@ describe("CustomText", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -62,7 +62,7 @@ describe("CustomText", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -80,7 +80,7 @@ describe("CustomText", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -98,7 +98,7 @@ describe("CustomText", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -116,7 +116,7 @@ describe("CustomText", () => { test("set (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { key: "value" }; server @@ -135,7 +135,7 @@ describe("CustomText", () => { test("set (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { string: { key: "value" } }; const rawResponseBody = { key: "value" }; server @@ -158,7 +158,7 @@ describe("CustomText", () => { test("set (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { string: { key: "value" } }; const rawResponseBody = { key: "value" }; server @@ -181,7 +181,7 @@ describe("CustomText", () => { test("set (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { string: { key: "value" } }; const rawResponseBody = { key: "value" }; server @@ -204,7 +204,7 @@ describe("CustomText", () => { test("set (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { string: { key: "value" } }; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/prompts/partials.test.ts b/src/management/tests/wire/prompts/partials.test.ts index a424142fc9..d2d4b4a073 100644 --- a/src/management/tests/wire/prompts/partials.test.ts +++ b/src/management/tests/wire/prompts/partials.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Partials", () => { +describe("PartialsClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -26,7 +26,7 @@ describe("Partials", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -44,7 +44,7 @@ describe("Partials", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -62,7 +62,7 @@ describe("Partials", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -80,7 +80,7 @@ describe("Partials", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -98,7 +98,7 @@ describe("Partials", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -116,7 +116,7 @@ describe("Partials", () => { test("set (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { key: "value" }; server @@ -135,7 +135,7 @@ describe("Partials", () => { test("set (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { string: { key: "value" } }; const rawResponseBody = { key: "value" }; server @@ -158,7 +158,7 @@ describe("Partials", () => { test("set (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { string: { key: "value" } }; const rawResponseBody = { key: "value" }; server @@ -181,7 +181,7 @@ describe("Partials", () => { test("set (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { string: { key: "value" } }; const rawResponseBody = { key: "value" }; server @@ -204,7 +204,7 @@ describe("Partials", () => { test("set (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { string: { key: "value" } }; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/prompts/rendering.test.ts b/src/management/tests/wire/prompts/rendering.test.ts index edd9d23224..17710ed332 100644 --- a/src/management/tests/wire/prompts/rendering.test.ts +++ b/src/management/tests/wire/prompts/rendering.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Rendering", () => { +describe("RenderingClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { configs: [ @@ -15,15 +15,21 @@ describe("Rendering", () => { rendering_mode: "advanced", context_configuration: ["context_configuration"], default_head_tags_disabled: true, - head_tags: [{}], use_page_template: true, + head_tags: [{}], }, ], start: 1.1, limit: 1.1, total: 1.1, }; - server.mockEndpoint().get("/prompts/rendering").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/prompts/rendering") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); const expected = { configs: [ @@ -31,8 +37,8 @@ describe("Rendering", () => { rendering_mode: "advanced", context_configuration: ["context_configuration"], default_head_tags_disabled: true, - head_tags: [{}], use_page_template: true, + head_tags: [{}], }, ], start: 1.1, @@ -58,10 +64,16 @@ describe("Rendering", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/prompts/rendering").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/prompts/rendering") + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.prompts.rendering.list(); @@ -70,10 +82,16 @@ describe("Rendering", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/prompts/rendering").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/prompts/rendering") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.prompts.rendering.list(); @@ -82,10 +100,16 @@ describe("Rendering", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/prompts/rendering").respondWith().statusCode(402).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/prompts/rendering") + .respondWith() + .statusCode(402) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.prompts.rendering.list(); @@ -94,10 +118,16 @@ describe("Rendering", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/prompts/rendering").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/prompts/rendering") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.prompts.rendering.list(); @@ -106,10 +136,16 @@ describe("Rendering", () => { test("list (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/prompts/rendering").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/prompts/rendering") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.prompts.rendering.list(); @@ -118,20 +154,18 @@ describe("Rendering", () => { test("bulkUpdate (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); - const rawRequestBody = { - configs: [{ prompt: "login", screen: "login", rendering_mode: "advanced", head_tags: [{}] }], - }; + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + const rawRequestBody = { configs: [{ prompt: "login", screen: "login" }] }; const rawResponseBody = { configs: [ { prompt: "login", screen: "login", rendering_mode: "advanced", - context_configuration: ["context_configuration"], + context_configuration: ["branding.settings"], default_head_tags_disabled: true, - head_tags: [{}], use_page_template: true, + head_tags: [{}], }, ], }; @@ -149,8 +183,6 @@ describe("Rendering", () => { { prompt: "login", screen: "login", - rendering_mode: "advanced", - head_tags: [{}], }, ], }); @@ -160,10 +192,10 @@ describe("Rendering", () => { prompt: "login", screen: "login", rendering_mode: "advanced", - context_configuration: ["context_configuration"], + context_configuration: ["branding.settings"], default_head_tags_disabled: true, - head_tags: [{}], use_page_template: true, + head_tags: [{}], }, ], }); @@ -171,11 +203,11 @@ describe("Rendering", () => { test("bulkUpdate (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { configs: [ - { prompt: "login", screen: "login", rendering_mode: "advanced", head_tags: [{}, {}] }, - { prompt: "login", screen: "login", rendering_mode: "advanced", head_tags: [{}, {}] }, + { prompt: "login", screen: "login" }, + { prompt: "login", screen: "login" }, ], }; const rawResponseBody = { key: "value" }; @@ -194,14 +226,10 @@ describe("Rendering", () => { { prompt: "login", screen: "login", - rendering_mode: "advanced", - head_tags: [{}, {}], }, { prompt: "login", screen: "login", - rendering_mode: "advanced", - head_tags: [{}, {}], }, ], }); @@ -210,11 +238,11 @@ describe("Rendering", () => { test("bulkUpdate (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { configs: [ - { prompt: "login", screen: "login", rendering_mode: "advanced", head_tags: [{}, {}] }, - { prompt: "login", screen: "login", rendering_mode: "advanced", head_tags: [{}, {}] }, + { prompt: "login", screen: "login" }, + { prompt: "login", screen: "login" }, ], }; const rawResponseBody = { key: "value" }; @@ -233,14 +261,10 @@ describe("Rendering", () => { { prompt: "login", screen: "login", - rendering_mode: "advanced", - head_tags: [{}, {}], }, { prompt: "login", screen: "login", - rendering_mode: "advanced", - head_tags: [{}, {}], }, ], }); @@ -249,11 +273,11 @@ describe("Rendering", () => { test("bulkUpdate (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { configs: [ - { prompt: "login", screen: "login", rendering_mode: "advanced", head_tags: [{}, {}] }, - { prompt: "login", screen: "login", rendering_mode: "advanced", head_tags: [{}, {}] }, + { prompt: "login", screen: "login" }, + { prompt: "login", screen: "login" }, ], }; const rawResponseBody = { key: "value" }; @@ -272,14 +296,10 @@ describe("Rendering", () => { { prompt: "login", screen: "login", - rendering_mode: "advanced", - head_tags: [{}, {}], }, { prompt: "login", screen: "login", - rendering_mode: "advanced", - head_tags: [{}, {}], }, ], }); @@ -288,11 +308,11 @@ describe("Rendering", () => { test("bulkUpdate (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { configs: [ - { prompt: "login", screen: "login", rendering_mode: "advanced", head_tags: [{}, {}] }, - { prompt: "login", screen: "login", rendering_mode: "advanced", head_tags: [{}, {}] }, + { prompt: "login", screen: "login" }, + { prompt: "login", screen: "login" }, ], }; const rawResponseBody = { key: "value" }; @@ -311,14 +331,10 @@ describe("Rendering", () => { { prompt: "login", screen: "login", - rendering_mode: "advanced", - head_tags: [{}, {}], }, { prompt: "login", screen: "login", - rendering_mode: "advanced", - head_tags: [{}, {}], }, ], }); @@ -327,11 +343,11 @@ describe("Rendering", () => { test("bulkUpdate (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { configs: [ - { prompt: "login", screen: "login", rendering_mode: "advanced", head_tags: [{}, {}] }, - { prompt: "login", screen: "login", rendering_mode: "advanced", head_tags: [{}, {}] }, + { prompt: "login", screen: "login" }, + { prompt: "login", screen: "login" }, ], }; const rawResponseBody = { key: "value" }; @@ -350,14 +366,10 @@ describe("Rendering", () => { { prompt: "login", screen: "login", - rendering_mode: "advanced", - head_tags: [{}, {}], }, { prompt: "login", screen: "login", - rendering_mode: "advanced", - head_tags: [{}, {}], }, ], }); @@ -366,7 +378,7 @@ describe("Rendering", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { tenant: "tenant", @@ -375,14 +387,14 @@ describe("Rendering", () => { rendering_mode: "advanced", context_configuration: ["context_configuration"], default_head_tags_disabled: true, - head_tags: [{ tag: "tag", content: "content" }], + use_page_template: true, + head_tags: [{ tag: "tag", attributes: { key: "value" }, content: "content" }], filters: { match_type: "includes_any", clients: [{ id: "id" }], organizations: [{ id: "id" }], domains: [{ id: "id" }], }, - use_page_template: true, }; server .mockEndpoint() @@ -400,9 +412,13 @@ describe("Rendering", () => { rendering_mode: "advanced", context_configuration: ["context_configuration"], default_head_tags_disabled: true, + use_page_template: true, head_tags: [ { tag: "tag", + attributes: { + key: "value", + }, content: "content", }, ], @@ -424,13 +440,12 @@ describe("Rendering", () => { }, ], }, - use_page_template: true, }); }); test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -448,7 +463,7 @@ describe("Rendering", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -466,7 +481,7 @@ describe("Rendering", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -484,7 +499,7 @@ describe("Rendering", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -502,7 +517,7 @@ describe("Rendering", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -520,7 +535,7 @@ describe("Rendering", () => { test("get (7)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -538,20 +553,20 @@ describe("Rendering", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); - const rawRequestBody = { rendering_mode: "advanced", head_tags: [{}] }; + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + const rawRequestBody = {}; const rawResponseBody = { rendering_mode: "advanced", context_configuration: ["context_configuration"], default_head_tags_disabled: true, - head_tags: [{ tag: "tag", content: "content" }], + use_page_template: true, + head_tags: [{ tag: "tag", attributes: { key: "value" }, content: "content" }], filters: { match_type: "includes_any", clients: [{ id: "id" }], organizations: [{ id: "id" }], domains: [{ id: "id" }], }, - use_page_template: true, }; server .mockEndpoint() @@ -562,17 +577,18 @@ describe("Rendering", () => { .jsonBody(rawResponseBody) .build(); - const response = await client.prompts.rendering.update("login", "login", { - rendering_mode: "advanced", - head_tags: [{}], - }); + const response = await client.prompts.rendering.update("login", "login"); expect(response).toEqual({ rendering_mode: "advanced", context_configuration: ["context_configuration"], default_head_tags_disabled: true, + use_page_template: true, head_tags: [ { tag: "tag", + attributes: { + key: "value", + }, content: "content", }, ], @@ -594,14 +610,13 @@ describe("Rendering", () => { }, ], }, - use_page_template: true, }); }); test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); - const rawRequestBody = { rendering_mode: "advanced", head_tags: [{}, {}] }; + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server .mockEndpoint() @@ -613,17 +628,14 @@ describe("Rendering", () => { .build(); await expect(async () => { - return await client.prompts.rendering.update("login", "login", { - rendering_mode: "advanced", - head_tags: [{}, {}], - }); + return await client.prompts.rendering.update("login", "login"); }).rejects.toThrow(Management.BadRequestError); }); test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); - const rawRequestBody = { rendering_mode: "advanced", head_tags: [{}, {}] }; + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server .mockEndpoint() @@ -635,17 +647,14 @@ describe("Rendering", () => { .build(); await expect(async () => { - return await client.prompts.rendering.update("login", "login", { - rendering_mode: "advanced", - head_tags: [{}, {}], - }); + return await client.prompts.rendering.update("login", "login"); }).rejects.toThrow(Management.UnauthorizedError); }); test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); - const rawRequestBody = { rendering_mode: "advanced", head_tags: [{}, {}] }; + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server .mockEndpoint() @@ -657,17 +666,14 @@ describe("Rendering", () => { .build(); await expect(async () => { - return await client.prompts.rendering.update("login", "login", { - rendering_mode: "advanced", - head_tags: [{}, {}], - }); + return await client.prompts.rendering.update("login", "login"); }).rejects.toThrow(Management.PaymentRequiredError); }); test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); - const rawRequestBody = { rendering_mode: "advanced", head_tags: [{}, {}] }; + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server .mockEndpoint() @@ -679,17 +685,14 @@ describe("Rendering", () => { .build(); await expect(async () => { - return await client.prompts.rendering.update("login", "login", { - rendering_mode: "advanced", - head_tags: [{}, {}], - }); + return await client.prompts.rendering.update("login", "login"); }).rejects.toThrow(Management.ForbiddenError); }); test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); - const rawRequestBody = { rendering_mode: "advanced", head_tags: [{}, {}] }; + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); + const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server .mockEndpoint() @@ -701,10 +704,7 @@ describe("Rendering", () => { .build(); await expect(async () => { - return await client.prompts.rendering.update("login", "login", { - rendering_mode: "advanced", - head_tags: [{}, {}], - }); + return await client.prompts.rendering.update("login", "login"); }).rejects.toThrow(Management.TooManyRequestsError); }); }); diff --git a/src/management/tests/wire/refreshTokens.test.ts b/src/management/tests/wire/refreshTokens.test.ts index c350a15903..7d69be88fb 100644 --- a/src/management/tests/wire/refreshTokens.test.ts +++ b/src/management/tests/wire/refreshTokens.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("RefreshTokens", () => { +describe("RefreshTokensClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -61,7 +61,7 @@ describe("RefreshTokens", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/refresh-tokens/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -73,7 +73,7 @@ describe("RefreshTokens", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/refresh-tokens/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -85,7 +85,7 @@ describe("RefreshTokens", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/refresh-tokens/id").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); @@ -97,7 +97,7 @@ describe("RefreshTokens", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/refresh-tokens/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -109,7 +109,7 @@ describe("RefreshTokens", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/refresh-tokens/id").respondWith().statusCode(200).build(); @@ -119,7 +119,7 @@ describe("RefreshTokens", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -137,7 +137,7 @@ describe("RefreshTokens", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -155,7 +155,7 @@ describe("RefreshTokens", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -173,7 +173,7 @@ describe("RefreshTokens", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/resourceServers.test.ts b/src/management/tests/wire/resourceServers.test.ts index f85f301b8b..b0d04c0272 100644 --- a/src/management/tests/wire/resourceServers.test.ts +++ b/src/management/tests/wire/resourceServers.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("ResourceServers", () => { +describe("ResourceServersClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { start: 1.1, @@ -38,7 +38,13 @@ describe("ResourceServers", () => { }, ], }; - server.mockEndpoint().get("/resource-servers").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/resource-servers") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); const expected = { start: 1.1, @@ -94,10 +100,16 @@ describe("ResourceServers", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/resource-servers").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/resource-servers") + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.resourceServers.list(); @@ -106,10 +118,16 @@ describe("ResourceServers", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/resource-servers").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/resource-servers") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.resourceServers.list(); @@ -118,10 +136,16 @@ describe("ResourceServers", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/resource-servers").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/resource-servers") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.resourceServers.list(); @@ -130,10 +154,16 @@ describe("ResourceServers", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/resource-servers").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/resource-servers") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.resourceServers.list(); @@ -142,7 +172,7 @@ describe("ResourceServers", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { identifier: "identifier" }; const rawResponseBody = { id: "id", @@ -232,7 +262,7 @@ describe("ResourceServers", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { identifier: "x" }; const rawResponseBody = { key: "value" }; server @@ -253,7 +283,7 @@ describe("ResourceServers", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { identifier: "x" }; const rawResponseBody = { key: "value" }; server @@ -274,7 +304,7 @@ describe("ResourceServers", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { identifier: "x" }; const rawResponseBody = { key: "value" }; server @@ -295,7 +325,7 @@ describe("ResourceServers", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { identifier: "x" }; const rawResponseBody = { key: "value" }; server @@ -316,7 +346,7 @@ describe("ResourceServers", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { identifier: "x" }; const rawResponseBody = { key: "value" }; server @@ -337,7 +367,7 @@ describe("ResourceServers", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -426,7 +456,7 @@ describe("ResourceServers", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -444,7 +474,7 @@ describe("ResourceServers", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -462,7 +492,7 @@ describe("ResourceServers", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -480,7 +510,7 @@ describe("ResourceServers", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -498,7 +528,7 @@ describe("ResourceServers", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -516,7 +546,7 @@ describe("ResourceServers", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/resource-servers/id").respondWith().statusCode(200).build(); @@ -526,7 +556,7 @@ describe("ResourceServers", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -544,7 +574,7 @@ describe("ResourceServers", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -562,7 +592,7 @@ describe("ResourceServers", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -580,7 +610,7 @@ describe("ResourceServers", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -598,7 +628,7 @@ describe("ResourceServers", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { id: "id", @@ -686,7 +716,7 @@ describe("ResourceServers", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -705,7 +735,7 @@ describe("ResourceServers", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -724,7 +754,7 @@ describe("ResourceServers", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -743,7 +773,7 @@ describe("ResourceServers", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -762,7 +792,7 @@ describe("ResourceServers", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/riskAssessments/settings.test.ts b/src/management/tests/wire/riskAssessments/settings.test.ts index 735d340d3f..b0a325a620 100644 --- a/src/management/tests/wire/riskAssessments/settings.test.ts +++ b/src/management/tests/wire/riskAssessments/settings.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Settings", () => { +describe("SettingsClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { enabled: true }; server @@ -26,7 +26,7 @@ describe("Settings", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -44,7 +44,7 @@ describe("Settings", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -62,7 +62,7 @@ describe("Settings", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -80,7 +80,7 @@ describe("Settings", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -98,7 +98,7 @@ describe("Settings", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { enabled: true }; const rawResponseBody = { enabled: true }; server @@ -120,7 +120,7 @@ describe("Settings", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { enabled: true }; const rawResponseBody = { key: "value" }; server @@ -141,7 +141,7 @@ describe("Settings", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { enabled: true }; const rawResponseBody = { key: "value" }; server @@ -162,7 +162,7 @@ describe("Settings", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { enabled: true }; const rawResponseBody = { key: "value" }; server @@ -183,7 +183,7 @@ describe("Settings", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { enabled: true }; const rawResponseBody = { key: "value" }; server @@ -204,7 +204,7 @@ describe("Settings", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { enabled: true }; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/riskAssessments/settings/newDevice.test.ts b/src/management/tests/wire/riskAssessments/settings/newDevice.test.ts index 5e3906f1b0..b07e59e053 100644 --- a/src/management/tests/wire/riskAssessments/settings/newDevice.test.ts +++ b/src/management/tests/wire/riskAssessments/settings/newDevice.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../../mock-server/MockServerPool"; import { ManagementClient } from "../../../../Client"; import * as Management from "../../../../api/index"; -describe("NewDevice", () => { +describe("NewDeviceClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { remember_for: 1 }; server @@ -26,7 +26,7 @@ describe("NewDevice", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -44,7 +44,7 @@ describe("NewDevice", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -62,7 +62,7 @@ describe("NewDevice", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -80,7 +80,7 @@ describe("NewDevice", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -98,7 +98,7 @@ describe("NewDevice", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { remember_for: 1 }; const rawResponseBody = { remember_for: 1 }; server @@ -120,7 +120,7 @@ describe("NewDevice", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { remember_for: 1 }; const rawResponseBody = { key: "value" }; server @@ -141,7 +141,7 @@ describe("NewDevice", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { remember_for: 1 }; const rawResponseBody = { key: "value" }; server @@ -162,7 +162,7 @@ describe("NewDevice", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { remember_for: 1 }; const rawResponseBody = { key: "value" }; server @@ -183,7 +183,7 @@ describe("NewDevice", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { remember_for: 1 }; const rawResponseBody = { key: "value" }; server @@ -204,7 +204,7 @@ describe("NewDevice", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { remember_for: 1 }; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/roles.test.ts b/src/management/tests/wire/roles.test.ts index 405529f6bc..e1f7e304c0 100644 --- a/src/management/tests/wire/roles.test.ts +++ b/src/management/tests/wire/roles.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("Roles", () => { +describe("RolesClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { start: 1.1, @@ -15,7 +15,13 @@ describe("Roles", () => { total: 1.1, roles: [{ id: "id", name: "name", description: "description" }], }; - server.mockEndpoint().get("/roles").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/roles") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); const expected = { start: 1.1, @@ -44,10 +50,16 @@ describe("Roles", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/roles").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/roles") + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.roles.list(); @@ -56,10 +68,16 @@ describe("Roles", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/roles").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/roles") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.roles.list(); @@ -68,10 +86,16 @@ describe("Roles", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/roles").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/roles") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.roles.list(); @@ -80,10 +104,16 @@ describe("Roles", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/roles").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/roles") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.roles.list(); @@ -92,7 +122,7 @@ describe("Roles", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name" }; const rawResponseBody = { id: "id", name: "name", description: "description" }; server @@ -116,7 +146,7 @@ describe("Roles", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name" }; const rawResponseBody = { key: "value" }; server @@ -137,7 +167,7 @@ describe("Roles", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name" }; const rawResponseBody = { key: "value" }; server @@ -158,7 +188,7 @@ describe("Roles", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name" }; const rawResponseBody = { key: "value" }; server @@ -179,7 +209,7 @@ describe("Roles", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name" }; const rawResponseBody = { key: "value" }; server @@ -200,7 +230,7 @@ describe("Roles", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", name: "name", description: "description" }; server.mockEndpoint().get("/roles/id").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); @@ -215,7 +245,7 @@ describe("Roles", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/roles/id").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -227,7 +257,7 @@ describe("Roles", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/roles/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -239,7 +269,7 @@ describe("Roles", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/roles/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -251,7 +281,7 @@ describe("Roles", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/roles/id").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); @@ -263,7 +293,7 @@ describe("Roles", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/roles/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -275,7 +305,7 @@ describe("Roles", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/roles/id").respondWith().statusCode(200).build(); @@ -285,7 +315,7 @@ describe("Roles", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/roles/id").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -297,7 +327,7 @@ describe("Roles", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/roles/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -309,7 +339,7 @@ describe("Roles", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/roles/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -321,7 +351,7 @@ describe("Roles", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/roles/id").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); @@ -333,7 +363,7 @@ describe("Roles", () => { test("delete (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/roles/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -345,7 +375,7 @@ describe("Roles", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { id: "id", name: "name", description: "description" }; server @@ -367,7 +397,7 @@ describe("Roles", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -386,7 +416,7 @@ describe("Roles", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -405,7 +435,7 @@ describe("Roles", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -424,7 +454,7 @@ describe("Roles", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/roles/permissions.test.ts b/src/management/tests/wire/roles/permissions.test.ts index c3d0882d4b..0b7b224077 100644 --- a/src/management/tests/wire/roles/permissions.test.ts +++ b/src/management/tests/wire/roles/permissions.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Permissions", () => { +describe("PermissionsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { start: 1.1, @@ -23,7 +23,7 @@ describe("Permissions", () => { ], }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/roles/id/permissions") .respondWith() .statusCode(200) @@ -57,11 +57,11 @@ describe("Permissions", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/roles/id/permissions") .respondWith() .statusCode(400) @@ -75,11 +75,11 @@ describe("Permissions", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/roles/id/permissions") .respondWith() .statusCode(401) @@ -93,11 +93,11 @@ describe("Permissions", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/roles/id/permissions") .respondWith() .statusCode(403) @@ -111,11 +111,11 @@ describe("Permissions", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/roles/id/permissions") .respondWith() .statusCode(404) @@ -129,11 +129,11 @@ describe("Permissions", () => { test("list (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/roles/id/permissions") .respondWith() .statusCode(429) @@ -147,7 +147,7 @@ describe("Permissions", () => { test("add (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { permissions: [ { resource_server_identifier: "resource_server_identifier", permission_name: "permission_name" }, @@ -175,7 +175,7 @@ describe("Permissions", () => { test("add (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { permissions: [ { resource_server_identifier: "resource_server_identifier", permission_name: "permission_name" }, @@ -210,7 +210,7 @@ describe("Permissions", () => { test("add (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { permissions: [ { resource_server_identifier: "resource_server_identifier", permission_name: "permission_name" }, @@ -245,7 +245,7 @@ describe("Permissions", () => { test("add (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { permissions: [ { resource_server_identifier: "resource_server_identifier", permission_name: "permission_name" }, @@ -280,7 +280,7 @@ describe("Permissions", () => { test("add (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { permissions: [ { resource_server_identifier: "resource_server_identifier", permission_name: "permission_name" }, @@ -315,7 +315,7 @@ describe("Permissions", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { permissions: [ { resource_server_identifier: "resource_server_identifier", permission_name: "permission_name" }, @@ -343,7 +343,7 @@ describe("Permissions", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { permissions: [ { resource_server_identifier: "resource_server_identifier", permission_name: "permission_name" }, @@ -378,7 +378,7 @@ describe("Permissions", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { permissions: [ { resource_server_identifier: "resource_server_identifier", permission_name: "permission_name" }, @@ -413,7 +413,7 @@ describe("Permissions", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { permissions: [ { resource_server_identifier: "resource_server_identifier", permission_name: "permission_name" }, @@ -448,7 +448,7 @@ describe("Permissions", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { permissions: [ { resource_server_identifier: "resource_server_identifier", permission_name: "permission_name" }, diff --git a/src/management/tests/wire/roles/users.test.ts b/src/management/tests/wire/roles/users.test.ts index 9868446e91..637f16409a 100644 --- a/src/management/tests/wire/roles/users.test.ts +++ b/src/management/tests/wire/roles/users.test.ts @@ -4,16 +4,22 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Users", () => { +describe("UsersClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { next: "next", users: [{ user_id: "user_id", picture: "picture", name: "name", email: "email" }], }; - server.mockEndpoint().get("/roles/id/users").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/roles/id/users") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); const expected = { next: "next", @@ -39,10 +45,16 @@ describe("Users", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/roles/id/users").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/roles/id/users") + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.roles.users.list("id"); @@ -51,10 +63,16 @@ describe("Users", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/roles/id/users").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/roles/id/users") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.roles.users.list("id"); @@ -63,10 +81,16 @@ describe("Users", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/roles/id/users").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/roles/id/users") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.roles.users.list("id"); @@ -75,10 +99,16 @@ describe("Users", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/roles/id/users").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/roles/id/users") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.roles.users.list("id"); @@ -87,10 +117,16 @@ describe("Users", () => { test("list (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/roles/id/users").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/roles/id/users") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.roles.users.list("id"); @@ -99,7 +135,7 @@ describe("Users", () => { test("assign (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { users: ["users"] }; server.mockEndpoint().post("/roles/id/users").jsonBody(rawRequestBody).respondWith().statusCode(200).build(); @@ -112,7 +148,7 @@ describe("Users", () => { test("assign (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { users: ["users", "users"] }; const rawResponseBody = { key: "value" }; server @@ -133,7 +169,7 @@ describe("Users", () => { test("assign (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { users: ["users", "users"] }; const rawResponseBody = { key: "value" }; server @@ -154,7 +190,7 @@ describe("Users", () => { test("assign (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { users: ["users", "users"] }; const rawResponseBody = { key: "value" }; server @@ -175,7 +211,7 @@ describe("Users", () => { test("assign (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { users: ["users", "users"] }; const rawResponseBody = { key: "value" }; server @@ -196,7 +232,7 @@ describe("Users", () => { test("assign (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { users: ["users", "users"] }; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/rules.test.ts b/src/management/tests/wire/rules.test.ts index 0743695465..e8fe9f485e 100644 --- a/src/management/tests/wire/rules.test.ts +++ b/src/management/tests/wire/rules.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("Rules", () => { +describe("RulesClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { start: 1.1, @@ -15,7 +15,13 @@ describe("Rules", () => { total: 1.1, rules: [{ name: "name", id: "id", enabled: true, script: "script", order: 1.1, stage: "stage" }], }; - server.mockEndpoint().get("/rules").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/rules") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); const expected = { start: 1.1, @@ -49,10 +55,16 @@ describe("Rules", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/rules").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/rules") + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.rules.list(); @@ -61,10 +73,16 @@ describe("Rules", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/rules").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/rules") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.rules.list(); @@ -73,10 +91,16 @@ describe("Rules", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/rules").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/rules") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.rules.list(); @@ -85,10 +109,16 @@ describe("Rules", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/rules").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/rules") + .respondWith() + .statusCode(404) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.rules.list(); @@ -97,10 +127,16 @@ describe("Rules", () => { test("list (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/rules").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/rules") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.rules.list(); @@ -109,7 +145,7 @@ describe("Rules", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name", script: "script" }; const rawResponseBody = { name: "name", id: "id", enabled: true, script: "script", order: 1.1, stage: "stage" }; server @@ -137,7 +173,7 @@ describe("Rules", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "my-rule", script: "function (user, context, callback) {\n callback(null, user, context);\n}", @@ -162,7 +198,7 @@ describe("Rules", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "my-rule", script: "function (user, context, callback) {\n callback(null, user, context);\n}", @@ -187,7 +223,7 @@ describe("Rules", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "my-rule", script: "function (user, context, callback) {\n callback(null, user, context);\n}", @@ -212,7 +248,7 @@ describe("Rules", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "my-rule", script: "function (user, context, callback) {\n callback(null, user, context);\n}", @@ -237,7 +273,7 @@ describe("Rules", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "my-rule", script: "function (user, context, callback) {\n callback(null, user, context);\n}", @@ -262,7 +298,7 @@ describe("Rules", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { name: "name", id: "id", enabled: true, script: "script", order: 1.1, stage: "stage" }; server.mockEndpoint().get("/rules/id").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); @@ -283,7 +319,7 @@ describe("Rules", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/rules/id").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -295,7 +331,7 @@ describe("Rules", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/rules/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -307,7 +343,7 @@ describe("Rules", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/rules/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -319,7 +355,7 @@ describe("Rules", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/rules/id").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); @@ -331,7 +367,7 @@ describe("Rules", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/rules/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -343,7 +379,7 @@ describe("Rules", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/rules/id").respondWith().statusCode(200).build(); @@ -353,7 +389,7 @@ describe("Rules", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/rules/id").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -365,7 +401,7 @@ describe("Rules", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/rules/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -377,7 +413,7 @@ describe("Rules", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/rules/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -389,7 +425,7 @@ describe("Rules", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/rules/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -401,7 +437,7 @@ describe("Rules", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { name: "name", id: "id", enabled: true, script: "script", order: 1.1, stage: "stage" }; server @@ -426,7 +462,7 @@ describe("Rules", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -445,7 +481,7 @@ describe("Rules", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -464,7 +500,7 @@ describe("Rules", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -483,7 +519,7 @@ describe("Rules", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -502,7 +538,7 @@ describe("Rules", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -521,7 +557,7 @@ describe("Rules", () => { test("update (7)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/rulesConfigs.test.ts b/src/management/tests/wire/rulesConfigs.test.ts index 7e3354bb47..cd7915d675 100644 --- a/src/management/tests/wire/rulesConfigs.test.ts +++ b/src/management/tests/wire/rulesConfigs.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("RulesConfigs", () => { +describe("RulesConfigsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = [{ key: "key" }]; server.mockEndpoint().get("/rules-configs").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); @@ -22,7 +22,7 @@ describe("RulesConfigs", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/rules-configs").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -34,7 +34,7 @@ describe("RulesConfigs", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/rules-configs").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -46,7 +46,7 @@ describe("RulesConfigs", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/rules-configs").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -58,7 +58,7 @@ describe("RulesConfigs", () => { test("set (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { value: "value" }; const rawResponseBody = { key: "key", value: "value" }; server @@ -81,7 +81,7 @@ describe("RulesConfigs", () => { test("set (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { value: "MY_RULES_CONFIG_VALUE" }; const rawResponseBody = { key: "value" }; server @@ -102,7 +102,7 @@ describe("RulesConfigs", () => { test("set (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { value: "MY_RULES_CONFIG_VALUE" }; const rawResponseBody = { key: "value" }; server @@ -123,7 +123,7 @@ describe("RulesConfigs", () => { test("set (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { value: "MY_RULES_CONFIG_VALUE" }; const rawResponseBody = { key: "value" }; server @@ -144,7 +144,7 @@ describe("RulesConfigs", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/rules-configs/key").respondWith().statusCode(200).build(); @@ -154,7 +154,7 @@ describe("RulesConfigs", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -172,7 +172,7 @@ describe("RulesConfigs", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -190,7 +190,7 @@ describe("RulesConfigs", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/selfServiceProfiles.test.ts b/src/management/tests/wire/selfServiceProfiles.test.ts index 5f812dd026..3db793361a 100644 --- a/src/management/tests/wire/selfServiceProfiles.test.ts +++ b/src/management/tests/wire/selfServiceProfiles.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("SelfServiceProfiles", () => { +describe("SelfServiceProfilesClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { start: 1.1, @@ -27,7 +27,7 @@ describe("SelfServiceProfiles", () => { ], }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/self-service-profiles") .respondWith() .statusCode(200) @@ -71,11 +71,11 @@ describe("SelfServiceProfiles", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/self-service-profiles") .respondWith() .statusCode(401) @@ -89,11 +89,11 @@ describe("SelfServiceProfiles", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/self-service-profiles") .respondWith() .statusCode(403) @@ -107,11 +107,11 @@ describe("SelfServiceProfiles", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/self-service-profiles") .respondWith() .statusCode(429) @@ -125,11 +125,11 @@ describe("SelfServiceProfiles", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/self-service-profiles") .respondWith() .statusCode(500) @@ -143,7 +143,7 @@ describe("SelfServiceProfiles", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name" }; const rawResponseBody = { id: "id", @@ -194,7 +194,7 @@ describe("SelfServiceProfiles", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x" }; const rawResponseBody = { key: "value" }; server @@ -215,7 +215,7 @@ describe("SelfServiceProfiles", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x" }; const rawResponseBody = { key: "value" }; server @@ -236,7 +236,7 @@ describe("SelfServiceProfiles", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x" }; const rawResponseBody = { key: "value" }; server @@ -257,7 +257,7 @@ describe("SelfServiceProfiles", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x" }; const rawResponseBody = { key: "value" }; server @@ -278,7 +278,7 @@ describe("SelfServiceProfiles", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x" }; const rawResponseBody = { key: "value" }; server @@ -299,7 +299,7 @@ describe("SelfServiceProfiles", () => { test("create (7)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x" }; const rawResponseBody = { key: "value" }; server @@ -320,7 +320,7 @@ describe("SelfServiceProfiles", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -368,7 +368,7 @@ describe("SelfServiceProfiles", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -386,7 +386,7 @@ describe("SelfServiceProfiles", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -404,7 +404,7 @@ describe("SelfServiceProfiles", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -422,7 +422,7 @@ describe("SelfServiceProfiles", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -440,7 +440,7 @@ describe("SelfServiceProfiles", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -458,7 +458,7 @@ describe("SelfServiceProfiles", () => { test("get (7)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -476,7 +476,7 @@ describe("SelfServiceProfiles", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/self-service-profiles/id").respondWith().statusCode(200).build(); @@ -486,7 +486,7 @@ describe("SelfServiceProfiles", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -504,7 +504,7 @@ describe("SelfServiceProfiles", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -522,7 +522,7 @@ describe("SelfServiceProfiles", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -540,7 +540,7 @@ describe("SelfServiceProfiles", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -558,7 +558,7 @@ describe("SelfServiceProfiles", () => { test("delete (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -576,7 +576,7 @@ describe("SelfServiceProfiles", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { id: "id", @@ -625,7 +625,7 @@ describe("SelfServiceProfiles", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -644,7 +644,7 @@ describe("SelfServiceProfiles", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -663,7 +663,7 @@ describe("SelfServiceProfiles", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -682,7 +682,7 @@ describe("SelfServiceProfiles", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -701,7 +701,7 @@ describe("SelfServiceProfiles", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -720,7 +720,7 @@ describe("SelfServiceProfiles", () => { test("update (7)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/selfServiceProfiles/customText.test.ts b/src/management/tests/wire/selfServiceProfiles/customText.test.ts index d02d07587f..a5a276b4aa 100644 --- a/src/management/tests/wire/selfServiceProfiles/customText.test.ts +++ b/src/management/tests/wire/selfServiceProfiles/customText.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("CustomText", () => { +describe("CustomTextClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -26,7 +26,7 @@ describe("CustomText", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -44,7 +44,7 @@ describe("CustomText", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -62,7 +62,7 @@ describe("CustomText", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -80,7 +80,7 @@ describe("CustomText", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -98,7 +98,7 @@ describe("CustomText", () => { test("set (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { key: "value" }; const rawResponseBody = { key: "value" }; server @@ -120,7 +120,7 @@ describe("CustomText", () => { test("set (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { string: "string" }; const rawResponseBody = { key: "value" }; server @@ -141,7 +141,7 @@ describe("CustomText", () => { test("set (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { string: "string" }; const rawResponseBody = { key: "value" }; server @@ -162,7 +162,7 @@ describe("CustomText", () => { test("set (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { string: "string" }; const rawResponseBody = { key: "value" }; server @@ -183,7 +183,7 @@ describe("CustomText", () => { test("set (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { string: "string" }; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/selfServiceProfiles/ssoTicket.test.ts b/src/management/tests/wire/selfServiceProfiles/ssoTicket.test.ts index 8be7531488..7ae2fd5f24 100644 --- a/src/management/tests/wire/selfServiceProfiles/ssoTicket.test.ts +++ b/src/management/tests/wire/selfServiceProfiles/ssoTicket.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("SsoTicket", () => { +describe("SsoTicketClient", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { ticket: "ticket" }; server @@ -27,7 +27,7 @@ describe("SsoTicket", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -46,7 +46,7 @@ describe("SsoTicket", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -65,7 +65,7 @@ describe("SsoTicket", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -84,7 +84,7 @@ describe("SsoTicket", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -103,7 +103,7 @@ describe("SsoTicket", () => { test("revoke (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server .mockEndpoint() @@ -118,7 +118,7 @@ describe("SsoTicket", () => { test("revoke (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -136,7 +136,7 @@ describe("SsoTicket", () => { test("revoke (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -154,7 +154,7 @@ describe("SsoTicket", () => { test("revoke (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/sessions.test.ts b/src/management/tests/wire/sessions.test.ts index 5b96509b50..c39482e7d7 100644 --- a/src/management/tests/wire/sessions.test.ts +++ b/src/management/tests/wire/sessions.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("Sessions", () => { +describe("SessionsClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -70,7 +70,7 @@ describe("Sessions", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/sessions/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -82,7 +82,7 @@ describe("Sessions", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/sessions/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -94,7 +94,7 @@ describe("Sessions", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/sessions/id").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); @@ -106,7 +106,7 @@ describe("Sessions", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/sessions/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -118,7 +118,7 @@ describe("Sessions", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/sessions/id").respondWith().statusCode(200).build(); @@ -128,7 +128,7 @@ describe("Sessions", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/sessions/id").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -140,7 +140,7 @@ describe("Sessions", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/sessions/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -152,7 +152,7 @@ describe("Sessions", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/sessions/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -164,7 +164,7 @@ describe("Sessions", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/sessions/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -176,7 +176,7 @@ describe("Sessions", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { id: "id", @@ -246,7 +246,7 @@ describe("Sessions", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -265,7 +265,7 @@ describe("Sessions", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -284,7 +284,7 @@ describe("Sessions", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -303,7 +303,7 @@ describe("Sessions", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -322,7 +322,7 @@ describe("Sessions", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -341,7 +341,7 @@ describe("Sessions", () => { test("revoke (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().post("/sessions/id/revoke").respondWith().statusCode(200).build(); @@ -351,7 +351,7 @@ describe("Sessions", () => { test("revoke (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -369,7 +369,7 @@ describe("Sessions", () => { test("revoke (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -387,7 +387,7 @@ describe("Sessions", () => { test("revoke (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -405,7 +405,7 @@ describe("Sessions", () => { test("revoke (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -423,7 +423,7 @@ describe("Sessions", () => { test("revoke (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/stats.test.ts b/src/management/tests/wire/stats.test.ts index bb2d20788a..f9ffc35bbd 100644 --- a/src/management/tests/wire/stats.test.ts +++ b/src/management/tests/wire/stats.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("Stats", () => { +describe("StatsClient", () => { test("getActiveUsersCount (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = 1.1; server @@ -24,7 +24,7 @@ describe("Stats", () => { test("getActiveUsersCount (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -42,7 +42,7 @@ describe("Stats", () => { test("getActiveUsersCount (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -60,7 +60,7 @@ describe("Stats", () => { test("getActiveUsersCount (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -78,7 +78,7 @@ describe("Stats", () => { test("getDaily (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = [ { @@ -110,7 +110,7 @@ describe("Stats", () => { test("getDaily (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/stats/daily").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -122,7 +122,7 @@ describe("Stats", () => { test("getDaily (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/stats/daily").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -134,7 +134,7 @@ describe("Stats", () => { test("getDaily (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/stats/daily").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -146,7 +146,7 @@ describe("Stats", () => { test("getDaily (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/stats/daily").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); diff --git a/src/management/tests/wire/supplementalSignals.test.ts b/src/management/tests/wire/supplementalSignals.test.ts index 6339f05e56..063234661a 100644 --- a/src/management/tests/wire/supplementalSignals.test.ts +++ b/src/management/tests/wire/supplementalSignals.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("SupplementalSignals", () => { +describe("SupplementalSignalsClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { akamai_enabled: true }; server @@ -26,7 +26,7 @@ describe("SupplementalSignals", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -44,7 +44,7 @@ describe("SupplementalSignals", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -62,7 +62,7 @@ describe("SupplementalSignals", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -80,7 +80,7 @@ describe("SupplementalSignals", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -98,7 +98,7 @@ describe("SupplementalSignals", () => { test("patch (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { akamai_enabled: true }; const rawResponseBody = { akamai_enabled: true }; server @@ -120,7 +120,7 @@ describe("SupplementalSignals", () => { test("patch (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { akamai_enabled: true }; const rawResponseBody = { key: "value" }; server @@ -141,7 +141,7 @@ describe("SupplementalSignals", () => { test("patch (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { akamai_enabled: true }; const rawResponseBody = { key: "value" }; server @@ -162,7 +162,7 @@ describe("SupplementalSignals", () => { test("patch (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { akamai_enabled: true }; const rawResponseBody = { key: "value" }; server @@ -183,7 +183,7 @@ describe("SupplementalSignals", () => { test("patch (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { akamai_enabled: true }; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/tenants/settings.test.ts b/src/management/tests/wire/tenants/settings.test.ts index efde20a842..aa1da093ce 100644 --- a/src/management/tests/wire/tenants/settings.test.ts +++ b/src/management/tests/wire/tenants/settings.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Settings", () => { +describe("SettingsClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { change_password: { enabled: true, html: "html" }, @@ -72,6 +72,7 @@ describe("Settings", () => { pushed_authorization_requests_supported: true, authorization_response_iss_parameter_supported: true, skip_non_verifiable_callback_uri_confirmation_prompt: true, + resource_parameter_profile: "audience", }; server.mockEndpoint().get("/tenants/settings").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); @@ -170,12 +171,13 @@ describe("Settings", () => { pushed_authorization_requests_supported: true, authorization_response_iss_parameter_supported: true, skip_non_verifiable_callback_uri_confirmation_prompt: true, + resource_parameter_profile: "audience", }); }); test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/tenants/settings").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -187,7 +189,7 @@ describe("Settings", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/tenants/settings").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -199,7 +201,7 @@ describe("Settings", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/tenants/settings").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -211,7 +213,7 @@ describe("Settings", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/tenants/settings").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -223,7 +225,7 @@ describe("Settings", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { change_password: { enabled: true, html: "html" }, @@ -288,6 +290,7 @@ describe("Settings", () => { pushed_authorization_requests_supported: true, authorization_response_iss_parameter_supported: true, skip_non_verifiable_callback_uri_confirmation_prompt: true, + resource_parameter_profile: "audience", }; server .mockEndpoint() @@ -390,12 +393,13 @@ describe("Settings", () => { pushed_authorization_requests_supported: true, authorization_response_iss_parameter_supported: true, skip_non_verifiable_callback_uri_confirmation_prompt: true, + resource_parameter_profile: "audience", }); }); test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -414,7 +418,7 @@ describe("Settings", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -433,7 +437,7 @@ describe("Settings", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -452,7 +456,7 @@ describe("Settings", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/tickets.test.ts b/src/management/tests/wire/tickets.test.ts index 665d789d52..f63220e83f 100644 --- a/src/management/tests/wire/tickets.test.ts +++ b/src/management/tests/wire/tickets.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("Tickets", () => { +describe("TicketsClient", () => { test("verifyEmail (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { user_id: "user_id" }; const rawResponseBody = { ticket: "ticket" }; server @@ -29,7 +29,7 @@ describe("Tickets", () => { test("verifyEmail (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { user_id: "user_id" }; const rawResponseBody = { key: "value" }; server @@ -50,7 +50,7 @@ describe("Tickets", () => { test("verifyEmail (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { user_id: "user_id" }; const rawResponseBody = { key: "value" }; server @@ -71,7 +71,7 @@ describe("Tickets", () => { test("verifyEmail (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { user_id: "user_id" }; const rawResponseBody = { key: "value" }; server @@ -92,7 +92,7 @@ describe("Tickets", () => { test("verifyEmail (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { user_id: "user_id" }; const rawResponseBody = { key: "value" }; server @@ -113,7 +113,7 @@ describe("Tickets", () => { test("verifyEmail (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { user_id: "user_id" }; const rawResponseBody = { key: "value" }; server @@ -134,7 +134,7 @@ describe("Tickets", () => { test("changePassword (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { ticket: "ticket" }; server @@ -154,7 +154,7 @@ describe("Tickets", () => { test("changePassword (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -173,7 +173,7 @@ describe("Tickets", () => { test("changePassword (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -192,7 +192,7 @@ describe("Tickets", () => { test("changePassword (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -211,7 +211,7 @@ describe("Tickets", () => { test("changePassword (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -230,7 +230,7 @@ describe("Tickets", () => { test("changePassword (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/tokenExchangeProfiles.test.ts b/src/management/tests/wire/tokenExchangeProfiles.test.ts index 014ff2eb4c..1e4cfd6439 100644 --- a/src/management/tests/wire/tokenExchangeProfiles.test.ts +++ b/src/management/tests/wire/tokenExchangeProfiles.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("TokenExchangeProfiles", () => { +describe("TokenExchangeProfilesClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { next: "next", @@ -24,7 +24,7 @@ describe("TokenExchangeProfiles", () => { ], }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/token-exchange-profiles") .respondWith() .statusCode(200) @@ -58,11 +58,11 @@ describe("TokenExchangeProfiles", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/token-exchange-profiles") .respondWith() .statusCode(400) @@ -76,11 +76,11 @@ describe("TokenExchangeProfiles", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/token-exchange-profiles") .respondWith() .statusCode(401) @@ -94,11 +94,11 @@ describe("TokenExchangeProfiles", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/token-exchange-profiles") .respondWith() .statusCode(403) @@ -112,11 +112,11 @@ describe("TokenExchangeProfiles", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/token-exchange-profiles") .respondWith() .statusCode(429) @@ -130,7 +130,7 @@ describe("TokenExchangeProfiles", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name", subject_token_type: "subject_token_type", @@ -173,7 +173,7 @@ describe("TokenExchangeProfiles", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "Token Exchange Profile 1", subject_token_type: "mandarin", @@ -201,7 +201,7 @@ describe("TokenExchangeProfiles", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "Token Exchange Profile 1", subject_token_type: "mandarin", @@ -229,7 +229,7 @@ describe("TokenExchangeProfiles", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "Token Exchange Profile 1", subject_token_type: "mandarin", @@ -257,7 +257,7 @@ describe("TokenExchangeProfiles", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "Token Exchange Profile 1", subject_token_type: "mandarin", @@ -285,7 +285,7 @@ describe("TokenExchangeProfiles", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "Token Exchange Profile 1", subject_token_type: "mandarin", @@ -313,7 +313,7 @@ describe("TokenExchangeProfiles", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -346,7 +346,7 @@ describe("TokenExchangeProfiles", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -364,7 +364,7 @@ describe("TokenExchangeProfiles", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -382,7 +382,7 @@ describe("TokenExchangeProfiles", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -400,7 +400,7 @@ describe("TokenExchangeProfiles", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -418,7 +418,7 @@ describe("TokenExchangeProfiles", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -436,7 +436,7 @@ describe("TokenExchangeProfiles", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/token-exchange-profiles/id").respondWith().statusCode(200).build(); @@ -446,7 +446,7 @@ describe("TokenExchangeProfiles", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -464,7 +464,7 @@ describe("TokenExchangeProfiles", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -482,7 +482,7 @@ describe("TokenExchangeProfiles", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -500,7 +500,7 @@ describe("TokenExchangeProfiles", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; server @@ -517,7 +517,7 @@ describe("TokenExchangeProfiles", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -536,7 +536,7 @@ describe("TokenExchangeProfiles", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -555,7 +555,7 @@ describe("TokenExchangeProfiles", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -574,7 +574,7 @@ describe("TokenExchangeProfiles", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -593,7 +593,7 @@ describe("TokenExchangeProfiles", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/userAttributeProfiles.test.ts b/src/management/tests/wire/userAttributeProfiles.test.ts index 79360a42b9..f8736d27b2 100644 --- a/src/management/tests/wire/userAttributeProfiles.test.ts +++ b/src/management/tests/wire/userAttributeProfiles.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("UserAttributeProfiles", () => { +describe("UserAttributeProfilesClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { next: "next", @@ -27,7 +27,7 @@ describe("UserAttributeProfiles", () => { ], }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/user-attribute-profiles") .respondWith() .statusCode(200) @@ -64,11 +64,11 @@ describe("UserAttributeProfiles", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/user-attribute-profiles") .respondWith() .statusCode(400) @@ -82,11 +82,11 @@ describe("UserAttributeProfiles", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/user-attribute-profiles") .respondWith() .statusCode(401) @@ -100,11 +100,11 @@ describe("UserAttributeProfiles", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/user-attribute-profiles") .respondWith() .statusCode(403) @@ -118,11 +118,11 @@ describe("UserAttributeProfiles", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/user-attribute-profiles") .respondWith() .statusCode(429) @@ -136,7 +136,7 @@ describe("UserAttributeProfiles", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name", user_attributes: { @@ -210,7 +210,7 @@ describe("UserAttributeProfiles", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x", user_attributes: { @@ -244,7 +244,7 @@ describe("UserAttributeProfiles", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x", user_attributes: { @@ -278,7 +278,7 @@ describe("UserAttributeProfiles", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x", user_attributes: { @@ -312,7 +312,7 @@ describe("UserAttributeProfiles", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x", user_attributes: { @@ -346,7 +346,7 @@ describe("UserAttributeProfiles", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x", user_attributes: { @@ -380,7 +380,7 @@ describe("UserAttributeProfiles", () => { test("listTemplates (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { user_attribute_profile_templates: [{ id: "id", display_name: "display_name" }] }; server @@ -404,7 +404,7 @@ describe("UserAttributeProfiles", () => { test("listTemplates (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -422,7 +422,7 @@ describe("UserAttributeProfiles", () => { test("listTemplates (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -440,7 +440,7 @@ describe("UserAttributeProfiles", () => { test("listTemplates (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -458,7 +458,7 @@ describe("UserAttributeProfiles", () => { test("getTemplate (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -509,7 +509,7 @@ describe("UserAttributeProfiles", () => { test("getTemplate (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -527,7 +527,7 @@ describe("UserAttributeProfiles", () => { test("getTemplate (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -545,7 +545,7 @@ describe("UserAttributeProfiles", () => { test("getTemplate (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -563,7 +563,7 @@ describe("UserAttributeProfiles", () => { test("getTemplate (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -581,7 +581,7 @@ describe("UserAttributeProfiles", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -634,7 +634,7 @@ describe("UserAttributeProfiles", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -652,7 +652,7 @@ describe("UserAttributeProfiles", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -670,7 +670,7 @@ describe("UserAttributeProfiles", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -688,7 +688,7 @@ describe("UserAttributeProfiles", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -706,7 +706,7 @@ describe("UserAttributeProfiles", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/user-attribute-profiles/id").respondWith().statusCode(200).build(); @@ -716,7 +716,7 @@ describe("UserAttributeProfiles", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -734,7 +734,7 @@ describe("UserAttributeProfiles", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -752,7 +752,7 @@ describe("UserAttributeProfiles", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -770,7 +770,7 @@ describe("UserAttributeProfiles", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { id: "id", @@ -824,7 +824,7 @@ describe("UserAttributeProfiles", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -843,7 +843,7 @@ describe("UserAttributeProfiles", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -862,7 +862,7 @@ describe("UserAttributeProfiles", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -881,7 +881,7 @@ describe("UserAttributeProfiles", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/userBlocks.test.ts b/src/management/tests/wire/userBlocks.test.ts index 1ea9da4fff..93434cd808 100644 --- a/src/management/tests/wire/userBlocks.test.ts +++ b/src/management/tests/wire/userBlocks.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("UserBlocks", () => { +describe("UserBlocksClient", () => { test("listByIdentifier (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { blocked_for: [{ identifier: "identifier", ip: "ip", connection: "connection" }] }; server.mockEndpoint().get("/user-blocks").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); @@ -29,7 +29,7 @@ describe("UserBlocks", () => { test("listByIdentifier (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/user-blocks").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -43,7 +43,7 @@ describe("UserBlocks", () => { test("listByIdentifier (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/user-blocks").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -57,7 +57,7 @@ describe("UserBlocks", () => { test("listByIdentifier (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/user-blocks").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -71,7 +71,7 @@ describe("UserBlocks", () => { test("listByIdentifier (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/user-blocks").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -85,7 +85,7 @@ describe("UserBlocks", () => { test("deleteByIdentifier (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/user-blocks").respondWith().statusCode(200).build(); @@ -97,7 +97,7 @@ describe("UserBlocks", () => { test("deleteByIdentifier (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/user-blocks").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -111,7 +111,7 @@ describe("UserBlocks", () => { test("deleteByIdentifier (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/user-blocks").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -125,7 +125,7 @@ describe("UserBlocks", () => { test("deleteByIdentifier (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/user-blocks").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -139,7 +139,7 @@ describe("UserBlocks", () => { test("deleteByIdentifier (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/user-blocks").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -153,7 +153,7 @@ describe("UserBlocks", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { blocked_for: [{ identifier: "identifier", ip: "ip", connection: "connection" }] }; server.mockEndpoint().get("/user-blocks/id").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); @@ -174,7 +174,7 @@ describe("UserBlocks", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/user-blocks/id").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -186,7 +186,7 @@ describe("UserBlocks", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/user-blocks/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -198,7 +198,7 @@ describe("UserBlocks", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/user-blocks/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -210,7 +210,7 @@ describe("UserBlocks", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/user-blocks/id").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); @@ -222,7 +222,7 @@ describe("UserBlocks", () => { test("list (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/user-blocks/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -234,7 +234,7 @@ describe("UserBlocks", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/user-blocks/id").respondWith().statusCode(200).build(); @@ -244,7 +244,7 @@ describe("UserBlocks", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/user-blocks/id").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -256,7 +256,7 @@ describe("UserBlocks", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/user-blocks/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -268,7 +268,7 @@ describe("UserBlocks", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/user-blocks/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -280,7 +280,7 @@ describe("UserBlocks", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/user-blocks/id").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); @@ -292,7 +292,7 @@ describe("UserBlocks", () => { test("delete (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/user-blocks/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); diff --git a/src/management/tests/wire/userGrants.test.ts b/src/management/tests/wire/userGrants.test.ts index 1f36a87909..66f4f1d677 100644 --- a/src/management/tests/wire/userGrants.test.ts +++ b/src/management/tests/wire/userGrants.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("UserGrants", () => { +describe("UserGrantsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { start: 1.1, @@ -15,7 +15,13 @@ describe("UserGrants", () => { total: 1.1, grants: [{ id: "id", clientID: "clientID", user_id: "user_id", audience: "audience", scope: ["scope"] }], }; - server.mockEndpoint().get("/grants").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/grants") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); const expected = { start: 1.1, @@ -48,10 +54,16 @@ describe("UserGrants", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/grants").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/grants") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.userGrants.list(); @@ -60,10 +72,16 @@ describe("UserGrants", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/grants").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/grants") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.userGrants.list(); @@ -72,10 +90,16 @@ describe("UserGrants", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/grants").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/grants") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.userGrants.list(); @@ -84,7 +108,7 @@ describe("UserGrants", () => { test("deleteByUserId (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/grants").respondWith().statusCode(200).build(); @@ -96,7 +120,7 @@ describe("UserGrants", () => { test("deleteByUserId (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/grants").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -110,7 +134,7 @@ describe("UserGrants", () => { test("deleteByUserId (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/grants").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -124,7 +148,7 @@ describe("UserGrants", () => { test("deleteByUserId (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/grants").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -138,7 +162,7 @@ describe("UserGrants", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/grants/id").respondWith().statusCode(200).build(); @@ -148,7 +172,7 @@ describe("UserGrants", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/grants/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -160,7 +184,7 @@ describe("UserGrants", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/grants/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -172,7 +196,7 @@ describe("UserGrants", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/grants/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); diff --git a/src/management/tests/wire/users.test.ts b/src/management/tests/wire/users.test.ts index 98081e911e..498b324062 100644 --- a/src/management/tests/wire/users.test.ts +++ b/src/management/tests/wire/users.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../mock-server/MockServerPool"; import { ManagementClient } from "../../Client"; import * as Management from "../../api/index"; -describe("Users", () => { +describe("UsersClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { start: 1.1, @@ -40,7 +40,13 @@ describe("Users", () => { }, ], }; - server.mockEndpoint().get("/users").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/users") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); const expected = { start: 1.1, @@ -98,10 +104,16 @@ describe("Users", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/users").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/users") + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.users.list(); @@ -110,10 +122,16 @@ describe("Users", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/users").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/users") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.users.list(); @@ -122,10 +140,16 @@ describe("Users", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/users").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/users") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.users.list(); @@ -134,10 +158,16 @@ describe("Users", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/users").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/users") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.users.list(); @@ -146,10 +176,16 @@ describe("Users", () => { test("list (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/users").respondWith().statusCode(503).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/users") + .respondWith() + .statusCode(503) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.users.list(); @@ -158,7 +194,7 @@ describe("Users", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { connection: "connection" }; const rawResponseBody = { user_id: "user_id", @@ -246,7 +282,7 @@ describe("Users", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { connection: "Initial-Connection" }; const rawResponseBody = { key: "value" }; server @@ -267,7 +303,7 @@ describe("Users", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { connection: "Initial-Connection" }; const rawResponseBody = { key: "value" }; server @@ -288,7 +324,7 @@ describe("Users", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { connection: "Initial-Connection" }; const rawResponseBody = { key: "value" }; server @@ -309,7 +345,7 @@ describe("Users", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { connection: "Initial-Connection" }; const rawResponseBody = { key: "value" }; server @@ -330,7 +366,7 @@ describe("Users", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { connection: "Initial-Connection" }; const rawResponseBody = { key: "value" }; server @@ -351,7 +387,7 @@ describe("Users", () => { test("listUsersByEmail (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = [ { @@ -418,7 +454,7 @@ describe("Users", () => { test("listUsersByEmail (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/users-by-email").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -432,7 +468,7 @@ describe("Users", () => { test("listUsersByEmail (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/users-by-email").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -446,7 +482,7 @@ describe("Users", () => { test("listUsersByEmail (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/users-by-email").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -460,7 +496,7 @@ describe("Users", () => { test("listUsersByEmail (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/users-by-email").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -474,7 +510,7 @@ describe("Users", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { user_id: "user_id", @@ -556,7 +592,7 @@ describe("Users", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/users/id").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -568,7 +604,7 @@ describe("Users", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/users/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -580,7 +616,7 @@ describe("Users", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/users/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -592,7 +628,7 @@ describe("Users", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/users/id").respondWith().statusCode(404).jsonBody(rawResponseBody).build(); @@ -604,7 +640,7 @@ describe("Users", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().get("/users/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -616,7 +652,7 @@ describe("Users", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/users/id").respondWith().statusCode(200).build(); @@ -626,7 +662,7 @@ describe("Users", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/users/id").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -638,7 +674,7 @@ describe("Users", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/users/id").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); @@ -650,7 +686,7 @@ describe("Users", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/users/id").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); @@ -662,7 +698,7 @@ describe("Users", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server.mockEndpoint().delete("/users/id").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); @@ -674,7 +710,7 @@ describe("Users", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { user_id: "user_id", @@ -760,7 +796,7 @@ describe("Users", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -779,7 +815,7 @@ describe("Users", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -798,7 +834,7 @@ describe("Users", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -817,7 +853,7 @@ describe("Users", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -836,7 +872,7 @@ describe("Users", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -855,7 +891,7 @@ describe("Users", () => { test("regenerateRecoveryCode (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { recovery_code: "recovery_code" }; server @@ -874,7 +910,7 @@ describe("Users", () => { test("regenerateRecoveryCode (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -892,7 +928,7 @@ describe("Users", () => { test("regenerateRecoveryCode (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -910,7 +946,7 @@ describe("Users", () => { test("regenerateRecoveryCode (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -928,7 +964,7 @@ describe("Users", () => { test("regenerateRecoveryCode (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -946,7 +982,7 @@ describe("Users", () => { test("revokeAccess (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; server @@ -963,7 +999,7 @@ describe("Users", () => { test("revokeAccess (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -982,7 +1018,7 @@ describe("Users", () => { test("revokeAccess (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -1001,7 +1037,7 @@ describe("Users", () => { test("revokeAccess (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -1020,7 +1056,7 @@ describe("Users", () => { test("revokeAccess (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/users/authenticationMethods.test.ts b/src/management/tests/wire/users/authenticationMethods.test.ts index 8f05f08ef1..41ec712b05 100644 --- a/src/management/tests/wire/users/authenticationMethods.test.ts +++ b/src/management/tests/wire/users/authenticationMethods.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("AuthenticationMethods", () => { +describe("AuthenticationMethodsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { start: 1.1, @@ -39,7 +39,7 @@ describe("AuthenticationMethods", () => { ], }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/id/authentication-methods") .respondWith() .statusCode(200) @@ -89,11 +89,11 @@ describe("AuthenticationMethods", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/id/authentication-methods") .respondWith() .statusCode(400) @@ -107,11 +107,11 @@ describe("AuthenticationMethods", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/id/authentication-methods") .respondWith() .statusCode(401) @@ -125,11 +125,11 @@ describe("AuthenticationMethods", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/id/authentication-methods") .respondWith() .statusCode(403) @@ -143,11 +143,11 @@ describe("AuthenticationMethods", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/id/authentication-methods") .respondWith() .statusCode(404) @@ -161,11 +161,11 @@ describe("AuthenticationMethods", () => { test("list (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/id/authentication-methods") .respondWith() .statusCode(429) @@ -179,7 +179,7 @@ describe("AuthenticationMethods", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { type: "phone" }; const rawResponseBody = { id: "id", @@ -232,7 +232,7 @@ describe("AuthenticationMethods", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { type: "phone" }; const rawResponseBody = { key: "value" }; server @@ -253,7 +253,7 @@ describe("AuthenticationMethods", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { type: "phone" }; const rawResponseBody = { key: "value" }; server @@ -274,7 +274,7 @@ describe("AuthenticationMethods", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { type: "phone" }; const rawResponseBody = { key: "value" }; server @@ -295,7 +295,7 @@ describe("AuthenticationMethods", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { type: "phone" }; const rawResponseBody = { key: "value" }; server @@ -316,7 +316,7 @@ describe("AuthenticationMethods", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { type: "phone" }; const rawResponseBody = { key: "value" }; server @@ -337,7 +337,7 @@ describe("AuthenticationMethods", () => { test("create (7)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { type: "phone" }; const rawResponseBody = { key: "value" }; server @@ -358,7 +358,7 @@ describe("AuthenticationMethods", () => { test("set (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = [{ type: "phone" }]; const rawResponseBody = [ { @@ -412,7 +412,7 @@ describe("AuthenticationMethods", () => { test("set (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = [{ type: "phone" }, { type: "phone" }]; const rawResponseBody = { key: "value" }; server @@ -438,7 +438,7 @@ describe("AuthenticationMethods", () => { test("set (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = [{ type: "phone" }, { type: "phone" }]; const rawResponseBody = { key: "value" }; server @@ -464,7 +464,7 @@ describe("AuthenticationMethods", () => { test("set (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = [{ type: "phone" }, { type: "phone" }]; const rawResponseBody = { key: "value" }; server @@ -490,7 +490,7 @@ describe("AuthenticationMethods", () => { test("set (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = [{ type: "phone" }, { type: "phone" }]; const rawResponseBody = { key: "value" }; server @@ -516,7 +516,7 @@ describe("AuthenticationMethods", () => { test("set (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = [{ type: "phone" }, { type: "phone" }]; const rawResponseBody = { key: "value" }; server @@ -542,7 +542,7 @@ describe("AuthenticationMethods", () => { test("deleteAll (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/users/id/authentication-methods").respondWith().statusCode(200).build(); @@ -552,7 +552,7 @@ describe("AuthenticationMethods", () => { test("deleteAll (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -570,7 +570,7 @@ describe("AuthenticationMethods", () => { test("deleteAll (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -588,7 +588,7 @@ describe("AuthenticationMethods", () => { test("deleteAll (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -606,7 +606,7 @@ describe("AuthenticationMethods", () => { test("deleteAll (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -624,7 +624,7 @@ describe("AuthenticationMethods", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -688,7 +688,7 @@ describe("AuthenticationMethods", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -706,7 +706,7 @@ describe("AuthenticationMethods", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -724,7 +724,7 @@ describe("AuthenticationMethods", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -742,7 +742,7 @@ describe("AuthenticationMethods", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -760,7 +760,7 @@ describe("AuthenticationMethods", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -778,7 +778,7 @@ describe("AuthenticationMethods", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server .mockEndpoint() @@ -793,7 +793,7 @@ describe("AuthenticationMethods", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -811,7 +811,7 @@ describe("AuthenticationMethods", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -829,7 +829,7 @@ describe("AuthenticationMethods", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -847,7 +847,7 @@ describe("AuthenticationMethods", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -865,7 +865,7 @@ describe("AuthenticationMethods", () => { test("delete (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -883,7 +883,7 @@ describe("AuthenticationMethods", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { id: "id", @@ -934,7 +934,7 @@ describe("AuthenticationMethods", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -953,7 +953,7 @@ describe("AuthenticationMethods", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -972,7 +972,7 @@ describe("AuthenticationMethods", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -991,7 +991,7 @@ describe("AuthenticationMethods", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -1010,7 +1010,7 @@ describe("AuthenticationMethods", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/users/authenticators.test.ts b/src/management/tests/wire/users/authenticators.test.ts index 89a1d3a07e..90b555de35 100644 --- a/src/management/tests/wire/users/authenticators.test.ts +++ b/src/management/tests/wire/users/authenticators.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Authenticators", () => { +describe("AuthenticatorsClient", () => { test("deleteAll (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/users/id/authenticators").respondWith().statusCode(200).build(); @@ -17,7 +17,7 @@ describe("Authenticators", () => { test("deleteAll (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -35,7 +35,7 @@ describe("Authenticators", () => { test("deleteAll (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -53,7 +53,7 @@ describe("Authenticators", () => { test("deleteAll (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -71,7 +71,7 @@ describe("Authenticators", () => { test("deleteAll (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/users/connectedAccounts.test.ts b/src/management/tests/wire/users/connectedAccounts.test.ts index d489efa536..a717b7415b 100644 --- a/src/management/tests/wire/users/connectedAccounts.test.ts +++ b/src/management/tests/wire/users/connectedAccounts.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("ConnectedAccounts", () => { +describe("ConnectedAccountsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { connected_accounts: [ @@ -25,7 +25,7 @@ describe("ConnectedAccounts", () => { next: "next", }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/id/connected-accounts") .respondWith() .statusCode(200) @@ -60,11 +60,11 @@ describe("ConnectedAccounts", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/id/connected-accounts") .respondWith() .statusCode(400) @@ -78,11 +78,11 @@ describe("ConnectedAccounts", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/id/connected-accounts") .respondWith() .statusCode(401) @@ -96,11 +96,11 @@ describe("ConnectedAccounts", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/id/connected-accounts") .respondWith() .statusCode(403) @@ -114,11 +114,11 @@ describe("ConnectedAccounts", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/id/connected-accounts") .respondWith() .statusCode(429) diff --git a/src/management/tests/wire/users/enrollments.test.ts b/src/management/tests/wire/users/enrollments.test.ts index 8ad22aceee..4596424e63 100644 --- a/src/management/tests/wire/users/enrollments.test.ts +++ b/src/management/tests/wire/users/enrollments.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Enrollments", () => { +describe("EnrollmentsClient", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = [ { @@ -48,7 +48,7 @@ describe("Enrollments", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -66,7 +66,7 @@ describe("Enrollments", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -84,7 +84,7 @@ describe("Enrollments", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -102,7 +102,7 @@ describe("Enrollments", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -120,7 +120,7 @@ describe("Enrollments", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/users/federatedConnectionsTokensets.test.ts b/src/management/tests/wire/users/federatedConnectionsTokensets.test.ts index f02655917e..a844100d5f 100644 --- a/src/management/tests/wire/users/federatedConnectionsTokensets.test.ts +++ b/src/management/tests/wire/users/federatedConnectionsTokensets.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("FederatedConnectionsTokensets", () => { +describe("FederatedConnectionsTokensetsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = [ { @@ -42,7 +42,7 @@ describe("FederatedConnectionsTokensets", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -60,7 +60,7 @@ describe("FederatedConnectionsTokensets", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -78,7 +78,7 @@ describe("FederatedConnectionsTokensets", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -96,7 +96,7 @@ describe("FederatedConnectionsTokensets", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -114,7 +114,7 @@ describe("FederatedConnectionsTokensets", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server .mockEndpoint() @@ -129,7 +129,7 @@ describe("FederatedConnectionsTokensets", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -147,7 +147,7 @@ describe("FederatedConnectionsTokensets", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -165,7 +165,7 @@ describe("FederatedConnectionsTokensets", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -183,7 +183,7 @@ describe("FederatedConnectionsTokensets", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/users/identities.test.ts b/src/management/tests/wire/users/identities.test.ts index 78e492a40b..4d9985fe84 100644 --- a/src/management/tests/wire/users/identities.test.ts +++ b/src/management/tests/wire/users/identities.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Identities", () => { +describe("IdentitiesClient", () => { test("link (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = [ { @@ -65,7 +65,7 @@ describe("Identities", () => { test("link (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -84,7 +84,7 @@ describe("Identities", () => { test("link (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -103,7 +103,7 @@ describe("Identities", () => { test("link (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -122,7 +122,7 @@ describe("Identities", () => { test("link (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -141,7 +141,7 @@ describe("Identities", () => { test("link (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -160,7 +160,7 @@ describe("Identities", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = [ { @@ -217,7 +217,7 @@ describe("Identities", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -235,7 +235,7 @@ describe("Identities", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -253,7 +253,7 @@ describe("Identities", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -271,7 +271,7 @@ describe("Identities", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/users/logs.test.ts b/src/management/tests/wire/users/logs.test.ts index 830d2dfc93..6856736420 100644 --- a/src/management/tests/wire/users/logs.test.ts +++ b/src/management/tests/wire/users/logs.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Logs", () => { +describe("LogsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { start: 1.1, @@ -38,7 +38,13 @@ describe("Logs", () => { }, ], }; - server.mockEndpoint().get("/users/id/logs").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/users/id/logs") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); const expected = { start: 1.1, @@ -86,10 +92,16 @@ describe("Logs", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/users/id/logs").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/users/id/logs") + .respondWith() + .statusCode(400) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.users.logs.list("id"); @@ -98,10 +110,16 @@ describe("Logs", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/users/id/logs").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/users/id/logs") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.users.logs.list("id"); @@ -110,10 +128,16 @@ describe("Logs", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/users/id/logs").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/users/id/logs") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.users.logs.list("id"); @@ -122,10 +146,16 @@ describe("Logs", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/users/id/logs").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/users/id/logs") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.users.logs.list("id"); diff --git a/src/management/tests/wire/users/multifactor.test.ts b/src/management/tests/wire/users/multifactor.test.ts index 4c764a46b1..3d897e6d9c 100644 --- a/src/management/tests/wire/users/multifactor.test.ts +++ b/src/management/tests/wire/users/multifactor.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Multifactor", () => { +describe("MultifactorClient", () => { test("invalidateRememberBrowser (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server .mockEndpoint() @@ -22,7 +22,7 @@ describe("Multifactor", () => { test("invalidateRememberBrowser (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -40,7 +40,7 @@ describe("Multifactor", () => { test("invalidateRememberBrowser (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -58,7 +58,7 @@ describe("Multifactor", () => { test("invalidateRememberBrowser (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -76,7 +76,7 @@ describe("Multifactor", () => { test("deleteProvider (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/users/id/multifactor/duo").respondWith().statusCode(200).build(); @@ -86,7 +86,7 @@ describe("Multifactor", () => { test("deleteProvider (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -104,7 +104,7 @@ describe("Multifactor", () => { test("deleteProvider (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -122,7 +122,7 @@ describe("Multifactor", () => { test("deleteProvider (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -140,7 +140,7 @@ describe("Multifactor", () => { test("deleteProvider (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -158,7 +158,7 @@ describe("Multifactor", () => { test("deleteProvider (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/users/organizations.test.ts b/src/management/tests/wire/users/organizations.test.ts index 26e4a1f15a..6385c87b4e 100644 --- a/src/management/tests/wire/users/organizations.test.ts +++ b/src/management/tests/wire/users/organizations.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Organizations", () => { +describe("OrganizationsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { start: 1.1, @@ -18,7 +18,7 @@ describe("Organizations", () => { ], }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/id/organizations") .respondWith() .statusCode(200) @@ -54,11 +54,11 @@ describe("Organizations", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/id/organizations") .respondWith() .statusCode(401) @@ -72,11 +72,11 @@ describe("Organizations", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/id/organizations") .respondWith() .statusCode(403) @@ -90,11 +90,11 @@ describe("Organizations", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/id/organizations") .respondWith() .statusCode(429) diff --git a/src/management/tests/wire/users/permissions.test.ts b/src/management/tests/wire/users/permissions.test.ts index 26741c7a7a..df56abd7b6 100644 --- a/src/management/tests/wire/users/permissions.test.ts +++ b/src/management/tests/wire/users/permissions.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Permissions", () => { +describe("PermissionsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { start: 1.1, @@ -23,7 +23,7 @@ describe("Permissions", () => { ], }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/id/permissions") .respondWith() .statusCode(200) @@ -57,11 +57,11 @@ describe("Permissions", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/id/permissions") .respondWith() .statusCode(400) @@ -75,11 +75,11 @@ describe("Permissions", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/id/permissions") .respondWith() .statusCode(401) @@ -93,11 +93,11 @@ describe("Permissions", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/id/permissions") .respondWith() .statusCode(403) @@ -111,11 +111,11 @@ describe("Permissions", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/id/permissions") .respondWith() .statusCode(404) @@ -129,11 +129,11 @@ describe("Permissions", () => { test("list (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/id/permissions") .respondWith() .statusCode(429) @@ -147,7 +147,7 @@ describe("Permissions", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { permissions: [ { resource_server_identifier: "resource_server_identifier", permission_name: "permission_name" }, @@ -175,7 +175,7 @@ describe("Permissions", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { permissions: [ { resource_server_identifier: "resource_server_identifier", permission_name: "permission_name" }, @@ -210,7 +210,7 @@ describe("Permissions", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { permissions: [ { resource_server_identifier: "resource_server_identifier", permission_name: "permission_name" }, @@ -245,7 +245,7 @@ describe("Permissions", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { permissions: [ { resource_server_identifier: "resource_server_identifier", permission_name: "permission_name" }, @@ -280,7 +280,7 @@ describe("Permissions", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { permissions: [ { resource_server_identifier: "resource_server_identifier", permission_name: "permission_name" }, @@ -315,7 +315,7 @@ describe("Permissions", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { permissions: [ { resource_server_identifier: "resource_server_identifier", permission_name: "permission_name" }, @@ -343,7 +343,7 @@ describe("Permissions", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { permissions: [ { resource_server_identifier: "resource_server_identifier", permission_name: "permission_name" }, @@ -378,7 +378,7 @@ describe("Permissions", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { permissions: [ { resource_server_identifier: "resource_server_identifier", permission_name: "permission_name" }, @@ -413,7 +413,7 @@ describe("Permissions", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { permissions: [ { resource_server_identifier: "resource_server_identifier", permission_name: "permission_name" }, @@ -448,7 +448,7 @@ describe("Permissions", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { permissions: [ { resource_server_identifier: "resource_server_identifier", permission_name: "permission_name" }, diff --git a/src/management/tests/wire/users/refreshToken.test.ts b/src/management/tests/wire/users/refreshToken.test.ts index 665e288b71..a8a574a646 100644 --- a/src/management/tests/wire/users/refreshToken.test.ts +++ b/src/management/tests/wire/users/refreshToken.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("RefreshToken", () => { +describe("RefreshTokenClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { tokens: [ @@ -27,7 +27,7 @@ describe("RefreshToken", () => { next: "next", }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/user_id/refresh-tokens") .respondWith() .statusCode(200) @@ -64,11 +64,11 @@ describe("RefreshToken", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/user_id/refresh-tokens") .respondWith() .statusCode(401) @@ -82,11 +82,11 @@ describe("RefreshToken", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/user_id/refresh-tokens") .respondWith() .statusCode(403) @@ -100,11 +100,11 @@ describe("RefreshToken", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/user_id/refresh-tokens") .respondWith() .statusCode(404) @@ -118,11 +118,11 @@ describe("RefreshToken", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/user_id/refresh-tokens") .respondWith() .statusCode(429) @@ -136,7 +136,7 @@ describe("RefreshToken", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/users/user_id/refresh-tokens").respondWith().statusCode(200).build(); @@ -146,7 +146,7 @@ describe("RefreshToken", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -164,7 +164,7 @@ describe("RefreshToken", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -182,7 +182,7 @@ describe("RefreshToken", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -200,7 +200,7 @@ describe("RefreshToken", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -218,7 +218,7 @@ describe("RefreshToken", () => { test("delete (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/users/riskAssessments.test.ts b/src/management/tests/wire/users/riskAssessments.test.ts index 247903e57a..c8eaff61ec 100644 --- a/src/management/tests/wire/users/riskAssessments.test.ts +++ b/src/management/tests/wire/users/riskAssessments.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("RiskAssessments", () => { +describe("RiskAssessmentsClient", () => { test("clear (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { connection: "connection", assessors: ["new-device"] }; server @@ -27,7 +27,7 @@ describe("RiskAssessments", () => { test("clear (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { connection: "x", assessors: ["new-device", "new-device"] }; const rawResponseBody = { key: "value" }; server @@ -49,7 +49,7 @@ describe("RiskAssessments", () => { test("clear (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { connection: "x", assessors: ["new-device", "new-device"] }; const rawResponseBody = { key: "value" }; server @@ -71,7 +71,7 @@ describe("RiskAssessments", () => { test("clear (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { connection: "x", assessors: ["new-device", "new-device"] }; const rawResponseBody = { key: "value" }; server @@ -93,7 +93,7 @@ describe("RiskAssessments", () => { test("clear (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { connection: "x", assessors: ["new-device", "new-device"] }; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/users/roles.test.ts b/src/management/tests/wire/users/roles.test.ts index 883647e2b7..0887d90895 100644 --- a/src/management/tests/wire/users/roles.test.ts +++ b/src/management/tests/wire/users/roles.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Roles", () => { +describe("RolesClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { start: 1.1, @@ -15,7 +15,13 @@ describe("Roles", () => { total: 1.1, roles: [{ id: "id", name: "name", description: "description" }], }; - server.mockEndpoint().get("/users/id/roles").respondWith().statusCode(200).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/users/id/roles") + .respondWith() + .statusCode(200) + .jsonBody(rawResponseBody) + .build(); const expected = { start: 1.1, @@ -43,10 +49,16 @@ describe("Roles", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/users/id/roles").respondWith().statusCode(401).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/users/id/roles") + .respondWith() + .statusCode(401) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.users.roles.list("id"); @@ -55,10 +67,16 @@ describe("Roles", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/users/id/roles").respondWith().statusCode(403).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/users/id/roles") + .respondWith() + .statusCode(403) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.users.roles.list("id"); @@ -67,10 +85,16 @@ describe("Roles", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; - server.mockEndpoint().get("/users/id/roles").respondWith().statusCode(429).jsonBody(rawResponseBody).build(); + server + .mockEndpoint({ once: false }) + .get("/users/id/roles") + .respondWith() + .statusCode(429) + .jsonBody(rawResponseBody) + .build(); await expect(async () => { return await client.users.roles.list("id"); @@ -79,7 +103,7 @@ describe("Roles", () => { test("assign (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { roles: ["roles"] }; server.mockEndpoint().post("/users/id/roles").jsonBody(rawRequestBody).respondWith().statusCode(200).build(); @@ -92,7 +116,7 @@ describe("Roles", () => { test("assign (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { roles: ["roles", "roles"] }; const rawResponseBody = { key: "value" }; server @@ -113,7 +137,7 @@ describe("Roles", () => { test("assign (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { roles: ["roles", "roles"] }; const rawResponseBody = { key: "value" }; server @@ -134,7 +158,7 @@ describe("Roles", () => { test("assign (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { roles: ["roles", "roles"] }; const rawResponseBody = { key: "value" }; server @@ -155,7 +179,7 @@ describe("Roles", () => { test("assign (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { roles: ["roles", "roles"] }; const rawResponseBody = { key: "value" }; server @@ -176,7 +200,7 @@ describe("Roles", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { roles: ["roles"] }; server.mockEndpoint().delete("/users/id/roles").jsonBody(rawRequestBody).respondWith().statusCode(200).build(); @@ -189,7 +213,7 @@ describe("Roles", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { roles: ["roles", "roles"] }; const rawResponseBody = { key: "value" }; server @@ -210,7 +234,7 @@ describe("Roles", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { roles: ["roles", "roles"] }; const rawResponseBody = { key: "value" }; server @@ -231,7 +255,7 @@ describe("Roles", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { roles: ["roles", "roles"] }; const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/users/sessions.test.ts b/src/management/tests/wire/users/sessions.test.ts index e24595d064..94417d5156 100644 --- a/src/management/tests/wire/users/sessions.test.ts +++ b/src/management/tests/wire/users/sessions.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../mock-server/MockServerPool"; import { ManagementClient } from "../../../Client"; import * as Management from "../../../api/index"; -describe("Sessions", () => { +describe("SessionsClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { sessions: [ @@ -27,7 +27,7 @@ describe("Sessions", () => { next: "next", }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/user_id/sessions") .respondWith() .statusCode(200) @@ -66,11 +66,11 @@ describe("Sessions", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/user_id/sessions") .respondWith() .statusCode(401) @@ -84,11 +84,11 @@ describe("Sessions", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/user_id/sessions") .respondWith() .statusCode(403) @@ -102,11 +102,11 @@ describe("Sessions", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/user_id/sessions") .respondWith() .statusCode(404) @@ -120,11 +120,11 @@ describe("Sessions", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/users/user_id/sessions") .respondWith() .statusCode(429) @@ -138,7 +138,7 @@ describe("Sessions", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server.mockEndpoint().delete("/users/user_id/sessions").respondWith().statusCode(200).build(); @@ -148,7 +148,7 @@ describe("Sessions", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -166,7 +166,7 @@ describe("Sessions", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -184,7 +184,7 @@ describe("Sessions", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -202,7 +202,7 @@ describe("Sessions", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -220,7 +220,7 @@ describe("Sessions", () => { test("delete (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server diff --git a/src/management/tests/wire/verifiableCredentials/verification/templates.test.ts b/src/management/tests/wire/verifiableCredentials/verification/templates.test.ts index 3c9936eb01..29441acd82 100644 --- a/src/management/tests/wire/verifiableCredentials/verification/templates.test.ts +++ b/src/management/tests/wire/verifiableCredentials/verification/templates.test.ts @@ -4,10 +4,10 @@ import { mockServerPool } from "../../../mock-server/MockServerPool"; import { ManagementClient } from "../../../../Client"; import * as Management from "../../../../api/index"; -describe("Templates", () => { +describe("TemplatesClient", () => { test("list (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { next: "next", @@ -26,7 +26,7 @@ describe("Templates", () => { ], }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/verifiable-credentials/verification/templates") .respondWith() .statusCode(200) @@ -66,11 +66,11 @@ describe("Templates", () => { test("list (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/verifiable-credentials/verification/templates") .respondWith() .statusCode(400) @@ -84,11 +84,11 @@ describe("Templates", () => { test("list (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/verifiable-credentials/verification/templates") .respondWith() .statusCode(401) @@ -102,11 +102,11 @@ describe("Templates", () => { test("list (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/verifiable-credentials/verification/templates") .respondWith() .statusCode(403) @@ -120,11 +120,11 @@ describe("Templates", () => { test("list (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server - .mockEndpoint() + .mockEndpoint({ once: false }) .get("/verifiable-credentials/verification/templates") .respondWith() .statusCode(429) @@ -138,7 +138,7 @@ describe("Templates", () => { test("create (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "name", type: "type", @@ -196,7 +196,7 @@ describe("Templates", () => { test("create (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x", type: "x", @@ -231,7 +231,7 @@ describe("Templates", () => { test("create (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x", type: "x", @@ -266,7 +266,7 @@ describe("Templates", () => { test("create (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x", type: "x", @@ -301,7 +301,7 @@ describe("Templates", () => { test("create (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x", type: "x", @@ -336,7 +336,7 @@ describe("Templates", () => { test("create (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = { name: "x", type: "x", @@ -371,7 +371,7 @@ describe("Templates", () => { test("get (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { id: "id", @@ -412,7 +412,7 @@ describe("Templates", () => { test("get (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -430,7 +430,7 @@ describe("Templates", () => { test("get (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -448,7 +448,7 @@ describe("Templates", () => { test("get (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -466,7 +466,7 @@ describe("Templates", () => { test("get (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -484,7 +484,7 @@ describe("Templates", () => { test("get (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -502,7 +502,7 @@ describe("Templates", () => { test("delete (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); server .mockEndpoint() @@ -517,7 +517,7 @@ describe("Templates", () => { test("delete (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -535,7 +535,7 @@ describe("Templates", () => { test("delete (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -553,7 +553,7 @@ describe("Templates", () => { test("delete (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -571,7 +571,7 @@ describe("Templates", () => { test("delete (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawResponseBody = { key: "value" }; server @@ -589,7 +589,7 @@ describe("Templates", () => { test("update (1)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { id: "id", @@ -631,7 +631,7 @@ describe("Templates", () => { test("update (2)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -650,7 +650,7 @@ describe("Templates", () => { test("update (3)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -669,7 +669,7 @@ describe("Templates", () => { test("update (4)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -688,7 +688,7 @@ describe("Templates", () => { test("update (5)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server @@ -707,7 +707,7 @@ describe("Templates", () => { test("update (6)", async () => { const server = mockServerPool.createServer(); - const client = new ManagementClient({ token: "test", environment: server.baseUrl }); + const client = new ManagementClient({ maxRetries: 0, token: "test", environment: server.baseUrl }); const rawRequestBody = {}; const rawResponseBody = { key: "value" }; server diff --git a/src/management/version.ts b/src/management/version.ts index c0103fd82a..5f717ba2ad 100644 --- a/src/management/version.ts +++ b/src/management/version.ts @@ -1 +1 @@ -export const SDK_VERSION = "5.0.0"; +export const SDK_VERSION = "5.1.1"; diff --git a/yarn.lock b/yarn.lock index d6cfacbcda..def7da69f2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -320,9 +320,9 @@ "@types/json-schema" "^7.0.15" "@eslint/eslintrc@^3.3.1": - version "3.3.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.3.1.tgz#e55f7f1dd400600dd066dbba349c4c0bac916964" - integrity sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ== + version "3.3.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.3.3.tgz#26393a0806501b5e2b6a43aa588a4d8df67880ac" + integrity sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ== dependencies: ajv "^6.12.4" debug "^4.3.2" @@ -330,7 +330,7 @@ globals "^14.0.0" ignore "^5.2.0" import-fresh "^3.2.1" - js-yaml "^4.1.0" + js-yaml "^4.1.1" minimatch "^3.1.2" strip-json-comments "^3.1.1" @@ -352,15 +352,15 @@ "@eslint/core" "^0.17.0" levn "^0.4.1" -"@gerrit0/mini-shiki@^3.12.0": - version "3.14.0" - resolved "https://registry.yarnpkg.com/@gerrit0/mini-shiki/-/mini-shiki-3.14.0.tgz#ba66291e151b909cf96515e1cf6cba38748e4b62" - integrity sha512-c5X8fwPLOtUS8TVdqhynz9iV0GlOtFUT1ppXYzUUlEXe4kbZ/mvMT8wXoT8kCwUka+zsiloq7sD3pZ3+QVTuNQ== +"@gerrit0/mini-shiki@^3.17.0": + version "3.19.0" + resolved "https://registry.yarnpkg.com/@gerrit0/mini-shiki/-/mini-shiki-3.19.0.tgz#1c772516e7771681cb4441150f771628ce22e8ef" + integrity sha512-ZSlWfLvr8Nl0T4iA3FF/8VH8HivYF82xQts2DY0tJxZd4wtXJ8AA0nmdW9lmO4hlrh3f9xNwEPtOgqETPqKwDA== dependencies: - "@shikijs/engine-oniguruma" "^3.14.0" - "@shikijs/langs" "^3.14.0" - "@shikijs/themes" "^3.14.0" - "@shikijs/types" "^3.14.0" + "@shikijs/engine-oniguruma" "^3.19.0" + "@shikijs/langs" "^3.19.0" + "@shikijs/themes" "^3.19.0" + "@shikijs/types" "^3.19.0" "@shikijs/vscode-textmate" "^10.0.2" "@humanfs/core@^0.19.1": @@ -386,42 +386,42 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.3.tgz#c2b9d2e374ee62c586d3adbea87199b1d7a7a6ba" integrity sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ== -"@inquirer/ansi@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@inquirer/ansi/-/ansi-1.0.1.tgz#994f7dd16a00c547a7b110e04bf4f4eca1857929" - integrity sha512-yqq0aJW/5XPhi5xOAL1xRCpe1eh8UFVgYFpFsjEqmIR8rKLyP+HINvFXwUaxYICflJrVlxnp7lLN6As735kVpw== +"@inquirer/ansi@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@inquirer/ansi/-/ansi-1.0.2.tgz#674a4c4d81ad460695cb2a1fc69d78cd187f337e" + integrity sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ== "@inquirer/confirm@^5.0.0": - version "5.1.19" - resolved "https://registry.yarnpkg.com/@inquirer/confirm/-/confirm-5.1.19.tgz#bf28b420898999eb7479ab55623a3fbaf1453ff4" - integrity sha512-wQNz9cfcxrtEnUyG5PndC8g3gZ7lGDBzmWiXZkX8ot3vfZ+/BLjR8EvyGX4YzQLeVqtAlY/YScZpW7CW8qMoDQ== + version "5.1.21" + resolved "https://registry.yarnpkg.com/@inquirer/confirm/-/confirm-5.1.21.tgz#610c4acd7797d94890a6e2dde2c98eb1e891dd12" + integrity sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ== dependencies: - "@inquirer/core" "^10.3.0" - "@inquirer/type" "^3.0.9" + "@inquirer/core" "^10.3.2" + "@inquirer/type" "^3.0.10" -"@inquirer/core@^10.3.0": - version "10.3.0" - resolved "https://registry.yarnpkg.com/@inquirer/core/-/core-10.3.0.tgz#342e4fd62cbd33ea62089364274995dbec1f2ffe" - integrity sha512-Uv2aPPPSK5jeCplQmQ9xadnFx2Zhj9b5Dj7bU6ZeCdDNNY11nhYy4btcSdtDguHqCT2h5oNeQTcUNSGGLA7NTA== +"@inquirer/core@^10.3.2": + version "10.3.2" + resolved "https://registry.yarnpkg.com/@inquirer/core/-/core-10.3.2.tgz#535979ff3ff4fe1e7cc4f83e2320504c743b7e20" + integrity sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A== dependencies: - "@inquirer/ansi" "^1.0.1" - "@inquirer/figures" "^1.0.14" - "@inquirer/type" "^3.0.9" + "@inquirer/ansi" "^1.0.2" + "@inquirer/figures" "^1.0.15" + "@inquirer/type" "^3.0.10" cli-width "^4.1.0" mute-stream "^2.0.0" signal-exit "^4.1.0" wrap-ansi "^6.2.0" - yoctocolors-cjs "^2.1.2" + yoctocolors-cjs "^2.1.3" -"@inquirer/figures@^1.0.14": - version "1.0.14" - resolved "https://registry.yarnpkg.com/@inquirer/figures/-/figures-1.0.14.tgz#12a7bfd344a83ae6cc5d6004b389ed11f6db6be4" - integrity sha512-DbFgdt+9/OZYFM+19dbpXOSeAstPy884FPy1KjDu4anWwymZeOYhMY1mdFri172htv6mvc/uvIAAi7b7tvjJBQ== +"@inquirer/figures@^1.0.15": + version "1.0.15" + resolved "https://registry.yarnpkg.com/@inquirer/figures/-/figures-1.0.15.tgz#dbb49ed80df11df74268023b496ac5d9acd22b3a" + integrity sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g== -"@inquirer/type@^3.0.9": - version "3.0.9" - resolved "https://registry.yarnpkg.com/@inquirer/type/-/type-3.0.9.tgz#f7f9696e9276e4e1ae9332767afb9199992e31d9" - integrity sha512-QPaNt/nmE2bLGQa9b7wwyRJoLZ7pN6rcyXvzU0YCmivmJyq1BVo94G98tStRWkoD1RgDX5C+dPlhhHzNdu/W/w== +"@inquirer/type@^3.0.10": + version "3.0.10" + resolved "https://registry.yarnpkg.com/@inquirer/type/-/type-3.0.10.tgz#11ed564ec78432a200ea2601a212d24af8150d50" + integrity sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA== "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" @@ -685,27 +685,6 @@ outvariant "^1.4.3" strict-event-emitter "^0.5.1" -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - "@open-draft/deferred-promise@^2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz#4a822d10f6f0e316be4d67b4d4f8c9a124b073bd" @@ -734,32 +713,32 @@ resolved "https://registry.yarnpkg.com/@publint/pack/-/pack-0.1.2.tgz#1b9a9567423262093e4a73e77697b65bf622f8c9" integrity sha512-S+9ANAvUmjutrshV4jZjaiG8XQyuJIZ8a4utWmN/vW1sgQ9IfBnPndwkmQYw53QmouOIytT874u65HEmu6H5jw== -"@shikijs/engine-oniguruma@^3.14.0": - version "3.14.0" - resolved "https://registry.yarnpkg.com/@shikijs/engine-oniguruma/-/engine-oniguruma-3.14.0.tgz#562bcce2f69cc65c92bcf2ccb637b2a7021f3d7b" - integrity sha512-TNcYTYMbJyy+ZjzWtt0bG5y4YyMIWC2nyePz+CFMWqm+HnZZyy9SWMgo8Z6KBJVIZnx8XUXS8U2afO6Y0g1Oug== +"@shikijs/engine-oniguruma@^3.19.0": + version "3.19.0" + resolved "https://registry.yarnpkg.com/@shikijs/engine-oniguruma/-/engine-oniguruma-3.19.0.tgz#76bd31a90785102f1183d2a073381c117527fca4" + integrity sha512-1hRxtYIJfJSZeM5ivbUXv9hcJP3PWRo5prG/V2sWwiubUKTa+7P62d2qxCW8jiVFX4pgRHhnHNp+qeR7Xl+6kg== dependencies: - "@shikijs/types" "3.14.0" + "@shikijs/types" "3.19.0" "@shikijs/vscode-textmate" "^10.0.2" -"@shikijs/langs@^3.14.0": - version "3.14.0" - resolved "https://registry.yarnpkg.com/@shikijs/langs/-/langs-3.14.0.tgz#71e6ca44e661b405209eb63d4449b57b9de529d0" - integrity sha512-DIB2EQY7yPX1/ZH7lMcwrK5pl+ZkP/xoSpUzg9YC8R+evRCCiSQ7yyrvEyBsMnfZq4eBzLzBlugMyTAf13+pzg== +"@shikijs/langs@^3.19.0": + version "3.19.0" + resolved "https://registry.yarnpkg.com/@shikijs/langs/-/langs-3.19.0.tgz#2fa46ae329ec5e88f36fd0167518e0013ab2e49a" + integrity sha512-dBMFzzg1QiXqCVQ5ONc0z2ebyoi5BKz+MtfByLm0o5/nbUu3Iz8uaTCa5uzGiscQKm7lVShfZHU1+OG3t5hgwg== dependencies: - "@shikijs/types" "3.14.0" + "@shikijs/types" "3.19.0" -"@shikijs/themes@^3.14.0": - version "3.14.0" - resolved "https://registry.yarnpkg.com/@shikijs/themes/-/themes-3.14.0.tgz#2b516c19caf63f78f81f5df9c087800c3b2c7404" - integrity sha512-fAo/OnfWckNmv4uBoUu6dSlkcBc+SA1xzj5oUSaz5z3KqHtEbUypg/9xxgJARtM6+7RVm0Q6Xnty41xA1ma1IA== +"@shikijs/themes@^3.19.0": + version "3.19.0" + resolved "https://registry.yarnpkg.com/@shikijs/themes/-/themes-3.19.0.tgz#9db4f2b57fac84e266e4fd1ada02df9c5e0102af" + integrity sha512-H36qw+oh91Y0s6OlFfdSuQ0Ld+5CgB/VE6gNPK+Hk4VRbVG/XQgkjnt4KzfnnoO6tZPtKJKHPjwebOCfjd6F8A== dependencies: - "@shikijs/types" "3.14.0" + "@shikijs/types" "3.19.0" -"@shikijs/types@3.14.0", "@shikijs/types@^3.14.0": - version "3.14.0" - resolved "https://registry.yarnpkg.com/@shikijs/types/-/types-3.14.0.tgz#4e666f8d31e319494daf23efcc19a32a5fdaa341" - integrity sha512-bQGgC6vrY8U/9ObG1Z/vTro+uclbjjD/uG58RvfxKZVD5p9Yc1ka3tVyEFy7BNJLzxuWyHH5NWynP9zZZS59eQ== +"@shikijs/types@3.19.0", "@shikijs/types@^3.19.0": + version "3.19.0" + resolved "https://registry.yarnpkg.com/@shikijs/types/-/types-3.19.0.tgz#46fdd08d67a8920473788c3cb6b07cbdf20f6b6f" + integrity sha512-Z2hdeEQlzuntf/BZpFG8a+Fsw9UVXdML7w0o3TgSXV3yNESGon+bs9ITkQb3Ki7zxoXOOu5oJWqZ2uto06V9iQ== dependencies: "@shikijs/vscode-textmate" "^10.0.2" "@types/hast" "^3.0.4" @@ -908,9 +887,9 @@ integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== "@types/node@*": - version "24.10.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-24.10.0.tgz#6b79086b0dfc54e775a34ba8114dcc4e0221f31f" - integrity sha512-qzQZRBqkFsYyaSWXuEHc2WR9c0a0CXwiE5FWUvn7ZM+vdy1uZLfCunD38UzhuB7YN/J11ndbDBcTmOdxJo9Q7A== + version "24.10.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-24.10.1.tgz#91e92182c93db8bd6224fca031e2370cef9a8f01" + integrity sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ== dependencies: undici-types "~7.16.0" @@ -947,108 +926,106 @@ integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== "@types/yargs@^17.0.8": - version "17.0.34" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.34.tgz#1c2f9635b71d5401827373a01ce2e8a7670ea839" - integrity sha512-KExbHVa92aJpw9WDQvzBaGVE2/Pz+pLZQloT2hjL8IqsZnV62rlPOYvNnLmf/L2dyllfVUOVBj64M0z/46eR2A== + version "17.0.35" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.35.tgz#07013e46aa4d7d7d50a49e15604c1c5340d4eb24" + integrity sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg== dependencies: "@types/yargs-parser" "*" "@typescript-eslint/eslint-plugin@^8.38.0": - version "8.46.3" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.46.3.tgz#6f7aeaf9f5c611425db9b8f983e8d3fe5deece3c" - integrity sha512-sbaQ27XBUopBkRiuY/P9sWGOWUW4rl8fDoHIUmLpZd8uldsTyB4/Zg6bWTegPoTLnKj9Hqgn3QD6cjPNB32Odw== + version "8.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.49.0.tgz#8ed8736b8415a9193989220eadb6031dbcd2260a" + integrity sha512-JXij0vzIaTtCwu6SxTh8qBc66kmf1xs7pI4UOiMDFVct6q86G0Zs7KRcEoJgY3Cav3x5Tq0MF5jwgpgLqgKG3A== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.46.3" - "@typescript-eslint/type-utils" "8.46.3" - "@typescript-eslint/utils" "8.46.3" - "@typescript-eslint/visitor-keys" "8.46.3" - graphemer "^1.4.0" + "@typescript-eslint/scope-manager" "8.49.0" + "@typescript-eslint/type-utils" "8.49.0" + "@typescript-eslint/utils" "8.49.0" + "@typescript-eslint/visitor-keys" "8.49.0" ignore "^7.0.0" natural-compare "^1.4.0" ts-api-utils "^2.1.0" "@typescript-eslint/parser@^8.38.0": - version "8.46.3" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.46.3.tgz#3badfb62d2e2dc733d02a038073e3f65f2cb833d" - integrity sha512-6m1I5RmHBGTnUGS113G04DMu3CpSdxCAU/UvtjNWL4Nuf3MW9tQhiJqRlHzChIkhy6kZSAQmc+I1bcGjE3yNKg== - dependencies: - "@typescript-eslint/scope-manager" "8.46.3" - "@typescript-eslint/types" "8.46.3" - "@typescript-eslint/typescript-estree" "8.46.3" - "@typescript-eslint/visitor-keys" "8.46.3" + version "8.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.49.0.tgz#0ede412d59e99239b770f0f08c76c42fba717fa2" + integrity sha512-N9lBGA9o9aqb1hVMc9hzySbhKibHmB+N3IpoShyV6HyQYRGIhlrO5rQgttypi+yEeKsKI4idxC8Jw6gXKD4THA== + dependencies: + "@typescript-eslint/scope-manager" "8.49.0" + "@typescript-eslint/types" "8.49.0" + "@typescript-eslint/typescript-estree" "8.49.0" + "@typescript-eslint/visitor-keys" "8.49.0" debug "^4.3.4" -"@typescript-eslint/project-service@8.46.3": - version "8.46.3" - resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.46.3.tgz#4555c685407ea829081218fa033d7b032607aaef" - integrity sha512-Fz8yFXsp2wDFeUElO88S9n4w1I4CWDTXDqDr9gYvZgUpwXQqmZBr9+NTTql5R3J7+hrJZPdpiWaB9VNhAKYLuQ== +"@typescript-eslint/project-service@8.49.0": + version "8.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.49.0.tgz#ce220525c88cb2d23792b391c07e14cb9697651a" + integrity sha512-/wJN0/DKkmRUMXjZUXYZpD1NEQzQAAn9QWfGwo+Ai8gnzqH7tvqS7oNVdTjKqOcPyVIdZdyCMoqN66Ia789e7g== dependencies: - "@typescript-eslint/tsconfig-utils" "^8.46.3" - "@typescript-eslint/types" "^8.46.3" + "@typescript-eslint/tsconfig-utils" "^8.49.0" + "@typescript-eslint/types" "^8.49.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@8.46.3": - version "8.46.3" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.46.3.tgz#2e330f566e135ccac13477b98dd88d8f176e4dff" - integrity sha512-FCi7Y1zgrmxp3DfWfr+3m9ansUUFoy8dkEdeQSgA9gbm8DaHYvZCdkFRQrtKiedFf3Ha6VmoqoAaP68+i+22kg== +"@typescript-eslint/scope-manager@8.49.0": + version "8.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.49.0.tgz#a3496765b57fb48035d671174552e462e5bffa63" + integrity sha512-npgS3zi+/30KSOkXNs0LQXtsg9ekZ8OISAOLGWA/ZOEn0ZH74Ginfl7foziV8DT+D98WfQ5Kopwqb/PZOaIJGg== dependencies: - "@typescript-eslint/types" "8.46.3" - "@typescript-eslint/visitor-keys" "8.46.3" + "@typescript-eslint/types" "8.49.0" + "@typescript-eslint/visitor-keys" "8.49.0" -"@typescript-eslint/tsconfig-utils@8.46.3", "@typescript-eslint/tsconfig-utils@^8.46.3": - version "8.46.3" - resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.46.3.tgz#cad33398c762c97fe56a8defda00c16505abefa3" - integrity sha512-GLupljMniHNIROP0zE7nCcybptolcH8QZfXOpCfhQDAdwJ/ZTlcaBOYebSOZotpti/3HrHSw7D3PZm75gYFsOA== +"@typescript-eslint/tsconfig-utils@8.49.0", "@typescript-eslint/tsconfig-utils@^8.49.0": + version "8.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.49.0.tgz#857777c8e35dd1e564505833d8043f544442fbf4" + integrity sha512-8prixNi1/6nawsRYxet4YOhnbW+W9FK/bQPxsGB1D3ZrDzbJ5FXw5XmzxZv82X3B+ZccuSxo/X8q9nQ+mFecWA== -"@typescript-eslint/type-utils@8.46.3": - version "8.46.3" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.46.3.tgz#71188df833d7697ecff256cd1d3889a20552d78c" - integrity sha512-ZPCADbr+qfz3aiTTYNNkCbUt+cjNwI/5McyANNrFBpVxPt7GqpEYz5ZfdwuFyGUnJ9FdDXbGODUu6iRCI6XRXw== +"@typescript-eslint/type-utils@8.49.0": + version "8.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.49.0.tgz#d8118a0c1896a78a22f01d3c176e9945409b085b" + integrity sha512-KTExJfQ+svY8I10P4HdxKzWsvtVnsuCifU5MvXrRwoP2KOlNZ9ADNEWWsQTJgMxLzS5VLQKDjkCT/YzgsnqmZg== dependencies: - "@typescript-eslint/types" "8.46.3" - "@typescript-eslint/typescript-estree" "8.46.3" - "@typescript-eslint/utils" "8.46.3" + "@typescript-eslint/types" "8.49.0" + "@typescript-eslint/typescript-estree" "8.49.0" + "@typescript-eslint/utils" "8.49.0" debug "^4.3.4" ts-api-utils "^2.1.0" -"@typescript-eslint/types@8.46.3", "@typescript-eslint/types@^8.46.3": - version "8.46.3" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.46.3.tgz#da05ea40e91359b4275dbb3a489f2f7907a02245" - integrity sha512-G7Ok9WN/ggW7e/tOf8TQYMaxgID3Iujn231hfi0Pc7ZheztIJVpO44ekY00b7akqc6nZcvregk0Jpah3kep6hA== +"@typescript-eslint/types@8.49.0", "@typescript-eslint/types@^8.49.0": + version "8.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.49.0.tgz#c1bd3ebf956d9e5216396349ca23c58d74f06aee" + integrity sha512-e9k/fneezorUo6WShlQpMxXh8/8wfyc+biu6tnAqA81oWrEic0k21RHzP9uqqpyBBeBKu4T+Bsjy9/b8u7obXQ== -"@typescript-eslint/typescript-estree@8.46.3": - version "8.46.3" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.46.3.tgz#c12406afba707f9779ce0c0151a08c33b3a96d41" - integrity sha512-f/NvtRjOm80BtNM5OQtlaBdM5BRFUv7gf381j9wygDNL+qOYSNOgtQ/DCndiYi80iIOv76QqaTmp4fa9hwI0OA== +"@typescript-eslint/typescript-estree@8.49.0": + version "8.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.49.0.tgz#99c5a53275197ccb4e849786dad68344e9924135" + integrity sha512-jrLdRuAbPfPIdYNppHJ/D0wN+wwNfJ32YTAm10eJVsFmrVpXQnDWBn8niCSMlWjvml8jsce5E/O+86IQtTbJWA== dependencies: - "@typescript-eslint/project-service" "8.46.3" - "@typescript-eslint/tsconfig-utils" "8.46.3" - "@typescript-eslint/types" "8.46.3" - "@typescript-eslint/visitor-keys" "8.46.3" + "@typescript-eslint/project-service" "8.49.0" + "@typescript-eslint/tsconfig-utils" "8.49.0" + "@typescript-eslint/types" "8.49.0" + "@typescript-eslint/visitor-keys" "8.49.0" debug "^4.3.4" - fast-glob "^3.3.2" - is-glob "^4.0.3" minimatch "^9.0.4" semver "^7.6.0" + tinyglobby "^0.2.15" ts-api-utils "^2.1.0" -"@typescript-eslint/utils@8.46.3": - version "8.46.3" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.46.3.tgz#b6c7994b7c1ee2fe338ab32f7b3d4424856a73ce" - integrity sha512-VXw7qmdkucEx9WkmR3ld/u6VhRyKeiF1uxWwCy/iuNfokjJ7VhsgLSOTjsol8BunSw190zABzpwdNsze2Kpo4g== +"@typescript-eslint/utils@8.49.0": + version "8.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.49.0.tgz#43b3b91d30afd6f6114532cf0b228f1790f43aff" + integrity sha512-N3W7rJw7Rw+z1tRsHZbK395TWSYvufBXumYtEGzypgMUthlg0/hmCImeA8hgO2d2G4pd7ftpxxul2J8OdtdaFA== dependencies: "@eslint-community/eslint-utils" "^4.7.0" - "@typescript-eslint/scope-manager" "8.46.3" - "@typescript-eslint/types" "8.46.3" - "@typescript-eslint/typescript-estree" "8.46.3" + "@typescript-eslint/scope-manager" "8.49.0" + "@typescript-eslint/types" "8.49.0" + "@typescript-eslint/typescript-estree" "8.49.0" -"@typescript-eslint/visitor-keys@8.46.3": - version "8.46.3" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.46.3.tgz#6811b15053501981059c58e1c01b39242bd5c0f6" - integrity sha512-uk574k8IU0rOF/AjniX8qbLSGURJVUCeM5e4MIMKBFFi8weeiLrG1fyQejyLXQpRZbU/1BuQasleV/RfHC3hHg== +"@typescript-eslint/visitor-keys@8.49.0": + version "8.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.49.0.tgz#8e450cc502c0d285cad9e84d400cf349a85ced6c" + integrity sha512-LlKaciDe3GmZFphXIc79THF/YYBugZ7FS1pO581E/edlVVNbZKDy93evqmrfQ9/Y4uN0vVhX4iuchq26mK/iiA== dependencies: - "@typescript-eslint/types" "8.46.3" + "@typescript-eslint/types" "8.49.0" eslint-visitor-keys "^4.2.1" "@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1": @@ -1325,9 +1302,9 @@ asynckit@^0.4.0: integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== "auth0-legacy@npm:auth0@^4.27.0": - version "4.35.0" - resolved "https://registry.yarnpkg.com/auth0/-/auth0-4.35.0.tgz#57fffad73edeacbb94dbda0aa4385eef3eea3591" - integrity sha512-sERgoXej8bj42quqyPh1IAGYUzoDEaILJW6ALJ+1ANUsAMotAxKsdeG6XVTj03b9nn6Pest1DgfM7T9pcYTQjQ== + version "4.37.0" + resolved "https://registry.yarnpkg.com/auth0/-/auth0-4.37.0.tgz#828d91d254926579e0fff5b6c060988c5631436f" + integrity sha512-+TqJRxh4QvbD4TQIYx1ak2vanykQkG/nIZLuR6o8LoQj425gjVG3tFuUbbOeh/nCpP1rnvU0CCV1ChZHYXLU/A== dependencies: jose "^4.13.2" undici-types "^6.15.0" @@ -1401,10 +1378,10 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -baseline-browser-mapping@^2.8.19: - version "2.8.23" - resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.8.23.tgz#cd43e17eff5cbfb67c92153e7fe856cf6d426421" - integrity sha512-616V5YX4bepJFzNyOfce5Fa8fDJMfoxzOIzDCZwaGL8MKVpFrXqfNUoIpRn9YMI5pXf/VKgzjB4htFMsFKKdiQ== +baseline-browser-mapping@^2.9.0: + version "2.9.5" + resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.9.5.tgz#47f9549e0be1a84cd16651ac4c3b7d87a71408e6" + integrity sha512-D5vIoztZOq1XM54LUdttJVc96ggEsIfju2JBvht06pSzpckp3C7HReun67Bghzrtdsq9XdMGbSSB3v3GhMNmAA== brace-expansion@^1.1.7: version "1.1.12" @@ -1429,15 +1406,15 @@ braces@^3.0.3: fill-range "^7.1.1" browserslist@^4.24.0, browserslist@^4.26.3: - version "4.27.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.27.0.tgz#755654744feae978fbb123718b2f139bc0fa6697" - integrity sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw== + version "4.28.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.28.1.tgz#7f534594628c53c63101079e27e40de490456a95" + integrity sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA== dependencies: - baseline-browser-mapping "^2.8.19" - caniuse-lite "^1.0.30001751" - electron-to-chromium "^1.5.238" - node-releases "^2.0.26" - update-browserslist-db "^1.1.4" + baseline-browser-mapping "^2.9.0" + caniuse-lite "^1.0.30001759" + electron-to-chromium "^1.5.263" + node-releases "^2.0.27" + update-browserslist-db "^1.2.0" bs-logger@^0.2.6: version "0.2.6" @@ -1481,10 +1458,10 @@ camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001751: - version "1.0.30001753" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001753.tgz#419f8fc9bab6f1a1d10d9574d0b3374f823c5b00" - integrity sha512-Bj5H35MD/ebaOV4iDLqPEtiliTN29qkGtEHCwawWn4cYm+bPJM2NsaP30vtZcnERClMzp52J4+aw2UNbK4o+zw== +caniuse-lite@^1.0.30001759: + version "1.0.30001759" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001759.tgz#d569e7b010372c6b0ca3946e30dada0a2e9d5006" + integrity sha512-Pzfx9fOKoKvevQf8oCXoyNRQ5QyxJj+3O0Rqx2V5oxT61KGx8+n6hV/IUyJeifUci2clnmmKVpvtiqRzgiWjSw== chalk@^4.0.0, chalk@^4.1.0: version "4.1.2" @@ -1577,7 +1554,7 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" -commander@^14.0.1: +commander@^14.0.2: version "14.0.2" resolved "https://registry.yarnpkg.com/commander/-/commander-14.0.2.tgz#b71fd37fe4069e4c3c7c13925252ada4eba14e8e" integrity sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ== @@ -1708,10 +1685,10 @@ dunder-proto@^1.0.1: es-errors "^1.3.0" gopd "^1.2.0" -electron-to-chromium@^1.5.238: - version "1.5.244" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.244.tgz#b9b61e3d24ef4203489951468614f2a360763820" - integrity sha512-OszpBN7xZX4vWMPJwB9illkN/znA8M36GQqQxi6MNy9axWxhOfJyZZJtSLQCpEFLHP2xK33BiWx9aIuIEXVCcw== +electron-to-chromium@^1.5.263: + version "1.5.267" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz#5d84f2df8cdb6bfe7e873706bb21bd4bfb574dc7" + integrity sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw== emittery@^0.13.1: version "0.13.1" @@ -1989,17 +1966,6 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== -fast-glob@^3.3.2: - version "3.3.3" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" - integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.8" - fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" @@ -2015,13 +1981,6 @@ fast-uri@^3.0.1: resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.0.tgz#66eecff6c764c0df9b762e62ca7edcfb53b4edfa" integrity sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA== -fastq@^1.6.0: - version "1.19.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5" - integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ== - dependencies: - reusify "^1.0.4" - fb-watchman@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" @@ -2029,6 +1988,11 @@ fb-watchman@^2.0.0: dependencies: bser "2.1.1" +fdir@^6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350" + integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== + file-entry-cache@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" @@ -2073,9 +2037,9 @@ flatted@^3.2.9: integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg== form-data@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.4.tgz#784cdcce0669a9d68e94d11ac4eea98088edd2c4" - integrity sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow== + version "4.0.5" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.5.tgz#b49e48858045ff4cbf6b03e1805cebcad3679053" + integrity sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w== dependencies: asynckit "^0.4.0" combined-stream "^1.0.8" @@ -2147,13 +2111,6 @@ get-stream@^6.0.0: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== -glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - glob-parent@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" @@ -2193,11 +2150,6 @@ graceful-fs@^4.1.2, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.9: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - graphql@^16.8.1: version "16.12.0" resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.12.0.tgz#28cc2462435b1ac3fdc6976d030cef83a0c13ac7" @@ -2368,7 +2320,7 @@ is-generator-fn@^2.0.0: resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: +is-glob@^4.0.0, is-glob@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== @@ -2845,17 +2797,17 @@ js-tokens@^4.0.0: integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + version "3.14.2" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.2.tgz#77485ce1dd7f33c061fd1b16ecea23b55fcb04b0" + integrity sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg== dependencies: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== +js-yaml@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.1.tgz#854c292467705b699476e1a2decc0c8a3458806b" + integrity sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA== dependencies: argparse "^2.0.1" @@ -2969,11 +2921,11 @@ linkify-it@^5.0.0: uc.micro "^2.0.0" lint-staged@^16.1.4: - version "16.2.6" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-16.2.6.tgz#760675e80f4b53337083d3f8bdecdd1f88079bf5" - integrity sha512-s1gphtDbV4bmW1eylXpVMk2u7is7YsrLl8hzrtvC70h4ByhcMLZFY01Fx05ZUDNuv1H8HO4E+e2zgejV1jVwNw== + version "16.2.7" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-16.2.7.tgz#c4a635960c17b52fe774f1f40aee8ce1bd86531f" + integrity sha512-lDIj4RnYmK7/kXMya+qJsmkRFkGolciXjrsZ6PC25GdTfWOAWetR0ZbsNXRAj1EHHImRSalc+whZFg56F5DVow== dependencies: - commander "^14.0.1" + commander "^14.0.2" listr2 "^9.0.5" micromatch "^4.0.8" nano-spawn "^2.0.0" @@ -2993,7 +2945,7 @@ listr2@^9.0.5: rfdc "^1.4.1" wrap-ansi "^9.0.0" -loader-runner@^4.2.0: +loader-runner@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.1.tgz#6c76ed29b0ccce9af379208299f07f876de737e3" integrity sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q== @@ -3091,11 +3043,6 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - micromatch@^4.0.0, micromatch@^4.0.4, micromatch@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" @@ -3214,7 +3161,7 @@ node-int64@^0.4.0: resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== -node-releases@^2.0.26: +node-releases@^2.0.27: version "2.0.27" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.27.tgz#eedca519205cf20f650f61d56b070db111231e4e" integrity sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA== @@ -3232,9 +3179,9 @@ npm-run-path@^4.0.1: path-key "^3.0.0" nwsapi@^2.2.2: - version "2.2.22" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.22.tgz#109f9530cda6c156d6a713cdf5939e9f0de98b9d" - integrity sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ== + version "2.2.23" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.23.tgz#59712c3a88e6de2bb0b6ccc1070397267019cf6c" + integrity sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ== once@^1.3.0: version "1.4.0" @@ -3308,9 +3255,9 @@ p-try@^2.0.0: integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== package-manager-detector@^1.3.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/package-manager-detector/-/package-manager-detector-1.5.0.tgz#8dcf7b78554047ddf5da453e6ba07ebc915c507e" - integrity sha512-uBj69dVlYe/+wxj8JOpr97XfsxH/eumMt6HqjNTmJDf/6NO9s+0uxeOneIz3AsPt2m6y9PqzDzd3ATcU17MNfw== + version "1.6.0" + resolved "https://registry.yarnpkg.com/package-manager-detector/-/package-manager-detector-1.6.0.tgz#70d0cf0aa02c877eeaf66c4d984ede0be9130734" + integrity sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA== parent-module@^1.0.0: version "1.0.1" @@ -3371,6 +3318,11 @@ picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +picomatch@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.3.tgz#796c76136d1eead715db1e7bad785dedd695a042" + integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q== + pidtree@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" @@ -3464,11 +3416,6 @@ querystringify@^2.1.1: resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -3540,23 +3487,11 @@ rettime@^0.7.0: resolved "https://registry.yarnpkg.com/rettime/-/rettime-0.7.0.tgz#c040f1a65e396eaa4b8346dd96ed937edc79d96f" integrity sha512-LPRKoHnLKd/r3dVxcwO7vhCW+orkOGj9ViueosEBK6ie89CijnfRlhaDhHq/3Hxu4CkWQtxwlBG0mzTQY6uQjw== -reusify@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f" - integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== - rfdc@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca" integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - sade@^1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701" @@ -3801,9 +3736,9 @@ tapable@^2.2.0, tapable@^2.3.0: integrity sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg== terser-webpack-plugin@^5.3.11: - version "5.3.14" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz#9031d48e57ab27567f02ace85c7d690db66c3e06" - integrity sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw== + version "5.3.15" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.15.tgz#0a26860b765eaffa8e840170aabc5b3a3f6f6bb9" + integrity sha512-PGkOdpRFK+rb1TzVz+msVhw4YMRT9txLF4kRqvJhGhCM324xuR3REBSHALN+l+sAhKUmz0aotnjp5D+P83mLhQ== dependencies: "@jridgewell/trace-mapping" "^0.3.25" jest-worker "^27.4.5" @@ -3812,9 +3747,9 @@ terser-webpack-plugin@^5.3.11: terser "^5.31.1" terser@^5.31.1: - version "5.44.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.44.0.tgz#ebefb8e5b8579d93111bfdfc39d2cf63879f4a82" - integrity sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w== + version "5.44.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.44.1.tgz#e391e92175c299b8c284ad6ded609e37303b0a9c" + integrity sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.15.0" @@ -3830,17 +3765,25 @@ test-exclude@^6.0.0: glob "^7.1.4" minimatch "^3.0.4" -tldts-core@^7.0.17: - version "7.0.17" - resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-7.0.17.tgz#dadfee3750dd272ed219d7367beb7cbb2ff29eb8" - integrity sha512-DieYoGrP78PWKsrXr8MZwtQ7GLCUeLxihtjC1jZsW1DnvSMdKPitJSe8OSYDM2u5H6g3kWJZpePqkp43TfLh0g== +tinyglobby@^0.2.15: + version "0.2.15" + resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.15.tgz#e228dd1e638cea993d2fdb4fcd2d4602a79951c2" + integrity sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ== + dependencies: + fdir "^6.5.0" + picomatch "^4.0.3" + +tldts-core@^7.0.19: + version "7.0.19" + resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-7.0.19.tgz#9dd8a457a09b4e65c8266c029f1847fa78dead20" + integrity sha512-lJX2dEWx0SGH4O6p+7FPwYmJ/bu1JbcGJ8RLaG9b7liIgZ85itUVEPbMtWRVrde/0fnDPEPHW10ZsKW3kVsE9A== tldts@^7.0.5: - version "7.0.17" - resolved "https://registry.yarnpkg.com/tldts/-/tldts-7.0.17.tgz#a6cdc067b9e80ea05f3be471c0ea410688cc78b2" - integrity sha512-Y1KQBgDd/NUc+LfOtKS6mNsC9CCaH+m2P1RoIZy7RAPo3C3/t8X45+zgut31cRZtZ3xKPjfn3TkGTrctC2TQIQ== + version "7.0.19" + resolved "https://registry.yarnpkg.com/tldts/-/tldts-7.0.19.tgz#84cd7a7f04e68ec93b93b106fac038c527b99368" + integrity sha512-8PWx8tvC4jDB39BQw1m4x8y5MH1BcQ5xHeL2n7UVFulMPH/3Q0uiamahFJ3lXA0zO2SUyRXuVVbWSDmstlt9YA== dependencies: - tldts-core "^7.0.17" + tldts-core "^7.0.19" tmpl@1.0.5: version "1.0.5" @@ -3884,9 +3827,9 @@ ts-api-utils@^2.1.0: integrity sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ== ts-jest@^29.3.4: - version "29.4.5" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.4.5.tgz#a6b0dc401e521515d5342234be87f1ca96390a6f" - integrity sha512-HO3GyiWn2qvTQA4kTgjDcXiMwYQt68a1Y8+JuLRVpdIzm+UOLSHgl/XqR4c6nzJkq5rOkjc02O2I7P7l/Yof0Q== + version "29.4.6" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.4.6.tgz#51cb7c133f227396818b71297ad7409bb77106e9" + integrity sha512-fSpWtOO/1AjSNQguk43hb/JCo16oJDnMJf3CdEGNkqsEX3t0KX96xvyX1D7PfLCpVoKu4MfVrqUkFyblYoY4lA== dependencies: bs-logger "^0.2.6" fast-json-stable-stringify "^2.1.0" @@ -3937,11 +3880,11 @@ typedoc-plugin-missing-exports@^4.0.0: integrity sha512-WNoeWX9+8X3E3riuYPduilUTFefl1K+Z+5bmYqNeH5qcWjtnTRMbRzGdEQ4XXn1WEO4WCIlU0vf46Ca2y/mspg== typedoc@^0.28.7: - version "0.28.14" - resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.28.14.tgz#f48d650efc983b5cb3034b3b0e986b1702074326" - integrity sha512-ftJYPvpVfQvFzpkoSfHLkJybdA/geDJ8BGQt/ZnkkhnBYoYW6lBgPQXu6vqLxO4X75dA55hX8Af847H5KXlEFA== + version "0.28.15" + resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.28.15.tgz#667faf77eb934deb935fbfd5108a6de5f953948f" + integrity sha512-mw2/2vTL7MlT+BVo43lOsufkkd2CJO4zeOSuWQQsiXoV2VuEn7f6IZp2jsUDPmBMABpgR0R5jlcJ2OGEFYmkyg== dependencies: - "@gerrit0/mini-shiki" "^3.12.0" + "@gerrit0/mini-shiki" "^3.17.0" lunr "^2.3.9" markdown-it "^14.1.0" minimatch "^9.0.5" @@ -3987,10 +3930,10 @@ universalify@^0.2.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== -update-browserslist-db@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz#7802aa2ae91477f255b86e0e46dbc787a206ad4a" - integrity sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A== +update-browserslist-db@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.2.2.tgz#cfb4358afa08b3d5731a2ecd95eebf4ddef8033e" + integrity sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA== dependencies: escalade "^3.2.0" picocolors "^1.1.1" @@ -4062,9 +4005,9 @@ webpack-sources@^3.3.3: integrity sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg== webpack@^5.97.1: - version "5.102.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.102.1.tgz#1003a3024741a96ba99c37431938bf61aad3d988" - integrity sha512-7h/weGm9d/ywQ6qzJ+Xy+r9n/3qgp/thalBbpOi5i223dPXKi04IBtqPN9nTd+jBc7QKfvDbaBnFipYp4sJAUQ== + version "5.103.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.103.0.tgz#17a7c5a5020d5a3a37c118d002eade5ee2c6f3da" + integrity sha512-HU1JOuV1OavsZ+mfigY0j8d1TgQgbZ6M+J75zDkpEAwYeXjWSqrGJtgnPblJjd/mAyTNQ7ygw0MiKOn6etz8yw== dependencies: "@types/eslint-scope" "^3.7.7" "@types/estree" "^1.0.8" @@ -4083,7 +4026,7 @@ webpack@^5.97.1: glob-to-regexp "^0.4.1" graceful-fs "^4.2.11" json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" + loader-runner "^4.3.1" mime-types "^2.1.27" neo-async "^2.6.2" schema-utils "^4.3.3" @@ -4195,9 +4138,9 @@ yallist@^3.0.2: integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== yaml@^2.8.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.8.1.tgz#1870aa02b631f7e8328b93f8bc574fac5d6c4d79" - integrity sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw== + version "2.8.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.8.2.tgz#5694f25eca0ce9c3e7a9d9e00ce0ddabbd9e35c5" + integrity sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A== yargs-parser@^21.1.1: version "21.1.1" @@ -4222,7 +4165,7 @@ yocto-queue@^0.1.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== -yoctocolors-cjs@^2.1.2: +yoctocolors-cjs@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz#7e4964ea8ec422b7a40ac917d3a344cfd2304baa" integrity sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==