diff --git a/.fern/metadata.json b/.fern/metadata.json new file mode 100644 index 0000000000..f959b09446 --- /dev/null +++ b/.fern/metadata.json @@ -0,0 +1,87 @@ +{ + "cliVersion": "3.0.3", + "generatorName": "fernapi/fern-typescript-sdk", + "generatorVersion": "3.35.9", + "generatorConfig": { + "packagePath": "src/management", + "namespaceExport": "Management", + "allowCustomFetcher": true, + "omitFernHeaders": true, + "exportAllRequestsAtRoot": true, + "useDefaultRequestParameterValues": true, + "consolidateTypeFiles": true, + "offsetSemantics": "page-index", + "linter": "none", + "formatter": "prettier", + "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/package.json b/package.json index 02783cc7f0..ab6371a0a3 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", @@ -50,9 +50,9 @@ "format:check": "prettier . --check --ignore-unknown", "lint": "eslint . --ext .js,.ts,.tsx", "lint:fix": "eslint . --ext .js,.ts,.tsx --fix", - "check": "yarn format:check && yarn lint", - "check:fix": "yarn format && yarn lint:fix", - "build": "yarn build:cjs && yarn build:esm", + "check": "pnpm format:check && pnpm lint", + "check:fix": "pnpm format && pnpm lint:fix", + "build": "pnpm build:cjs && pnpm build:esm", "build:cjs": "tsc --project ./tsconfig.cjs.json", "build:esm": "tsc --project ./tsconfig.esm.json && node scripts/rename-to-esm-files.js dist/esm", "test": "jest --config jest.config.mjs", @@ -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", @@ -103,7 +108,7 @@ "path": false, "stream": false }, - "packageManager": "yarn@1.22.22", + "packageManager": "pnpm@10.20.0", "engines": { "node": "^20.19.0 || ^22.12.0 || ^24.0.0" }, @@ -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/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000000..334aa3e2a4 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,6749 @@ +lockfileVersion: "9.0" + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + .: + dependencies: + auth0-legacy: + specifier: npm:auth0@^4.27.0 + version: auth0@4.37.0 + jose: + specifier: ^4.13.2 + version: 4.15.9 + uuid: + specifier: ^11.1.0 + version: 11.1.0 + devDependencies: + "@eslint/js": + specifier: ^9.32.0 + version: 9.39.1 + "@jest/globals": + specifier: ^29.7.0 + version: 29.7.0 + "@types/jest": + specifier: ^29.5.14 + version: 29.5.14 + "@types/node": + specifier: ^18.19.70 + version: 18.19.130 + "@typescript-eslint/eslint-plugin": + specifier: ^8.38.0 + version: 8.48.1(@typescript-eslint/parser@8.48.1(eslint@9.39.1)(typescript@5.7.3))(eslint@9.39.1)(typescript@5.7.3) + "@typescript-eslint/parser": + specifier: ^8.38.0 + version: 8.48.1(eslint@9.39.1)(typescript@5.7.3) + eslint: + specifier: ^9.32.0 + version: 9.39.1 + eslint-config-prettier: + specifier: ^10.1.8 + version: 10.1.8(eslint@9.39.1) + eslint-plugin-prettier: + specifier: ^5.5.3 + version: 5.5.4(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.1))(eslint@9.39.1)(prettier@3.4.2) + husky: + specifier: ^9.1.7 + version: 9.1.7 + jest: + specifier: ^29.7.0 + version: 29.7.0(@types/node@18.19.130) + jest-environment-jsdom: + specifier: ^29.7.0 + version: 29.7.0 + lint-staged: + specifier: ^16.1.4 + version: 16.2.7 + msw: + specifier: 2.11.2 + version: 2.11.2(@types/node@18.19.130)(typescript@5.7.3) + nock: + specifier: ^14.0.6 + version: 14.0.10 + prettier: + specifier: 3.4.2 + version: 3.4.2 + publint: + specifier: ^0.3.12 + version: 0.3.15 + ts-jest: + specifier: ^29.3.4 + version: 29.4.6(@babel/core@7.28.5)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.28.5))(jest-util@29.7.0)(jest@29.7.0(@types/node@18.19.130))(typescript@5.7.3) + ts-loader: + specifier: ^9.5.1 + version: 9.5.4(typescript@5.7.3)(webpack@5.103.0) + typedoc: + specifier: ^0.28.7 + version: 0.28.15(typescript@5.7.3) + typedoc-plugin-missing-exports: + specifier: ^4.0.0 + version: 4.1.2(typedoc@0.28.15(typescript@5.7.3)) + typescript: + specifier: ~5.7.2 + version: 5.7.3 + undici: + specifier: ^7.12.0 + version: 7.16.0 + webpack: + specifier: ^5.97.1 + version: 5.103.0 + +packages: + "@babel/code-frame@7.27.1": + resolution: + { + integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==, + } + engines: { node: ">=6.9.0" } + + "@babel/compat-data@7.28.5": + resolution: + { + integrity: sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==, + } + engines: { node: ">=6.9.0" } + + "@babel/core@7.28.5": + resolution: + { + integrity: sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==, + } + engines: { node: ">=6.9.0" } + + "@babel/generator@7.28.5": + resolution: + { + integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==, + } + engines: { node: ">=6.9.0" } + + "@babel/helper-compilation-targets@7.27.2": + resolution: + { + integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==, + } + engines: { node: ">=6.9.0" } + + "@babel/helper-globals@7.28.0": + resolution: + { + integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==, + } + engines: { node: ">=6.9.0" } + + "@babel/helper-module-imports@7.27.1": + resolution: + { + integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==, + } + engines: { node: ">=6.9.0" } + + "@babel/helper-module-transforms@7.28.3": + resolution: + { + integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==, + } + engines: { node: ">=6.9.0" } + peerDependencies: + "@babel/core": ^7.0.0 + + "@babel/helper-plugin-utils@7.27.1": + resolution: + { + integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==, + } + engines: { node: ">=6.9.0" } + + "@babel/helper-string-parser@7.27.1": + resolution: + { + integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==, + } + engines: { node: ">=6.9.0" } + + "@babel/helper-validator-identifier@7.28.5": + resolution: + { + integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==, + } + engines: { node: ">=6.9.0" } + + "@babel/helper-validator-option@7.27.1": + resolution: + { + integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==, + } + engines: { node: ">=6.9.0" } + + "@babel/helpers@7.28.4": + resolution: + { + integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==, + } + engines: { node: ">=6.9.0" } + + "@babel/parser@7.28.5": + resolution: + { + integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==, + } + engines: { node: ">=6.0.0" } + hasBin: true + + "@babel/plugin-syntax-async-generators@7.8.4": + resolution: + { + integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==, + } + peerDependencies: + "@babel/core": ^7.0.0-0 + + "@babel/plugin-syntax-bigint@7.8.3": + resolution: + { + integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==, + } + peerDependencies: + "@babel/core": ^7.0.0-0 + + "@babel/plugin-syntax-class-properties@7.12.13": + resolution: + { + integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==, + } + peerDependencies: + "@babel/core": ^7.0.0-0 + + "@babel/plugin-syntax-class-static-block@7.14.5": + resolution: + { + integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==, + } + engines: { node: ">=6.9.0" } + peerDependencies: + "@babel/core": ^7.0.0-0 + + "@babel/plugin-syntax-import-attributes@7.27.1": + resolution: + { + integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==, + } + engines: { node: ">=6.9.0" } + peerDependencies: + "@babel/core": ^7.0.0-0 + + "@babel/plugin-syntax-import-meta@7.10.4": + resolution: + { + integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==, + } + peerDependencies: + "@babel/core": ^7.0.0-0 + + "@babel/plugin-syntax-json-strings@7.8.3": + resolution: + { + integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==, + } + peerDependencies: + "@babel/core": ^7.0.0-0 + + "@babel/plugin-syntax-jsx@7.27.1": + resolution: + { + integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==, + } + engines: { node: ">=6.9.0" } + peerDependencies: + "@babel/core": ^7.0.0-0 + + "@babel/plugin-syntax-logical-assignment-operators@7.10.4": + resolution: + { + integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==, + } + peerDependencies: + "@babel/core": ^7.0.0-0 + + "@babel/plugin-syntax-nullish-coalescing-operator@7.8.3": + resolution: + { + integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==, + } + peerDependencies: + "@babel/core": ^7.0.0-0 + + "@babel/plugin-syntax-numeric-separator@7.10.4": + resolution: + { + integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==, + } + peerDependencies: + "@babel/core": ^7.0.0-0 + + "@babel/plugin-syntax-object-rest-spread@7.8.3": + resolution: + { + integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==, + } + peerDependencies: + "@babel/core": ^7.0.0-0 + + "@babel/plugin-syntax-optional-catch-binding@7.8.3": + resolution: + { + integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==, + } + peerDependencies: + "@babel/core": ^7.0.0-0 + + "@babel/plugin-syntax-optional-chaining@7.8.3": + resolution: + { + integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==, + } + peerDependencies: + "@babel/core": ^7.0.0-0 + + "@babel/plugin-syntax-private-property-in-object@7.14.5": + resolution: + { + integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==, + } + engines: { node: ">=6.9.0" } + peerDependencies: + "@babel/core": ^7.0.0-0 + + "@babel/plugin-syntax-top-level-await@7.14.5": + resolution: + { + integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==, + } + engines: { node: ">=6.9.0" } + peerDependencies: + "@babel/core": ^7.0.0-0 + + "@babel/plugin-syntax-typescript@7.27.1": + resolution: + { + integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==, + } + engines: { node: ">=6.9.0" } + peerDependencies: + "@babel/core": ^7.0.0-0 + + "@babel/template@7.27.2": + resolution: + { + integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==, + } + engines: { node: ">=6.9.0" } + + "@babel/traverse@7.28.5": + resolution: + { + integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==, + } + engines: { node: ">=6.9.0" } + + "@babel/types@7.28.5": + resolution: + { + integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==, + } + engines: { node: ">=6.9.0" } + + "@bcoe/v8-coverage@0.2.3": + resolution: + { + integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==, + } + + "@bundled-es-modules/cookie@2.0.1": + resolution: + { + integrity: sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==, + } + + "@bundled-es-modules/statuses@1.0.1": + resolution: + { + integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==, + } + + "@eslint-community/eslint-utils@4.9.0": + resolution: + { + integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + "@eslint-community/regexpp@4.12.2": + resolution: + { + integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==, + } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + + "@eslint/config-array@0.21.1": + resolution: + { + integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + "@eslint/config-helpers@0.4.2": + resolution: + { + integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + "@eslint/core@0.17.0": + resolution: + { + integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + "@eslint/eslintrc@3.3.3": + resolution: + { + integrity: sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + "@eslint/js@9.39.1": + resolution: + { + integrity: sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + "@eslint/object-schema@2.1.7": + resolution: + { + integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + "@eslint/plugin-kit@0.4.1": + resolution: + { + integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + "@gerrit0/mini-shiki@3.19.0": + resolution: + { + integrity: sha512-ZSlWfLvr8Nl0T4iA3FF/8VH8HivYF82xQts2DY0tJxZd4wtXJ8AA0nmdW9lmO4hlrh3f9xNwEPtOgqETPqKwDA==, + } + + "@humanfs/core@0.19.1": + resolution: + { + integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==, + } + engines: { node: ">=18.18.0" } + + "@humanfs/node@0.16.7": + resolution: + { + integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==, + } + engines: { node: ">=18.18.0" } + + "@humanwhocodes/module-importer@1.0.1": + resolution: + { + integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, + } + engines: { node: ">=12.22" } + + "@humanwhocodes/retry@0.4.3": + resolution: + { + integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==, + } + engines: { node: ">=18.18" } + + "@inquirer/ansi@1.0.2": + resolution: + { + integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==, + } + engines: { node: ">=18" } + + "@inquirer/confirm@5.1.21": + resolution: + { + integrity: sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==, + } + engines: { node: ">=18" } + peerDependencies: + "@types/node": ">=18" + peerDependenciesMeta: + "@types/node": + optional: true + + "@inquirer/core@10.3.2": + resolution: + { + integrity: sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==, + } + engines: { node: ">=18" } + peerDependencies: + "@types/node": ">=18" + peerDependenciesMeta: + "@types/node": + optional: true + + "@inquirer/figures@1.0.15": + resolution: + { + integrity: sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==, + } + engines: { node: ">=18" } + + "@inquirer/type@3.0.10": + resolution: + { + integrity: sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==, + } + engines: { node: ">=18" } + peerDependencies: + "@types/node": ">=18" + peerDependenciesMeta: + "@types/node": + optional: true + + "@istanbuljs/load-nyc-config@1.1.0": + resolution: + { + integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==, + } + engines: { node: ">=8" } + + "@istanbuljs/schema@0.1.3": + resolution: + { + integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, + } + engines: { node: ">=8" } + + "@jest/console@29.7.0": + resolution: + { + integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + "@jest/core@29.7.0": + resolution: + { + integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + "@jest/environment@29.7.0": + resolution: + { + integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + "@jest/expect-utils@29.7.0": + resolution: + { + integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + "@jest/expect@29.7.0": + resolution: + { + integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + "@jest/fake-timers@29.7.0": + resolution: + { + integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + "@jest/globals@29.7.0": + resolution: + { + integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + "@jest/reporters@29.7.0": + resolution: + { + integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + "@jest/schemas@29.6.3": + resolution: + { + integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + "@jest/source-map@29.6.3": + resolution: + { + integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + "@jest/test-result@29.7.0": + resolution: + { + integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + "@jest/test-sequencer@29.7.0": + resolution: + { + integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + "@jest/transform@29.7.0": + resolution: + { + integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + "@jest/types@29.6.3": + resolution: + { + integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + "@jridgewell/gen-mapping@0.3.13": + resolution: + { + integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==, + } + + "@jridgewell/remapping@2.3.5": + resolution: + { + integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==, + } + + "@jridgewell/resolve-uri@3.1.2": + resolution: + { + integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, + } + engines: { node: ">=6.0.0" } + + "@jridgewell/source-map@0.3.11": + resolution: + { + integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==, + } + + "@jridgewell/sourcemap-codec@1.5.5": + resolution: + { + integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==, + } + + "@jridgewell/trace-mapping@0.3.31": + resolution: + { + integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==, + } + + "@mswjs/interceptors@0.39.8": + resolution: + { + integrity: sha512-2+BzZbjRO7Ct61k8fMNHEtoKjeWI9pIlHFTqBwZ5icHpqszIgEZbjb1MW5Z0+bITTCTl3gk4PDBxs9tA/csXvA==, + } + engines: { node: ">=18" } + + "@open-draft/deferred-promise@2.2.0": + resolution: + { + integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==, + } + + "@open-draft/logger@0.3.0": + resolution: + { + integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==, + } + + "@open-draft/until@2.1.0": + resolution: + { + integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==, + } + + "@pkgr/core@0.2.9": + resolution: + { + integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==, + } + engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } + + "@publint/pack@0.1.2": + resolution: + { + integrity: sha512-S+9ANAvUmjutrshV4jZjaiG8XQyuJIZ8a4utWmN/vW1sgQ9IfBnPndwkmQYw53QmouOIytT874u65HEmu6H5jw==, + } + engines: { node: ">=18" } + + "@shikijs/engine-oniguruma@3.19.0": + resolution: + { + integrity: sha512-1hRxtYIJfJSZeM5ivbUXv9hcJP3PWRo5prG/V2sWwiubUKTa+7P62d2qxCW8jiVFX4pgRHhnHNp+qeR7Xl+6kg==, + } + + "@shikijs/langs@3.19.0": + resolution: + { + integrity: sha512-dBMFzzg1QiXqCVQ5ONc0z2ebyoi5BKz+MtfByLm0o5/nbUu3Iz8uaTCa5uzGiscQKm7lVShfZHU1+OG3t5hgwg==, + } + + "@shikijs/themes@3.19.0": + resolution: + { + integrity: sha512-H36qw+oh91Y0s6OlFfdSuQ0Ld+5CgB/VE6gNPK+Hk4VRbVG/XQgkjnt4KzfnnoO6tZPtKJKHPjwebOCfjd6F8A==, + } + + "@shikijs/types@3.19.0": + resolution: + { + integrity: sha512-Z2hdeEQlzuntf/BZpFG8a+Fsw9UVXdML7w0o3TgSXV3yNESGon+bs9ITkQb3Ki7zxoXOOu5oJWqZ2uto06V9iQ==, + } + + "@shikijs/vscode-textmate@10.0.2": + resolution: + { + integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==, + } + + "@sinclair/typebox@0.27.8": + resolution: + { + integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==, + } + + "@sinonjs/commons@3.0.1": + resolution: + { + integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==, + } + + "@sinonjs/fake-timers@10.3.0": + resolution: + { + integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==, + } + + "@tootallnate/once@2.0.0": + resolution: + { + integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==, + } + engines: { node: ">= 10" } + + "@types/babel__core@7.20.5": + resolution: + { + integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==, + } + + "@types/babel__generator@7.27.0": + resolution: + { + integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==, + } + + "@types/babel__template@7.4.4": + resolution: + { + integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==, + } + + "@types/babel__traverse@7.28.0": + resolution: + { + integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==, + } + + "@types/cookie@0.6.0": + resolution: + { + integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==, + } + + "@types/eslint-scope@3.7.7": + resolution: + { + integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==, + } + + "@types/eslint@9.6.1": + resolution: + { + integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==, + } + + "@types/estree@1.0.8": + resolution: + { + integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==, + } + + "@types/graceful-fs@4.1.9": + resolution: + { + integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==, + } + + "@types/hast@3.0.4": + resolution: + { + integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==, + } + + "@types/istanbul-lib-coverage@2.0.6": + resolution: + { + integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==, + } + + "@types/istanbul-lib-report@3.0.3": + resolution: + { + integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==, + } + + "@types/istanbul-reports@3.0.4": + resolution: + { + integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==, + } + + "@types/jest@29.5.14": + resolution: + { + integrity: sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==, + } + + "@types/jsdom@20.0.1": + resolution: + { + integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==, + } + + "@types/json-schema@7.0.15": + resolution: + { + integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==, + } + + "@types/node@18.19.130": + resolution: + { + integrity: sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==, + } + + "@types/stack-utils@2.0.3": + resolution: + { + integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==, + } + + "@types/statuses@2.0.6": + resolution: + { + integrity: sha512-xMAgYwceFhRA2zY+XbEA7mxYbA093wdiW8Vu6gZPGWy9cmOyU9XesH1tNcEWsKFd5Vzrqx5T3D38PWx1FIIXkA==, + } + + "@types/tough-cookie@4.0.5": + resolution: + { + integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==, + } + + "@types/unist@3.0.3": + resolution: + { + integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==, + } + + "@types/yargs-parser@21.0.3": + resolution: + { + integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==, + } + + "@types/yargs@17.0.35": + resolution: + { + integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==, + } + + "@typescript-eslint/eslint-plugin@8.48.1": + resolution: + { + integrity: sha512-X63hI1bxl5ohelzr0LY5coufyl0LJNthld+abwxpCoo6Gq+hSqhKwci7MUWkXo67mzgUK6YFByhmaHmUcuBJmA==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + peerDependencies: + "@typescript-eslint/parser": ^8.48.1 + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <6.0.0" + + "@typescript-eslint/parser@8.48.1": + resolution: + { + integrity: sha512-PC0PDZfJg8sP7cmKe6L3QIL8GZwU5aRvUFedqSIpw3B+QjRSUZeeITC2M5XKeMXEzL6wccN196iy3JLwKNvDVA==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <6.0.0" + + "@typescript-eslint/project-service@8.48.1": + resolution: + { + integrity: sha512-HQWSicah4s9z2/HifRPQ6b6R7G+SBx64JlFQpgSSHWPKdvCZX57XCbszg/bapbRsOEv42q5tayTYcEFpACcX1w==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + peerDependencies: + typescript: ">=4.8.4 <6.0.0" + + "@typescript-eslint/scope-manager@8.48.1": + resolution: + { + integrity: sha512-rj4vWQsytQbLxC5Bf4XwZ0/CKd362DkWMUkviT7DCS057SK64D5lH74sSGzhI6PDD2HCEq02xAP9cX68dYyg1w==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + "@typescript-eslint/tsconfig-utils@8.48.1": + resolution: + { + integrity: sha512-k0Jhs4CpEffIBm6wPaCXBAD7jxBtrHjrSgtfCjUvPp9AZ78lXKdTR8fxyZO5y4vWNlOvYXRtngSZNSn+H53Jkw==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + peerDependencies: + typescript: ">=4.8.4 <6.0.0" + + "@typescript-eslint/type-utils@8.48.1": + resolution: + { + integrity: sha512-1jEop81a3LrJQLTf/1VfPQdhIY4PlGDBc/i67EVWObrtvcziysbLN3oReexHOM6N3jyXgCrkBsZpqwH0hiDOQg==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <6.0.0" + + "@typescript-eslint/types@8.48.1": + resolution: + { + integrity: sha512-+fZ3LZNeiELGmimrujsDCT4CRIbq5oXdHe7chLiW8qzqyPMnn1puNstCrMNVAqwcl2FdIxkuJ4tOs/RFDBVc/Q==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + "@typescript-eslint/typescript-estree@8.48.1": + resolution: + { + integrity: sha512-/9wQ4PqaefTK6POVTjJaYS0bynCgzh6ClJHGSBj06XEHjkfylzB+A3qvyaXnErEZSaxhIo4YdyBgq6j4RysxDg==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + peerDependencies: + typescript: ">=4.8.4 <6.0.0" + + "@typescript-eslint/utils@8.48.1": + resolution: + { + integrity: sha512-fAnhLrDjiVfey5wwFRwrweyRlCmdz5ZxXz2G/4cLn0YDLjTapmN4gcCsTBR1N2rWnZSDeWpYtgLDsJt+FpmcwA==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <6.0.0" + + "@typescript-eslint/visitor-keys@8.48.1": + resolution: + { + integrity: sha512-BmxxndzEWhE4TIEEMBs8lP3MBWN3jFPs/p6gPm/wkv02o41hI6cq9AuSmGAaTTHPtA1FTi2jBre4A9rm5ZmX+Q==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + "@webassemblyjs/ast@1.14.1": + resolution: + { + integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==, + } + + "@webassemblyjs/floating-point-hex-parser@1.13.2": + resolution: + { + integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==, + } + + "@webassemblyjs/helper-api-error@1.13.2": + resolution: + { + integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==, + } + + "@webassemblyjs/helper-buffer@1.14.1": + resolution: + { + integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==, + } + + "@webassemblyjs/helper-numbers@1.13.2": + resolution: + { + integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==, + } + + "@webassemblyjs/helper-wasm-bytecode@1.13.2": + resolution: + { + integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==, + } + + "@webassemblyjs/helper-wasm-section@1.14.1": + resolution: + { + integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==, + } + + "@webassemblyjs/ieee754@1.13.2": + resolution: + { + integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==, + } + + "@webassemblyjs/leb128@1.13.2": + resolution: + { + integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==, + } + + "@webassemblyjs/utf8@1.13.2": + resolution: + { + integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==, + } + + "@webassemblyjs/wasm-edit@1.14.1": + resolution: + { + integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==, + } + + "@webassemblyjs/wasm-gen@1.14.1": + resolution: + { + integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==, + } + + "@webassemblyjs/wasm-opt@1.14.1": + resolution: + { + integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==, + } + + "@webassemblyjs/wasm-parser@1.14.1": + resolution: + { + integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==, + } + + "@webassemblyjs/wast-printer@1.14.1": + resolution: + { + integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==, + } + + "@xtuc/ieee754@1.2.0": + resolution: + { + integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==, + } + + "@xtuc/long@4.2.2": + resolution: + { + integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==, + } + + abab@2.0.6: + resolution: + { + integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==, + } + deprecated: Use your platform's native atob() and btoa() methods instead + + acorn-globals@7.0.1: + resolution: + { + integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==, + } + + acorn-import-phases@1.0.4: + resolution: + { + integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==, + } + engines: { node: ">=10.13.0" } + peerDependencies: + acorn: ^8.14.0 + + acorn-jsx@5.3.2: + resolution: + { + integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, + } + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@8.3.4: + resolution: + { + integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==, + } + engines: { node: ">=0.4.0" } + + acorn@8.15.0: + resolution: + { + integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==, + } + engines: { node: ">=0.4.0" } + hasBin: true + + agent-base@6.0.2: + resolution: + { + integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==, + } + engines: { node: ">= 6.0.0" } + + ajv-formats@2.1.1: + resolution: + { + integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==, + } + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-keywords@5.1.0: + resolution: + { + integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==, + } + peerDependencies: + ajv: ^8.8.2 + + ajv@6.12.6: + resolution: + { + integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, + } + + ajv@8.17.1: + resolution: + { + integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==, + } + + ansi-escapes@4.3.2: + resolution: + { + integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==, + } + engines: { node: ">=8" } + + ansi-escapes@7.2.0: + resolution: + { + integrity: sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==, + } + engines: { node: ">=18" } + + ansi-regex@5.0.1: + resolution: + { + integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, + } + engines: { node: ">=8" } + + ansi-regex@6.2.2: + resolution: + { + integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==, + } + engines: { node: ">=12" } + + ansi-styles@4.3.0: + resolution: + { + integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, + } + engines: { node: ">=8" } + + ansi-styles@5.2.0: + resolution: + { + integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, + } + engines: { node: ">=10" } + + ansi-styles@6.2.3: + resolution: + { + integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==, + } + engines: { node: ">=12" } + + anymatch@3.1.3: + resolution: + { + integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==, + } + engines: { node: ">= 8" } + + argparse@1.0.10: + resolution: + { + integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, + } + + argparse@2.0.1: + resolution: + { + integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, + } + + asynckit@0.4.0: + resolution: + { + integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==, + } + + auth0@4.37.0: + resolution: + { + integrity: sha512-+TqJRxh4QvbD4TQIYx1ak2vanykQkG/nIZLuR6o8LoQj425gjVG3tFuUbbOeh/nCpP1rnvU0CCV1ChZHYXLU/A==, + } + engines: { node: ">=18" } + + babel-jest@29.7.0: + resolution: + { + integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + peerDependencies: + "@babel/core": ^7.8.0 + + babel-plugin-istanbul@6.1.1: + resolution: + { + integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==, + } + engines: { node: ">=8" } + + babel-plugin-jest-hoist@29.6.3: + resolution: + { + integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + babel-preset-current-node-syntax@1.2.0: + resolution: + { + integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==, + } + peerDependencies: + "@babel/core": ^7.0.0 || ^8.0.0-0 + + babel-preset-jest@29.6.3: + resolution: + { + integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + peerDependencies: + "@babel/core": ^7.0.0 + + balanced-match@1.0.2: + resolution: + { + integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, + } + + baseline-browser-mapping@2.9.2: + resolution: + { + integrity: sha512-PxSsosKQjI38iXkmb3d0Y32efqyA0uW4s41u4IVBsLlWLhCiYNpH/AfNOVWRqCQBlD8TFJTz6OUWNd4DFJCnmw==, + } + hasBin: true + + brace-expansion@1.1.12: + resolution: + { + integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==, + } + + brace-expansion@2.0.2: + resolution: + { + integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==, + } + + braces@3.0.3: + resolution: + { + integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==, + } + engines: { node: ">=8" } + + browserslist@4.28.1: + resolution: + { + integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==, + } + engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } + hasBin: true + + bs-logger@0.2.6: + resolution: + { + integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==, + } + engines: { node: ">= 6" } + + bser@2.1.1: + resolution: + { + integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==, + } + + buffer-from@1.1.2: + resolution: + { + integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, + } + + call-bind-apply-helpers@1.0.2: + resolution: + { + integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==, + } + engines: { node: ">= 0.4" } + + callsites@3.1.0: + resolution: + { + integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, + } + engines: { node: ">=6" } + + camelcase@5.3.1: + resolution: + { + integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==, + } + engines: { node: ">=6" } + + camelcase@6.3.0: + resolution: + { + integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==, + } + engines: { node: ">=10" } + + caniuse-lite@1.0.30001759: + resolution: + { + integrity: sha512-Pzfx9fOKoKvevQf8oCXoyNRQ5QyxJj+3O0Rqx2V5oxT61KGx8+n6hV/IUyJeifUci2clnmmKVpvtiqRzgiWjSw==, + } + + chalk@4.1.2: + resolution: + { + integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, + } + engines: { node: ">=10" } + + char-regex@1.0.2: + resolution: + { + integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==, + } + engines: { node: ">=10" } + + chrome-trace-event@1.0.4: + resolution: + { + integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==, + } + engines: { node: ">=6.0" } + + ci-info@3.9.0: + resolution: + { + integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==, + } + engines: { node: ">=8" } + + cjs-module-lexer@1.4.3: + resolution: + { + integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==, + } + + cli-cursor@5.0.0: + resolution: + { + integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==, + } + engines: { node: ">=18" } + + cli-truncate@5.1.1: + resolution: + { + integrity: sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==, + } + engines: { node: ">=20" } + + cli-width@4.1.0: + resolution: + { + integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==, + } + engines: { node: ">= 12" } + + cliui@8.0.1: + resolution: + { + integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==, + } + engines: { node: ">=12" } + + co@4.6.0: + resolution: + { + integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==, + } + engines: { iojs: ">= 1.0.0", node: ">= 0.12.0" } + + collect-v8-coverage@1.0.3: + resolution: + { + integrity: sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==, + } + + color-convert@2.0.1: + resolution: + { + integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, + } + engines: { node: ">=7.0.0" } + + color-name@1.1.4: + resolution: + { + integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, + } + + colorette@2.0.20: + resolution: + { + integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==, + } + + combined-stream@1.0.8: + resolution: + { + integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, + } + engines: { node: ">= 0.8" } + + commander@14.0.2: + resolution: + { + integrity: sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==, + } + engines: { node: ">=20" } + + commander@2.20.3: + resolution: + { + integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==, + } + + concat-map@0.0.1: + resolution: + { + integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, + } + + convert-source-map@2.0.0: + resolution: + { + integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, + } + + cookie@0.7.2: + resolution: + { + integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==, + } + engines: { node: ">= 0.6" } + + create-jest@29.7.0: + resolution: + { + integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + hasBin: true + + cross-spawn@7.0.6: + resolution: + { + integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==, + } + engines: { node: ">= 8" } + + cssom@0.3.8: + resolution: + { + integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==, + } + + cssom@0.5.0: + resolution: + { + integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==, + } + + cssstyle@2.3.0: + resolution: + { + integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==, + } + engines: { node: ">=8" } + + data-urls@3.0.2: + resolution: + { + integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==, + } + engines: { node: ">=12" } + + debug@4.4.3: + resolution: + { + integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==, + } + engines: { node: ">=6.0" } + peerDependencies: + supports-color: "*" + peerDependenciesMeta: + supports-color: + optional: true + + decimal.js@10.6.0: + resolution: + { + integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==, + } + + dedent@1.7.0: + resolution: + { + integrity: sha512-HGFtf8yhuhGhqO07SV79tRp+br4MnbdjeVxotpn1QBl30pcLLCQjX5b2295ll0fv8RKDKsmWYrl05usHM9CewQ==, + } + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + + deep-is@0.1.4: + resolution: + { + integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, + } + + deepmerge@4.3.1: + resolution: + { + integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==, + } + engines: { node: ">=0.10.0" } + + delayed-stream@1.0.0: + resolution: + { + integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, + } + engines: { node: ">=0.4.0" } + + detect-newline@3.1.0: + resolution: + { + integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==, + } + engines: { node: ">=8" } + + diff-sequences@29.6.3: + resolution: + { + integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + domexception@4.0.0: + resolution: + { + integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==, + } + engines: { node: ">=12" } + deprecated: Use your platform's native DOMException instead + + dunder-proto@1.0.1: + resolution: + { + integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==, + } + engines: { node: ">= 0.4" } + + electron-to-chromium@1.5.265: + resolution: + { + integrity: sha512-B7IkLR1/AE+9jR2LtVF/1/6PFhY5TlnEHnlrKmGk7PvkJibg5jr+mLXLLzq3QYl6PA1T/vLDthQPqIPAlS/PPA==, + } + + emittery@0.13.1: + resolution: + { + integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==, + } + engines: { node: ">=12" } + + emoji-regex@10.6.0: + resolution: + { + integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==, + } + + emoji-regex@8.0.0: + resolution: + { + integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, + } + + enhanced-resolve@5.18.3: + resolution: + { + integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==, + } + engines: { node: ">=10.13.0" } + + entities@4.5.0: + resolution: + { + integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==, + } + engines: { node: ">=0.12" } + + entities@6.0.1: + resolution: + { + integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==, + } + engines: { node: ">=0.12" } + + environment@1.1.0: + resolution: + { + integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==, + } + engines: { node: ">=18" } + + error-ex@1.3.4: + resolution: + { + integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==, + } + + es-define-property@1.0.1: + resolution: + { + integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==, + } + engines: { node: ">= 0.4" } + + es-errors@1.3.0: + resolution: + { + integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==, + } + engines: { node: ">= 0.4" } + + es-module-lexer@1.7.0: + resolution: + { + integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==, + } + + es-object-atoms@1.1.1: + resolution: + { + integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==, + } + engines: { node: ">= 0.4" } + + es-set-tostringtag@2.1.0: + resolution: + { + integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==, + } + engines: { node: ">= 0.4" } + + escalade@3.2.0: + resolution: + { + integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==, + } + engines: { node: ">=6" } + + escape-string-regexp@2.0.0: + resolution: + { + integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==, + } + engines: { node: ">=8" } + + escape-string-regexp@4.0.0: + resolution: + { + integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, + } + engines: { node: ">=10" } + + escodegen@2.1.0: + resolution: + { + integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==, + } + engines: { node: ">=6.0" } + hasBin: true + + eslint-config-prettier@10.1.8: + resolution: + { + integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==, + } + hasBin: true + peerDependencies: + eslint: ">=7.0.0" + + eslint-plugin-prettier@5.5.4: + resolution: + { + integrity: sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==, + } + engines: { node: ^14.18.0 || >=16.0.0 } + peerDependencies: + "@types/eslint": ">=8.0.0" + eslint: ">=8.0.0" + eslint-config-prettier: ">= 7.0.0 <10.0.0 || >=10.1.0" + prettier: ">=3.0.0" + peerDependenciesMeta: + "@types/eslint": + optional: true + eslint-config-prettier: + optional: true + + eslint-scope@5.1.1: + resolution: + { + integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==, + } + engines: { node: ">=8.0.0" } + + eslint-scope@8.4.0: + resolution: + { + integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + eslint-visitor-keys@3.4.3: + resolution: + { + integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + + eslint-visitor-keys@4.2.1: + resolution: + { + integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + eslint@9.39.1: + resolution: + { + integrity: sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + hasBin: true + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true + + espree@10.4.0: + resolution: + { + integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==, + } + engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } + + esprima@4.0.1: + resolution: + { + integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==, + } + engines: { node: ">=4" } + hasBin: true + + esquery@1.6.0: + resolution: + { + integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==, + } + engines: { node: ">=0.10" } + + esrecurse@4.3.0: + resolution: + { + integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, + } + engines: { node: ">=4.0" } + + estraverse@4.3.0: + resolution: + { + integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==, + } + engines: { node: ">=4.0" } + + estraverse@5.3.0: + resolution: + { + integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, + } + engines: { node: ">=4.0" } + + esutils@2.0.3: + resolution: + { + integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, + } + engines: { node: ">=0.10.0" } + + eventemitter3@5.0.1: + resolution: + { + integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==, + } + + events@3.3.0: + resolution: + { + integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==, + } + engines: { node: ">=0.8.x" } + + execa@5.1.1: + resolution: + { + integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==, + } + engines: { node: ">=10" } + + exit@0.1.2: + resolution: + { + integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==, + } + engines: { node: ">= 0.8.0" } + + expect@29.7.0: + resolution: + { + integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + fast-deep-equal@3.1.3: + resolution: + { + integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, + } + + fast-diff@1.3.0: + resolution: + { + integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==, + } + + fast-json-stable-stringify@2.1.0: + resolution: + { + integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, + } + + fast-levenshtein@2.0.6: + resolution: + { + integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, + } + + fast-uri@3.1.0: + resolution: + { + integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==, + } + + fb-watchman@2.0.2: + resolution: + { + integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==, + } + + fdir@6.5.0: + resolution: + { + integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==, + } + engines: { node: ">=12.0.0" } + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + file-entry-cache@8.0.0: + resolution: + { + integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==, + } + engines: { node: ">=16.0.0" } + + fill-range@7.1.1: + resolution: + { + integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==, + } + engines: { node: ">=8" } + + find-up@4.1.0: + resolution: + { + integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==, + } + engines: { node: ">=8" } + + find-up@5.0.0: + resolution: + { + integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, + } + engines: { node: ">=10" } + + flat-cache@4.0.1: + resolution: + { + integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==, + } + engines: { node: ">=16" } + + flatted@3.3.3: + resolution: + { + integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==, + } + + form-data@4.0.5: + resolution: + { + integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==, + } + engines: { node: ">= 6" } + + fs.realpath@1.0.0: + resolution: + { + integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, + } + + fsevents@2.3.3: + resolution: + { + integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, + } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } + os: [darwin] + + function-bind@1.1.2: + resolution: + { + integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, + } + + gensync@1.0.0-beta.2: + resolution: + { + integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, + } + engines: { node: ">=6.9.0" } + + get-caller-file@2.0.5: + resolution: + { + integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==, + } + engines: { node: 6.* || 8.* || >= 10.* } + + get-east-asian-width@1.4.0: + resolution: + { + integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==, + } + engines: { node: ">=18" } + + get-intrinsic@1.3.0: + resolution: + { + integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==, + } + engines: { node: ">= 0.4" } + + get-package-type@0.1.0: + resolution: + { + integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==, + } + engines: { node: ">=8.0.0" } + + get-proto@1.0.1: + resolution: + { + integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==, + } + engines: { node: ">= 0.4" } + + get-stream@6.0.1: + resolution: + { + integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==, + } + engines: { node: ">=10" } + + glob-parent@6.0.2: + resolution: + { + integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, + } + engines: { node: ">=10.13.0" } + + glob-to-regexp@0.4.1: + resolution: + { + integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==, + } + + glob@7.2.3: + resolution: + { + integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, + } + deprecated: Glob versions prior to v9 are no longer supported + + globals@14.0.0: + resolution: + { + integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==, + } + engines: { node: ">=18" } + + gopd@1.2.0: + resolution: + { + integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==, + } + engines: { node: ">= 0.4" } + + graceful-fs@4.2.11: + resolution: + { + integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, + } + + graphemer@1.4.0: + resolution: + { + integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, + } + + graphql@16.12.0: + resolution: + { + integrity: sha512-DKKrynuQRne0PNpEbzuEdHlYOMksHSUI8Zc9Unei5gTsMNA2/vMpoMz/yKba50pejK56qj98qM0SjYxAKi13gQ==, + } + engines: { node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0 } + + handlebars@4.7.8: + resolution: + { + integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==, + } + engines: { node: ">=0.4.7" } + hasBin: true + + has-flag@4.0.0: + resolution: + { + integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, + } + engines: { node: ">=8" } + + has-symbols@1.1.0: + resolution: + { + integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==, + } + engines: { node: ">= 0.4" } + + has-tostringtag@1.0.2: + resolution: + { + integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==, + } + engines: { node: ">= 0.4" } + + hasown@2.0.2: + resolution: + { + integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==, + } + engines: { node: ">= 0.4" } + + headers-polyfill@4.0.3: + resolution: + { + integrity: sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==, + } + + html-encoding-sniffer@3.0.0: + resolution: + { + integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==, + } + engines: { node: ">=12" } + + html-escaper@2.0.2: + resolution: + { + integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==, + } + + http-proxy-agent@5.0.0: + resolution: + { + integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==, + } + engines: { node: ">= 6" } + + https-proxy-agent@5.0.1: + resolution: + { + integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==, + } + engines: { node: ">= 6" } + + human-signals@2.1.0: + resolution: + { + integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==, + } + engines: { node: ">=10.17.0" } + + husky@9.1.7: + resolution: + { + integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==, + } + engines: { node: ">=18" } + hasBin: true + + iconv-lite@0.6.3: + resolution: + { + integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==, + } + engines: { node: ">=0.10.0" } + + ignore@5.3.2: + resolution: + { + integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==, + } + engines: { node: ">= 4" } + + ignore@7.0.5: + resolution: + { + integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==, + } + engines: { node: ">= 4" } + + import-fresh@3.3.1: + resolution: + { + integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==, + } + engines: { node: ">=6" } + + import-local@3.2.0: + resolution: + { + integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==, + } + engines: { node: ">=8" } + hasBin: true + + imurmurhash@0.1.4: + resolution: + { + integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, + } + engines: { node: ">=0.8.19" } + + inflight@1.0.6: + resolution: + { + integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, + } + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: + { + integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, + } + + is-arrayish@0.2.1: + resolution: + { + integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==, + } + + is-core-module@2.16.1: + resolution: + { + integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==, + } + engines: { node: ">= 0.4" } + + is-extglob@2.1.1: + resolution: + { + integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, + } + engines: { node: ">=0.10.0" } + + is-fullwidth-code-point@3.0.0: + resolution: + { + integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, + } + engines: { node: ">=8" } + + is-fullwidth-code-point@5.1.0: + resolution: + { + integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==, + } + engines: { node: ">=18" } + + is-generator-fn@2.1.0: + resolution: + { + integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==, + } + engines: { node: ">=6" } + + is-glob@4.0.3: + resolution: + { + integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, + } + engines: { node: ">=0.10.0" } + + is-node-process@1.2.0: + resolution: + { + integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==, + } + + is-number@7.0.0: + resolution: + { + integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, + } + engines: { node: ">=0.12.0" } + + is-potential-custom-element-name@1.0.1: + resolution: + { + integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==, + } + + is-stream@2.0.1: + resolution: + { + integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==, + } + engines: { node: ">=8" } + + isexe@2.0.0: + resolution: + { + integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, + } + + istanbul-lib-coverage@3.2.2: + resolution: + { + integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==, + } + engines: { node: ">=8" } + + istanbul-lib-instrument@5.2.1: + resolution: + { + integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==, + } + engines: { node: ">=8" } + + istanbul-lib-instrument@6.0.3: + resolution: + { + integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==, + } + engines: { node: ">=10" } + + istanbul-lib-report@3.0.1: + resolution: + { + integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==, + } + engines: { node: ">=10" } + + istanbul-lib-source-maps@4.0.1: + resolution: + { + integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==, + } + engines: { node: ">=10" } + + istanbul-reports@3.2.0: + resolution: + { + integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==, + } + engines: { node: ">=8" } + + jest-changed-files@29.7.0: + resolution: + { + integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-circus@29.7.0: + resolution: + { + integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-cli@29.7.0: + resolution: + { + integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jest-config@29.7.0: + resolution: + { + integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + peerDependencies: + "@types/node": "*" + ts-node: ">=9.0.0" + peerDependenciesMeta: + "@types/node": + optional: true + ts-node: + optional: true + + jest-diff@29.7.0: + resolution: + { + integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-docblock@29.7.0: + resolution: + { + integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-each@29.7.0: + resolution: + { + integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-environment-jsdom@29.7.0: + resolution: + { + integrity: sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + + jest-environment-node@29.7.0: + resolution: + { + integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-get-type@29.6.3: + resolution: + { + integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-haste-map@29.7.0: + resolution: + { + integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-leak-detector@29.7.0: + resolution: + { + integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-matcher-utils@29.7.0: + resolution: + { + integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-message-util@29.7.0: + resolution: + { + integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-mock@29.7.0: + resolution: + { + integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-pnp-resolver@1.2.3: + resolution: + { + integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==, + } + engines: { node: ">=6" } + peerDependencies: + jest-resolve: "*" + peerDependenciesMeta: + jest-resolve: + optional: true + + jest-regex-util@29.6.3: + resolution: + { + integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-resolve-dependencies@29.7.0: + resolution: + { + integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-resolve@29.7.0: + resolution: + { + integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-runner@29.7.0: + resolution: + { + integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-runtime@29.7.0: + resolution: + { + integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-snapshot@29.7.0: + resolution: + { + integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-util@29.7.0: + resolution: + { + integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-validate@29.7.0: + resolution: + { + integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-watcher@29.7.0: + resolution: + { + integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest-worker@27.5.1: + resolution: + { + integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==, + } + engines: { node: ">= 10.13.0" } + + jest-worker@29.7.0: + resolution: + { + integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + jest@29.7.0: + resolution: + { + integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jose@4.15.9: + resolution: + { + integrity: sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA==, + } + + js-tokens@4.0.0: + resolution: + { + integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, + } + + js-yaml@3.14.2: + resolution: + { + integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==, + } + hasBin: true + + js-yaml@4.1.1: + resolution: + { + integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==, + } + hasBin: true + + jsdom@20.0.3: + resolution: + { + integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==, + } + engines: { node: ">=14" } + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + + jsesc@3.1.0: + resolution: + { + integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==, + } + engines: { node: ">=6" } + hasBin: true + + json-buffer@3.0.1: + resolution: + { + integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, + } + + json-parse-even-better-errors@2.3.1: + resolution: + { + integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==, + } + + json-schema-traverse@0.4.1: + resolution: + { + integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, + } + + json-schema-traverse@1.0.0: + resolution: + { + integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, + } + + json-stable-stringify-without-jsonify@1.0.1: + resolution: + { + integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, + } + + json-stringify-safe@5.0.1: + resolution: + { + integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==, + } + + json5@2.2.3: + resolution: + { + integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, + } + engines: { node: ">=6" } + hasBin: true + + keyv@4.5.4: + resolution: + { + integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, + } + + kleur@3.0.3: + resolution: + { + integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==, + } + engines: { node: ">=6" } + + leven@3.1.0: + resolution: + { + integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==, + } + engines: { node: ">=6" } + + levn@0.4.1: + resolution: + { + integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, + } + engines: { node: ">= 0.8.0" } + + lines-and-columns@1.2.4: + resolution: + { + integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==, + } + + linkify-it@5.0.0: + resolution: + { + integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==, + } + + lint-staged@16.2.7: + resolution: + { + integrity: sha512-lDIj4RnYmK7/kXMya+qJsmkRFkGolciXjrsZ6PC25GdTfWOAWetR0ZbsNXRAj1EHHImRSalc+whZFg56F5DVow==, + } + engines: { node: ">=20.17" } + hasBin: true + + listr2@9.0.5: + resolution: + { + integrity: sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==, + } + engines: { node: ">=20.0.0" } + + loader-runner@4.3.1: + resolution: + { + integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==, + } + engines: { node: ">=6.11.5" } + + locate-path@5.0.0: + resolution: + { + integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==, + } + engines: { node: ">=8" } + + locate-path@6.0.0: + resolution: + { + integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, + } + engines: { node: ">=10" } + + lodash.memoize@4.1.2: + resolution: + { + integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==, + } + + lodash.merge@4.6.2: + resolution: + { + integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, + } + + log-update@6.1.0: + resolution: + { + integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==, + } + engines: { node: ">=18" } + + lru-cache@5.1.1: + resolution: + { + integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==, + } + + lunr@2.3.9: + resolution: + { + integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==, + } + + make-dir@4.0.0: + resolution: + { + integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==, + } + engines: { node: ">=10" } + + make-error@1.3.6: + resolution: + { + integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==, + } + + makeerror@1.0.12: + resolution: + { + integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==, + } + + markdown-it@14.1.0: + resolution: + { + integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==, + } + hasBin: true + + math-intrinsics@1.1.0: + resolution: + { + integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==, + } + engines: { node: ">= 0.4" } + + mdurl@2.0.0: + resolution: + { + integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==, + } + + merge-stream@2.0.0: + resolution: + { + integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, + } + + micromatch@4.0.8: + resolution: + { + integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==, + } + engines: { node: ">=8.6" } + + mime-db@1.52.0: + resolution: + { + integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, + } + engines: { node: ">= 0.6" } + + mime-types@2.1.35: + resolution: + { + integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, + } + engines: { node: ">= 0.6" } + + mimic-fn@2.1.0: + resolution: + { + integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, + } + engines: { node: ">=6" } + + mimic-function@5.0.1: + resolution: + { + integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==, + } + engines: { node: ">=18" } + + minimatch@3.1.2: + resolution: + { + integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, + } + + minimatch@9.0.5: + resolution: + { + integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==, + } + engines: { node: ">=16 || 14 >=14.17" } + + minimist@1.2.8: + resolution: + { + integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, + } + + mri@1.2.0: + resolution: + { + integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==, + } + engines: { node: ">=4" } + + ms@2.1.3: + resolution: + { + integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, + } + + msw@2.11.2: + resolution: + { + integrity: sha512-MI54hLCsrMwiflkcqlgYYNJJddY5/+S0SnONvhv1owOplvqohKSQyGejpNdUGyCwgs4IH7PqaNbPw/sKOEze9Q==, + } + engines: { node: ">=18" } + hasBin: true + peerDependencies: + typescript: ">= 4.8.x" + peerDependenciesMeta: + typescript: + optional: true + + mute-stream@2.0.0: + resolution: + { + integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==, + } + engines: { node: ^18.17.0 || >=20.5.0 } + + nano-spawn@2.0.0: + resolution: + { + integrity: sha512-tacvGzUY5o2D8CBh2rrwxyNojUsZNU2zjNTzKQrkgGJQTbGAfArVWXSKMBokBeeg6C7OLRGUEyoFlYbfeWQIqw==, + } + engines: { node: ">=20.17" } + + natural-compare@1.4.0: + resolution: + { + integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, + } + + neo-async@2.6.2: + resolution: + { + integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==, + } + + nock@14.0.10: + resolution: + { + integrity: sha512-Q7HjkpyPeLa0ZVZC5qpxBt5EyLczFJ91MEewQiIi9taWuA0KB/MDJlUWtON+7dGouVdADTQsf9RA7TZk6D8VMw==, + } + engines: { node: ">=18.20.0 <20 || >=20.12.1" } + + node-int64@0.4.0: + resolution: + { + integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==, + } + + node-releases@2.0.27: + resolution: + { + integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==, + } + + normalize-path@3.0.0: + resolution: + { + integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, + } + engines: { node: ">=0.10.0" } + + npm-run-path@4.0.1: + resolution: + { + integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, + } + engines: { node: ">=8" } + + nwsapi@2.2.22: + resolution: + { + integrity: sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ==, + } + + once@1.4.0: + resolution: + { + integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, + } + + onetime@5.1.2: + resolution: + { + integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, + } + engines: { node: ">=6" } + + onetime@7.0.0: + resolution: + { + integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==, + } + engines: { node: ">=18" } + + optionator@0.9.4: + resolution: + { + integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==, + } + engines: { node: ">= 0.8.0" } + + outvariant@1.4.3: + resolution: + { + integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==, + } + + p-limit@2.3.0: + resolution: + { + integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==, + } + engines: { node: ">=6" } + + p-limit@3.1.0: + resolution: + { + integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, + } + engines: { node: ">=10" } + + p-locate@4.1.0: + resolution: + { + integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==, + } + engines: { node: ">=8" } + + p-locate@5.0.0: + resolution: + { + integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, + } + engines: { node: ">=10" } + + p-try@2.2.0: + resolution: + { + integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==, + } + engines: { node: ">=6" } + + package-manager-detector@1.6.0: + resolution: + { + integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==, + } + + parent-module@1.0.1: + resolution: + { + integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, + } + engines: { node: ">=6" } + + parse-json@5.2.0: + resolution: + { + integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==, + } + engines: { node: ">=8" } + + parse5@7.3.0: + resolution: + { + integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==, + } + + path-exists@4.0.0: + resolution: + { + integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, + } + engines: { node: ">=8" } + + path-is-absolute@1.0.1: + resolution: + { + integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, + } + engines: { node: ">=0.10.0" } + + path-key@3.1.1: + resolution: + { + integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, + } + engines: { node: ">=8" } + + path-parse@1.0.7: + resolution: + { + integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, + } + + path-to-regexp@6.3.0: + resolution: + { + integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==, + } + + picocolors@1.1.1: + resolution: + { + integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==, + } + + picomatch@2.3.1: + resolution: + { + integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, + } + engines: { node: ">=8.6" } + + picomatch@4.0.3: + resolution: + { + integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==, + } + engines: { node: ">=12" } + + pidtree@0.6.0: + resolution: + { + integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==, + } + engines: { node: ">=0.10" } + hasBin: true + + pirates@4.0.7: + resolution: + { + integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==, + } + engines: { node: ">= 6" } + + pkg-dir@4.2.0: + resolution: + { + integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==, + } + engines: { node: ">=8" } + + prelude-ls@1.2.1: + resolution: + { + integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, + } + engines: { node: ">= 0.8.0" } + + prettier-linter-helpers@1.0.0: + resolution: + { + integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==, + } + engines: { node: ">=6.0.0" } + + prettier@3.4.2: + resolution: + { + integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==, + } + engines: { node: ">=14" } + hasBin: true + + pretty-format@29.7.0: + resolution: + { + integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + + prompts@2.4.2: + resolution: + { + integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==, + } + engines: { node: ">= 6" } + + propagate@2.0.1: + resolution: + { + integrity: sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==, + } + engines: { node: ">= 8" } + + psl@1.15.0: + resolution: + { + integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==, + } + + publint@0.3.15: + resolution: + { + integrity: sha512-xPbRAPW+vqdiaKy5sVVY0uFAu3LaviaPO3pZ9FaRx59l9+U/RKR1OEbLhkug87cwiVKxPXyB4txsv5cad67u+A==, + } + engines: { node: ">=18" } + hasBin: true + + punycode.js@2.3.1: + resolution: + { + integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==, + } + engines: { node: ">=6" } + + punycode@2.3.1: + resolution: + { + integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, + } + engines: { node: ">=6" } + + pure-rand@6.1.0: + resolution: + { + integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==, + } + + querystringify@2.2.0: + resolution: + { + integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==, + } + + randombytes@2.1.0: + resolution: + { + integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==, + } + + react-is@18.3.1: + resolution: + { + integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==, + } + + require-directory@2.1.1: + resolution: + { + integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, + } + engines: { node: ">=0.10.0" } + + require-from-string@2.0.2: + resolution: + { + integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, + } + engines: { node: ">=0.10.0" } + + requires-port@1.0.0: + resolution: + { + integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==, + } + + resolve-cwd@3.0.0: + resolution: + { + integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==, + } + engines: { node: ">=8" } + + resolve-from@4.0.0: + resolution: + { + integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, + } + engines: { node: ">=4" } + + resolve-from@5.0.0: + resolution: + { + integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==, + } + engines: { node: ">=8" } + + resolve.exports@2.0.3: + resolution: + { + integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==, + } + engines: { node: ">=10" } + + resolve@1.22.11: + resolution: + { + integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==, + } + engines: { node: ">= 0.4" } + hasBin: true + + restore-cursor@5.1.0: + resolution: + { + integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==, + } + engines: { node: ">=18" } + + rettime@0.7.0: + resolution: + { + integrity: sha512-LPRKoHnLKd/r3dVxcwO7vhCW+orkOGj9ViueosEBK6ie89CijnfRlhaDhHq/3Hxu4CkWQtxwlBG0mzTQY6uQjw==, + } + + rfdc@1.4.1: + resolution: + { + integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==, + } + + sade@1.8.1: + resolution: + { + integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==, + } + engines: { node: ">=6" } + + safe-buffer@5.2.1: + resolution: + { + integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, + } + + safer-buffer@2.1.2: + resolution: + { + integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==, + } + + saxes@6.0.0: + resolution: + { + integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==, + } + engines: { node: ">=v12.22.7" } + + schema-utils@4.3.3: + resolution: + { + integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==, + } + engines: { node: ">= 10.13.0" } + + semver@6.3.1: + resolution: + { + integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==, + } + hasBin: true + + semver@7.7.3: + resolution: + { + integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==, + } + engines: { node: ">=10" } + hasBin: true + + serialize-javascript@6.0.2: + resolution: + { + integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==, + } + + shebang-command@2.0.0: + resolution: + { + integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, + } + engines: { node: ">=8" } + + shebang-regex@3.0.0: + resolution: + { + integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, + } + engines: { node: ">=8" } + + signal-exit@3.0.7: + resolution: + { + integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, + } + + signal-exit@4.1.0: + resolution: + { + integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, + } + engines: { node: ">=14" } + + sisteransi@1.0.5: + resolution: + { + integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==, + } + + slash@3.0.0: + resolution: + { + integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, + } + engines: { node: ">=8" } + + slice-ansi@7.1.2: + resolution: + { + integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==, + } + engines: { node: ">=18" } + + source-map-support@0.5.13: + resolution: + { + integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==, + } + + source-map-support@0.5.21: + resolution: + { + integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==, + } + + source-map@0.6.1: + resolution: + { + integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, + } + engines: { node: ">=0.10.0" } + + source-map@0.7.6: + resolution: + { + integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==, + } + engines: { node: ">= 12" } + + sprintf-js@1.0.3: + resolution: + { + integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, + } + + stack-utils@2.0.6: + resolution: + { + integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==, + } + engines: { node: ">=10" } + + statuses@2.0.2: + resolution: + { + integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==, + } + engines: { node: ">= 0.8" } + + strict-event-emitter@0.5.1: + resolution: + { + integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==, + } + + string-argv@0.3.2: + resolution: + { + integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==, + } + engines: { node: ">=0.6.19" } + + string-length@4.0.2: + resolution: + { + integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==, + } + engines: { node: ">=10" } + + string-width@4.2.3: + resolution: + { + integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, + } + engines: { node: ">=8" } + + string-width@7.2.0: + resolution: + { + integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==, + } + engines: { node: ">=18" } + + string-width@8.1.0: + resolution: + { + integrity: sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==, + } + engines: { node: ">=20" } + + strip-ansi@6.0.1: + resolution: + { + integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, + } + engines: { node: ">=8" } + + strip-ansi@7.1.2: + resolution: + { + integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==, + } + engines: { node: ">=12" } + + strip-bom@4.0.0: + resolution: + { + integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==, + } + engines: { node: ">=8" } + + strip-final-newline@2.0.0: + resolution: + { + integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==, + } + engines: { node: ">=6" } + + strip-json-comments@3.1.1: + resolution: + { + integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, + } + engines: { node: ">=8" } + + supports-color@7.2.0: + resolution: + { + integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, + } + engines: { node: ">=8" } + + supports-color@8.1.1: + resolution: + { + integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, + } + engines: { node: ">=10" } + + supports-preserve-symlinks-flag@1.0.0: + resolution: + { + integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, + } + engines: { node: ">= 0.4" } + + symbol-tree@3.2.4: + resolution: + { + integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==, + } + + synckit@0.11.11: + resolution: + { + integrity: sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==, + } + engines: { node: ^14.18.0 || >=16.0.0 } + + tapable@2.3.0: + resolution: + { + integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==, + } + engines: { node: ">=6" } + + terser-webpack-plugin@5.3.14: + resolution: + { + integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==, + } + engines: { node: ">= 10.13.0" } + peerDependencies: + "@swc/core": "*" + esbuild: "*" + uglify-js: "*" + webpack: ^5.1.0 + peerDependenciesMeta: + "@swc/core": + optional: true + esbuild: + optional: true + uglify-js: + optional: true + + terser@5.44.1: + resolution: + { + integrity: sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==, + } + engines: { node: ">=10" } + hasBin: true + + test-exclude@6.0.0: + resolution: + { + integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==, + } + engines: { node: ">=8" } + + tinyglobby@0.2.15: + resolution: + { + integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==, + } + engines: { node: ">=12.0.0" } + + tldts-core@7.0.19: + resolution: + { + integrity: sha512-lJX2dEWx0SGH4O6p+7FPwYmJ/bu1JbcGJ8RLaG9b7liIgZ85itUVEPbMtWRVrde/0fnDPEPHW10ZsKW3kVsE9A==, + } + + tldts@7.0.19: + resolution: + { + integrity: sha512-8PWx8tvC4jDB39BQw1m4x8y5MH1BcQ5xHeL2n7UVFulMPH/3Q0uiamahFJ3lXA0zO2SUyRXuVVbWSDmstlt9YA==, + } + hasBin: true + + tmpl@1.0.5: + resolution: + { + integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==, + } + + to-regex-range@5.0.1: + resolution: + { + integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, + } + engines: { node: ">=8.0" } + + tough-cookie@4.1.4: + resolution: + { + integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==, + } + engines: { node: ">=6" } + + tough-cookie@6.0.0: + resolution: + { + integrity: sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==, + } + engines: { node: ">=16" } + + tr46@3.0.0: + resolution: + { + integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==, + } + engines: { node: ">=12" } + + ts-api-utils@2.1.0: + resolution: + { + integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==, + } + engines: { node: ">=18.12" } + peerDependencies: + typescript: ">=4.8.4" + + ts-jest@29.4.6: + resolution: + { + integrity: sha512-fSpWtOO/1AjSNQguk43hb/JCo16oJDnMJf3CdEGNkqsEX3t0KX96xvyX1D7PfLCpVoKu4MfVrqUkFyblYoY4lA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0 } + hasBin: true + peerDependencies: + "@babel/core": ">=7.0.0-beta.0 <8" + "@jest/transform": ^29.0.0 || ^30.0.0 + "@jest/types": ^29.0.0 || ^30.0.0 + babel-jest: ^29.0.0 || ^30.0.0 + esbuild: "*" + jest: ^29.0.0 || ^30.0.0 + jest-util: ^29.0.0 || ^30.0.0 + typescript: ">=4.3 <6" + peerDependenciesMeta: + "@babel/core": + optional: true + "@jest/transform": + optional: true + "@jest/types": + optional: true + babel-jest: + optional: true + esbuild: + optional: true + jest-util: + optional: true + + ts-loader@9.5.4: + resolution: + { + integrity: sha512-nCz0rEwunlTZiy6rXFByQU1kVVpCIgUpc/psFiKVrUwrizdnIbRFu8w7bxhUF0X613DYwT4XzrZHpVyMe758hQ==, + } + engines: { node: ">=12.0.0" } + peerDependencies: + typescript: "*" + webpack: ^5.0.0 + + type-check@0.4.0: + resolution: + { + integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, + } + engines: { node: ">= 0.8.0" } + + type-detect@4.0.8: + resolution: + { + integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, + } + engines: { node: ">=4" } + + type-fest@0.21.3: + resolution: + { + integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==, + } + engines: { node: ">=10" } + + type-fest@4.41.0: + resolution: + { + integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==, + } + engines: { node: ">=16" } + + typedoc-plugin-missing-exports@4.1.2: + resolution: + { + integrity: sha512-WNoeWX9+8X3E3riuYPduilUTFefl1K+Z+5bmYqNeH5qcWjtnTRMbRzGdEQ4XXn1WEO4WCIlU0vf46Ca2y/mspg==, + } + peerDependencies: + typedoc: ^0.28.1 + + typedoc@0.28.15: + resolution: + { + integrity: sha512-mw2/2vTL7MlT+BVo43lOsufkkd2CJO4zeOSuWQQsiXoV2VuEn7f6IZp2jsUDPmBMABpgR0R5jlcJ2OGEFYmkyg==, + } + engines: { node: ">= 18", pnpm: ">= 10" } + hasBin: true + peerDependencies: + typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x + + typescript@5.7.3: + resolution: + { + integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==, + } + engines: { node: ">=14.17" } + hasBin: true + + uc.micro@2.1.0: + resolution: + { + integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==, + } + + uglify-js@3.19.3: + resolution: + { + integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==, + } + engines: { node: ">=0.8.0" } + hasBin: true + + undici-types@5.26.5: + resolution: + { + integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==, + } + + undici-types@6.21.0: + resolution: + { + integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==, + } + + undici@7.16.0: + resolution: + { + integrity: sha512-QEg3HPMll0o3t2ourKwOeUAZ159Kn9mx5pnzHRQO8+Wixmh88YdZRiIwat0iNzNNXn0yoEtXJqFpyW7eM8BV7g==, + } + engines: { node: ">=20.18.1" } + + universalify@0.2.0: + resolution: + { + integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==, + } + engines: { node: ">= 4.0.0" } + + update-browserslist-db@1.2.2: + resolution: + { + integrity: sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==, + } + hasBin: true + peerDependencies: + browserslist: ">= 4.21.0" + + uri-js@4.4.1: + resolution: + { + integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, + } + + url-parse@1.5.10: + resolution: + { + integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==, + } + + uuid@11.1.0: + resolution: + { + integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==, + } + hasBin: true + + uuid@9.0.1: + resolution: + { + integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==, + } + hasBin: true + + v8-to-istanbul@9.3.0: + resolution: + { + integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==, + } + engines: { node: ">=10.12.0" } + + w3c-xmlserializer@4.0.0: + resolution: + { + integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==, + } + engines: { node: ">=14" } + + walker@1.0.8: + resolution: + { + integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==, + } + + watchpack@2.4.4: + resolution: + { + integrity: sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==, + } + engines: { node: ">=10.13.0" } + + webidl-conversions@7.0.0: + resolution: + { + integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==, + } + engines: { node: ">=12" } + + webpack-sources@3.3.3: + resolution: + { + integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==, + } + engines: { node: ">=10.13.0" } + + webpack@5.103.0: + resolution: + { + integrity: sha512-HU1JOuV1OavsZ+mfigY0j8d1TgQgbZ6M+J75zDkpEAwYeXjWSqrGJtgnPblJjd/mAyTNQ7ygw0MiKOn6etz8yw==, + } + engines: { node: ">=10.13.0" } + hasBin: true + peerDependencies: + webpack-cli: "*" + peerDependenciesMeta: + webpack-cli: + optional: true + + whatwg-encoding@2.0.0: + resolution: + { + integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==, + } + engines: { node: ">=12" } + + whatwg-mimetype@3.0.0: + resolution: + { + integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==, + } + engines: { node: ">=12" } + + whatwg-url@11.0.0: + resolution: + { + integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==, + } + engines: { node: ">=12" } + + which@2.0.2: + resolution: + { + integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, + } + engines: { node: ">= 8" } + hasBin: true + + word-wrap@1.2.5: + resolution: + { + integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==, + } + engines: { node: ">=0.10.0" } + + wordwrap@1.0.0: + resolution: + { + integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==, + } + + wrap-ansi@6.2.0: + resolution: + { + integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==, + } + engines: { node: ">=8" } + + wrap-ansi@7.0.0: + resolution: + { + integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, + } + engines: { node: ">=10" } + + wrap-ansi@9.0.2: + resolution: + { + integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==, + } + engines: { node: ">=18" } + + wrappy@1.0.2: + resolution: + { + integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, + } + + write-file-atomic@4.0.2: + resolution: + { + integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==, + } + engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + + ws@8.18.3: + resolution: + { + integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==, + } + engines: { node: ">=10.0.0" } + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xml-name-validator@4.0.0: + resolution: + { + integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==, + } + engines: { node: ">=12" } + + xmlchars@2.2.0: + resolution: + { + integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==, + } + + y18n@5.0.8: + resolution: + { + integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==, + } + engines: { node: ">=10" } + + yallist@3.1.1: + resolution: + { + integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==, + } + + yaml@2.8.2: + resolution: + { + integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==, + } + engines: { node: ">= 14.6" } + hasBin: true + + yargs-parser@21.1.1: + resolution: + { + integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==, + } + engines: { node: ">=12" } + + yargs@17.7.2: + resolution: + { + integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==, + } + engines: { node: ">=12" } + + yocto-queue@0.1.0: + resolution: + { + integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, + } + engines: { node: ">=10" } + + yoctocolors-cjs@2.1.3: + resolution: + { + integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==, + } + engines: { node: ">=18" } + +snapshots: + "@babel/code-frame@7.27.1": + dependencies: + "@babel/helper-validator-identifier": 7.28.5 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + "@babel/compat-data@7.28.5": {} + + "@babel/core@7.28.5": + dependencies: + "@babel/code-frame": 7.27.1 + "@babel/generator": 7.28.5 + "@babel/helper-compilation-targets": 7.27.2 + "@babel/helper-module-transforms": 7.28.3(@babel/core@7.28.5) + "@babel/helpers": 7.28.4 + "@babel/parser": 7.28.5 + "@babel/template": 7.27.2 + "@babel/traverse": 7.28.5 + "@babel/types": 7.28.5 + "@jridgewell/remapping": 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + "@babel/generator@7.28.5": + dependencies: + "@babel/parser": 7.28.5 + "@babel/types": 7.28.5 + "@jridgewell/gen-mapping": 0.3.13 + "@jridgewell/trace-mapping": 0.3.31 + jsesc: 3.1.0 + + "@babel/helper-compilation-targets@7.27.2": + dependencies: + "@babel/compat-data": 7.28.5 + "@babel/helper-validator-option": 7.27.1 + browserslist: 4.28.1 + lru-cache: 5.1.1 + semver: 6.3.1 + + "@babel/helper-globals@7.28.0": {} + + "@babel/helper-module-imports@7.27.1": + dependencies: + "@babel/traverse": 7.28.5 + "@babel/types": 7.28.5 + transitivePeerDependencies: + - supports-color + + "@babel/helper-module-transforms@7.28.3(@babel/core@7.28.5)": + dependencies: + "@babel/core": 7.28.5 + "@babel/helper-module-imports": 7.27.1 + "@babel/helper-validator-identifier": 7.28.5 + "@babel/traverse": 7.28.5 + transitivePeerDependencies: + - supports-color + + "@babel/helper-plugin-utils@7.27.1": {} + + "@babel/helper-string-parser@7.27.1": {} + + "@babel/helper-validator-identifier@7.28.5": {} + + "@babel/helper-validator-option@7.27.1": {} + + "@babel/helpers@7.28.4": + dependencies: + "@babel/template": 7.27.2 + "@babel/types": 7.28.5 + + "@babel/parser@7.28.5": + dependencies: + "@babel/types": 7.28.5 + + "@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.5)": + dependencies: + "@babel/core": 7.28.5 + "@babel/helper-plugin-utils": 7.27.1 + + "@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.28.5)": + dependencies: + "@babel/core": 7.28.5 + "@babel/helper-plugin-utils": 7.27.1 + + "@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.5)": + dependencies: + "@babel/core": 7.28.5 + "@babel/helper-plugin-utils": 7.27.1 + + "@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.28.5)": + dependencies: + "@babel/core": 7.28.5 + "@babel/helper-plugin-utils": 7.27.1 + + "@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.5)": + dependencies: + "@babel/core": 7.28.5 + "@babel/helper-plugin-utils": 7.27.1 + + "@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.5)": + dependencies: + "@babel/core": 7.28.5 + "@babel/helper-plugin-utils": 7.27.1 + + "@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.28.5)": + dependencies: + "@babel/core": 7.28.5 + "@babel/helper-plugin-utils": 7.27.1 + + "@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.5)": + dependencies: + "@babel/core": 7.28.5 + "@babel/helper-plugin-utils": 7.27.1 + + "@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.5)": + dependencies: + "@babel/core": 7.28.5 + "@babel/helper-plugin-utils": 7.27.1 + + "@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.5)": + dependencies: + "@babel/core": 7.28.5 + "@babel/helper-plugin-utils": 7.27.1 + + "@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.5)": + dependencies: + "@babel/core": 7.28.5 + "@babel/helper-plugin-utils": 7.27.1 + + "@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.5)": + dependencies: + "@babel/core": 7.28.5 + "@babel/helper-plugin-utils": 7.27.1 + + "@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.5)": + dependencies: + "@babel/core": 7.28.5 + "@babel/helper-plugin-utils": 7.27.1 + + "@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.5)": + dependencies: + "@babel/core": 7.28.5 + "@babel/helper-plugin-utils": 7.27.1 + + "@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.28.5)": + dependencies: + "@babel/core": 7.28.5 + "@babel/helper-plugin-utils": 7.27.1 + + "@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.28.5)": + dependencies: + "@babel/core": 7.28.5 + "@babel/helper-plugin-utils": 7.27.1 + + "@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.5)": + dependencies: + "@babel/core": 7.28.5 + "@babel/helper-plugin-utils": 7.27.1 + + "@babel/template@7.27.2": + dependencies: + "@babel/code-frame": 7.27.1 + "@babel/parser": 7.28.5 + "@babel/types": 7.28.5 + + "@babel/traverse@7.28.5": + dependencies: + "@babel/code-frame": 7.27.1 + "@babel/generator": 7.28.5 + "@babel/helper-globals": 7.28.0 + "@babel/parser": 7.28.5 + "@babel/template": 7.27.2 + "@babel/types": 7.28.5 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + "@babel/types@7.28.5": + dependencies: + "@babel/helper-string-parser": 7.27.1 + "@babel/helper-validator-identifier": 7.28.5 + + "@bcoe/v8-coverage@0.2.3": {} + + "@bundled-es-modules/cookie@2.0.1": + dependencies: + cookie: 0.7.2 + + "@bundled-es-modules/statuses@1.0.1": + dependencies: + statuses: 2.0.2 + + "@eslint-community/eslint-utils@4.9.0(eslint@9.39.1)": + dependencies: + eslint: 9.39.1 + eslint-visitor-keys: 3.4.3 + + "@eslint-community/regexpp@4.12.2": {} + + "@eslint/config-array@0.21.1": + dependencies: + "@eslint/object-schema": 2.1.7 + debug: 4.4.3 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + "@eslint/config-helpers@0.4.2": + dependencies: + "@eslint/core": 0.17.0 + + "@eslint/core@0.17.0": + dependencies: + "@types/json-schema": 7.0.15 + + "@eslint/eslintrc@3.3.3": + dependencies: + ajv: 6.12.6 + debug: 4.4.3 + espree: 10.4.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.1 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + "@eslint/js@9.39.1": {} + + "@eslint/object-schema@2.1.7": {} + + "@eslint/plugin-kit@0.4.1": + dependencies: + "@eslint/core": 0.17.0 + levn: 0.4.1 + + "@gerrit0/mini-shiki@3.19.0": + dependencies: + "@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": {} + + "@humanfs/node@0.16.7": + dependencies: + "@humanfs/core": 0.19.1 + "@humanwhocodes/retry": 0.4.3 + + "@humanwhocodes/module-importer@1.0.1": {} + + "@humanwhocodes/retry@0.4.3": {} + + "@inquirer/ansi@1.0.2": {} + + "@inquirer/confirm@5.1.21(@types/node@18.19.130)": + dependencies: + "@inquirer/core": 10.3.2(@types/node@18.19.130) + "@inquirer/type": 3.0.10(@types/node@18.19.130) + optionalDependencies: + "@types/node": 18.19.130 + + "@inquirer/core@10.3.2(@types/node@18.19.130)": + dependencies: + "@inquirer/ansi": 1.0.2 + "@inquirer/figures": 1.0.15 + "@inquirer/type": 3.0.10(@types/node@18.19.130) + cli-width: 4.1.0 + mute-stream: 2.0.0 + signal-exit: 4.1.0 + wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.3 + optionalDependencies: + "@types/node": 18.19.130 + + "@inquirer/figures@1.0.15": {} + + "@inquirer/type@3.0.10(@types/node@18.19.130)": + optionalDependencies: + "@types/node": 18.19.130 + + "@istanbuljs/load-nyc-config@1.1.0": + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.2 + resolve-from: 5.0.0 + + "@istanbuljs/schema@0.1.3": {} + + "@jest/console@29.7.0": + dependencies: + "@jest/types": 29.6.3 + "@types/node": 18.19.130 + chalk: 4.1.2 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + slash: 3.0.0 + + "@jest/core@29.7.0": + dependencies: + "@jest/console": 29.7.0 + "@jest/reporters": 29.7.0 + "@jest/test-result": 29.7.0 + "@jest/transform": 29.7.0 + "@jest/types": 29.6.3 + "@types/node": 18.19.130 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.9.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@18.19.130) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - ts-node + + "@jest/environment@29.7.0": + dependencies: + "@jest/fake-timers": 29.7.0 + "@jest/types": 29.6.3 + "@types/node": 18.19.130 + jest-mock: 29.7.0 + + "@jest/expect-utils@29.7.0": + dependencies: + jest-get-type: 29.6.3 + + "@jest/expect@29.7.0": + dependencies: + expect: 29.7.0 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color + + "@jest/fake-timers@29.7.0": + dependencies: + "@jest/types": 29.6.3 + "@sinonjs/fake-timers": 10.3.0 + "@types/node": 18.19.130 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + "@jest/globals@29.7.0": + dependencies: + "@jest/environment": 29.7.0 + "@jest/expect": 29.7.0 + "@jest/types": 29.6.3 + jest-mock: 29.7.0 + transitivePeerDependencies: + - supports-color + + "@jest/reporters@29.7.0": + dependencies: + "@bcoe/v8-coverage": 0.2.3 + "@jest/console": 29.7.0 + "@jest/test-result": 29.7.0 + "@jest/transform": 29.7.0 + "@jest/types": 29.6.3 + "@jridgewell/trace-mapping": 0.3.31 + "@types/node": 18.19.130 + chalk: 4.1.2 + collect-v8-coverage: 1.0.3 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-instrument: 6.0.3 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.2.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + jest-worker: 29.7.0 + slash: 3.0.0 + string-length: 4.0.2 + strip-ansi: 6.0.1 + v8-to-istanbul: 9.3.0 + transitivePeerDependencies: + - supports-color + + "@jest/schemas@29.6.3": + dependencies: + "@sinclair/typebox": 0.27.8 + + "@jest/source-map@29.6.3": + dependencies: + "@jridgewell/trace-mapping": 0.3.31 + callsites: 3.1.0 + graceful-fs: 4.2.11 + + "@jest/test-result@29.7.0": + dependencies: + "@jest/console": 29.7.0 + "@jest/types": 29.6.3 + "@types/istanbul-lib-coverage": 2.0.6 + collect-v8-coverage: 1.0.3 + + "@jest/test-sequencer@29.7.0": + dependencies: + "@jest/test-result": 29.7.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + slash: 3.0.0 + + "@jest/transform@29.7.0": + dependencies: + "@babel/core": 7.28.5 + "@jest/types": 29.6.3 + "@jridgewell/trace-mapping": 0.3.31 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 2.0.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + micromatch: 4.0.8 + pirates: 4.0.7 + slash: 3.0.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color + + "@jest/types@29.6.3": + dependencies: + "@jest/schemas": 29.6.3 + "@types/istanbul-lib-coverage": 2.0.6 + "@types/istanbul-reports": 3.0.4 + "@types/node": 18.19.130 + "@types/yargs": 17.0.35 + chalk: 4.1.2 + + "@jridgewell/gen-mapping@0.3.13": + dependencies: + "@jridgewell/sourcemap-codec": 1.5.5 + "@jridgewell/trace-mapping": 0.3.31 + + "@jridgewell/remapping@2.3.5": + dependencies: + "@jridgewell/gen-mapping": 0.3.13 + "@jridgewell/trace-mapping": 0.3.31 + + "@jridgewell/resolve-uri@3.1.2": {} + + "@jridgewell/source-map@0.3.11": + dependencies: + "@jridgewell/gen-mapping": 0.3.13 + "@jridgewell/trace-mapping": 0.3.31 + + "@jridgewell/sourcemap-codec@1.5.5": {} + + "@jridgewell/trace-mapping@0.3.31": + dependencies: + "@jridgewell/resolve-uri": 3.1.2 + "@jridgewell/sourcemap-codec": 1.5.5 + + "@mswjs/interceptors@0.39.8": + dependencies: + "@open-draft/deferred-promise": 2.2.0 + "@open-draft/logger": 0.3.0 + "@open-draft/until": 2.1.0 + is-node-process: 1.2.0 + outvariant: 1.4.3 + strict-event-emitter: 0.5.1 + + "@open-draft/deferred-promise@2.2.0": {} + + "@open-draft/logger@0.3.0": + dependencies: + is-node-process: 1.2.0 + outvariant: 1.4.3 + + "@open-draft/until@2.1.0": {} + + "@pkgr/core@0.2.9": {} + + "@publint/pack@0.1.2": {} + + "@shikijs/engine-oniguruma@3.19.0": + dependencies: + "@shikijs/types": 3.19.0 + "@shikijs/vscode-textmate": 10.0.2 + + "@shikijs/langs@3.19.0": + dependencies: + "@shikijs/types": 3.19.0 + + "@shikijs/themes@3.19.0": + dependencies: + "@shikijs/types": 3.19.0 + + "@shikijs/types@3.19.0": + dependencies: + "@shikijs/vscode-textmate": 10.0.2 + "@types/hast": 3.0.4 + + "@shikijs/vscode-textmate@10.0.2": {} + + "@sinclair/typebox@0.27.8": {} + + "@sinonjs/commons@3.0.1": + dependencies: + type-detect: 4.0.8 + + "@sinonjs/fake-timers@10.3.0": + dependencies: + "@sinonjs/commons": 3.0.1 + + "@tootallnate/once@2.0.0": {} + + "@types/babel__core@7.20.5": + dependencies: + "@babel/parser": 7.28.5 + "@babel/types": 7.28.5 + "@types/babel__generator": 7.27.0 + "@types/babel__template": 7.4.4 + "@types/babel__traverse": 7.28.0 + + "@types/babel__generator@7.27.0": + dependencies: + "@babel/types": 7.28.5 + + "@types/babel__template@7.4.4": + dependencies: + "@babel/parser": 7.28.5 + "@babel/types": 7.28.5 + + "@types/babel__traverse@7.28.0": + dependencies: + "@babel/types": 7.28.5 + + "@types/cookie@0.6.0": {} + + "@types/eslint-scope@3.7.7": + dependencies: + "@types/eslint": 9.6.1 + "@types/estree": 1.0.8 + + "@types/eslint@9.6.1": + dependencies: + "@types/estree": 1.0.8 + "@types/json-schema": 7.0.15 + + "@types/estree@1.0.8": {} + + "@types/graceful-fs@4.1.9": + dependencies: + "@types/node": 18.19.130 + + "@types/hast@3.0.4": + dependencies: + "@types/unist": 3.0.3 + + "@types/istanbul-lib-coverage@2.0.6": {} + + "@types/istanbul-lib-report@3.0.3": + dependencies: + "@types/istanbul-lib-coverage": 2.0.6 + + "@types/istanbul-reports@3.0.4": + dependencies: + "@types/istanbul-lib-report": 3.0.3 + + "@types/jest@29.5.14": + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + + "@types/jsdom@20.0.1": + dependencies: + "@types/node": 18.19.130 + "@types/tough-cookie": 4.0.5 + parse5: 7.3.0 + + "@types/json-schema@7.0.15": {} + + "@types/node@18.19.130": + dependencies: + undici-types: 5.26.5 + + "@types/stack-utils@2.0.3": {} + + "@types/statuses@2.0.6": {} + + "@types/tough-cookie@4.0.5": {} + + "@types/unist@3.0.3": {} + + "@types/yargs-parser@21.0.3": {} + + "@types/yargs@17.0.35": + dependencies: + "@types/yargs-parser": 21.0.3 + + "@typescript-eslint/eslint-plugin@8.48.1(@typescript-eslint/parser@8.48.1(eslint@9.39.1)(typescript@5.7.3))(eslint@9.39.1)(typescript@5.7.3)": + dependencies: + "@eslint-community/regexpp": 4.12.2 + "@typescript-eslint/parser": 8.48.1(eslint@9.39.1)(typescript@5.7.3) + "@typescript-eslint/scope-manager": 8.48.1 + "@typescript-eslint/type-utils": 8.48.1(eslint@9.39.1)(typescript@5.7.3) + "@typescript-eslint/utils": 8.48.1(eslint@9.39.1)(typescript@5.7.3) + "@typescript-eslint/visitor-keys": 8.48.1 + eslint: 9.39.1 + graphemer: 1.4.0 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.1.0(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + + "@typescript-eslint/parser@8.48.1(eslint@9.39.1)(typescript@5.7.3)": + dependencies: + "@typescript-eslint/scope-manager": 8.48.1 + "@typescript-eslint/types": 8.48.1 + "@typescript-eslint/typescript-estree": 8.48.1(typescript@5.7.3) + "@typescript-eslint/visitor-keys": 8.48.1 + debug: 4.4.3 + eslint: 9.39.1 + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + + "@typescript-eslint/project-service@8.48.1(typescript@5.7.3)": + dependencies: + "@typescript-eslint/tsconfig-utils": 8.48.1(typescript@5.7.3) + "@typescript-eslint/types": 8.48.1 + debug: 4.4.3 + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + + "@typescript-eslint/scope-manager@8.48.1": + dependencies: + "@typescript-eslint/types": 8.48.1 + "@typescript-eslint/visitor-keys": 8.48.1 + + "@typescript-eslint/tsconfig-utils@8.48.1(typescript@5.7.3)": + dependencies: + typescript: 5.7.3 + + "@typescript-eslint/type-utils@8.48.1(eslint@9.39.1)(typescript@5.7.3)": + dependencies: + "@typescript-eslint/types": 8.48.1 + "@typescript-eslint/typescript-estree": 8.48.1(typescript@5.7.3) + "@typescript-eslint/utils": 8.48.1(eslint@9.39.1)(typescript@5.7.3) + debug: 4.4.3 + eslint: 9.39.1 + ts-api-utils: 2.1.0(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + + "@typescript-eslint/types@8.48.1": {} + + "@typescript-eslint/typescript-estree@8.48.1(typescript@5.7.3)": + dependencies: + "@typescript-eslint/project-service": 8.48.1(typescript@5.7.3) + "@typescript-eslint/tsconfig-utils": 8.48.1(typescript@5.7.3) + "@typescript-eslint/types": 8.48.1 + "@typescript-eslint/visitor-keys": 8.48.1 + debug: 4.4.3 + minimatch: 9.0.5 + semver: 7.7.3 + tinyglobby: 0.2.15 + ts-api-utils: 2.1.0(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + + "@typescript-eslint/utils@8.48.1(eslint@9.39.1)(typescript@5.7.3)": + dependencies: + "@eslint-community/eslint-utils": 4.9.0(eslint@9.39.1) + "@typescript-eslint/scope-manager": 8.48.1 + "@typescript-eslint/types": 8.48.1 + "@typescript-eslint/typescript-estree": 8.48.1(typescript@5.7.3) + eslint: 9.39.1 + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + + "@typescript-eslint/visitor-keys@8.48.1": + dependencies: + "@typescript-eslint/types": 8.48.1 + eslint-visitor-keys: 4.2.1 + + "@webassemblyjs/ast@1.14.1": + dependencies: + "@webassemblyjs/helper-numbers": 1.13.2 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + + "@webassemblyjs/floating-point-hex-parser@1.13.2": {} + + "@webassemblyjs/helper-api-error@1.13.2": {} + + "@webassemblyjs/helper-buffer@1.14.1": {} + + "@webassemblyjs/helper-numbers@1.13.2": + dependencies: + "@webassemblyjs/floating-point-hex-parser": 1.13.2 + "@webassemblyjs/helper-api-error": 1.13.2 + "@xtuc/long": 4.2.2 + + "@webassemblyjs/helper-wasm-bytecode@1.13.2": {} + + "@webassemblyjs/helper-wasm-section@1.14.1": + dependencies: + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-buffer": 1.14.1 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/wasm-gen": 1.14.1 + + "@webassemblyjs/ieee754@1.13.2": + dependencies: + "@xtuc/ieee754": 1.2.0 + + "@webassemblyjs/leb128@1.13.2": + dependencies: + "@xtuc/long": 4.2.2 + + "@webassemblyjs/utf8@1.13.2": {} + + "@webassemblyjs/wasm-edit@1.14.1": + dependencies: + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-buffer": 1.14.1 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/helper-wasm-section": 1.14.1 + "@webassemblyjs/wasm-gen": 1.14.1 + "@webassemblyjs/wasm-opt": 1.14.1 + "@webassemblyjs/wasm-parser": 1.14.1 + "@webassemblyjs/wast-printer": 1.14.1 + + "@webassemblyjs/wasm-gen@1.14.1": + dependencies: + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/ieee754": 1.13.2 + "@webassemblyjs/leb128": 1.13.2 + "@webassemblyjs/utf8": 1.13.2 + + "@webassemblyjs/wasm-opt@1.14.1": + dependencies: + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-buffer": 1.14.1 + "@webassemblyjs/wasm-gen": 1.14.1 + "@webassemblyjs/wasm-parser": 1.14.1 + + "@webassemblyjs/wasm-parser@1.14.1": + dependencies: + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-api-error": 1.13.2 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/ieee754": 1.13.2 + "@webassemblyjs/leb128": 1.13.2 + "@webassemblyjs/utf8": 1.13.2 + + "@webassemblyjs/wast-printer@1.14.1": + dependencies: + "@webassemblyjs/ast": 1.14.1 + "@xtuc/long": 4.2.2 + + "@xtuc/ieee754@1.2.0": {} + + "@xtuc/long@4.2.2": {} + + abab@2.0.6: {} + + acorn-globals@7.0.1: + dependencies: + acorn: 8.15.0 + acorn-walk: 8.3.4 + + acorn-import-phases@1.0.4(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + + acorn-jsx@5.3.2(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + + acorn-walk@8.3.4: + dependencies: + acorn: 8.15.0 + + acorn@8.15.0: {} + + agent-base@6.0.2: + dependencies: + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + ajv-formats@2.1.1(ajv@8.17.1): + optionalDependencies: + ajv: 8.17.1 + + ajv-keywords@5.1.0(ajv@8.17.1): + dependencies: + ajv: 8.17.1 + fast-deep-equal: 3.1.3 + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ajv@8.17.1: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.0 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-escapes@7.2.0: + dependencies: + environment: 1.1.0 + + ansi-regex@5.0.1: {} + + ansi-regex@6.2.2: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + ansi-styles@6.2.3: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + + asynckit@0.4.0: {} + + auth0@4.37.0: + dependencies: + jose: 4.15.9 + undici-types: 6.21.0 + uuid: 9.0.1 + + babel-jest@29.7.0(@babel/core@7.28.5): + dependencies: + "@babel/core": 7.28.5 + "@jest/transform": 29.7.0 + "@types/babel__core": 7.20.5 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 29.6.3(@babel/core@7.28.5) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-istanbul@6.1.1: + dependencies: + "@babel/helper-plugin-utils": 7.27.1 + "@istanbuljs/load-nyc-config": 1.1.0 + "@istanbuljs/schema": 0.1.3 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-jest-hoist@29.6.3: + dependencies: + "@babel/template": 7.27.2 + "@babel/types": 7.28.5 + "@types/babel__core": 7.20.5 + "@types/babel__traverse": 7.28.0 + + babel-preset-current-node-syntax@1.2.0(@babel/core@7.28.5): + dependencies: + "@babel/core": 7.28.5 + "@babel/plugin-syntax-async-generators": 7.8.4(@babel/core@7.28.5) + "@babel/plugin-syntax-bigint": 7.8.3(@babel/core@7.28.5) + "@babel/plugin-syntax-class-properties": 7.12.13(@babel/core@7.28.5) + "@babel/plugin-syntax-class-static-block": 7.14.5(@babel/core@7.28.5) + "@babel/plugin-syntax-import-attributes": 7.27.1(@babel/core@7.28.5) + "@babel/plugin-syntax-import-meta": 7.10.4(@babel/core@7.28.5) + "@babel/plugin-syntax-json-strings": 7.8.3(@babel/core@7.28.5) + "@babel/plugin-syntax-logical-assignment-operators": 7.10.4(@babel/core@7.28.5) + "@babel/plugin-syntax-nullish-coalescing-operator": 7.8.3(@babel/core@7.28.5) + "@babel/plugin-syntax-numeric-separator": 7.10.4(@babel/core@7.28.5) + "@babel/plugin-syntax-object-rest-spread": 7.8.3(@babel/core@7.28.5) + "@babel/plugin-syntax-optional-catch-binding": 7.8.3(@babel/core@7.28.5) + "@babel/plugin-syntax-optional-chaining": 7.8.3(@babel/core@7.28.5) + "@babel/plugin-syntax-private-property-in-object": 7.14.5(@babel/core@7.28.5) + "@babel/plugin-syntax-top-level-await": 7.14.5(@babel/core@7.28.5) + + babel-preset-jest@29.6.3(@babel/core@7.28.5): + dependencies: + "@babel/core": 7.28.5 + babel-plugin-jest-hoist: 29.6.3 + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.5) + + balanced-match@1.0.2: {} + + baseline-browser-mapping@2.9.2: {} + + brace-expansion@1.1.12: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.2: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.28.1: + dependencies: + baseline-browser-mapping: 2.9.2 + caniuse-lite: 1.0.30001759 + electron-to-chromium: 1.5.265 + node-releases: 2.0.27 + update-browserslist-db: 1.2.2(browserslist@4.28.1) + + bs-logger@0.2.6: + dependencies: + fast-json-stable-stringify: 2.1.0 + + bser@2.1.1: + dependencies: + node-int64: 0.4.0 + + buffer-from@1.1.2: {} + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + callsites@3.1.0: {} + + camelcase@5.3.1: {} + + camelcase@6.3.0: {} + + caniuse-lite@1.0.30001759: {} + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + char-regex@1.0.2: {} + + chrome-trace-event@1.0.4: {} + + ci-info@3.9.0: {} + + cjs-module-lexer@1.4.3: {} + + cli-cursor@5.0.0: + dependencies: + restore-cursor: 5.1.0 + + cli-truncate@5.1.1: + dependencies: + slice-ansi: 7.1.2 + string-width: 8.1.0 + + cli-width@4.1.0: {} + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + co@4.6.0: {} + + collect-v8-coverage@1.0.3: {} + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + colorette@2.0.20: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + commander@14.0.2: {} + + commander@2.20.3: {} + + concat-map@0.0.1: {} + + convert-source-map@2.0.0: {} + + cookie@0.7.2: {} + + create-jest@29.7.0(@types/node@18.19.130): + dependencies: + "@jest/types": 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@18.19.130) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - "@types/node" + - babel-plugin-macros + - supports-color + - ts-node + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + cssom@0.3.8: {} + + cssom@0.5.0: {} + + cssstyle@2.3.0: + dependencies: + cssom: 0.3.8 + + data-urls@3.0.2: + dependencies: + abab: 2.0.6 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + decimal.js@10.6.0: {} + + dedent@1.7.0: {} + + deep-is@0.1.4: {} + + deepmerge@4.3.1: {} + + delayed-stream@1.0.0: {} + + detect-newline@3.1.0: {} + + diff-sequences@29.6.3: {} + + domexception@4.0.0: + dependencies: + webidl-conversions: 7.0.0 + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + electron-to-chromium@1.5.265: {} + + emittery@0.13.1: {} + + emoji-regex@10.6.0: {} + + emoji-regex@8.0.0: {} + + enhanced-resolve@5.18.3: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.0 + + entities@4.5.0: {} + + entities@6.0.1: {} + + environment@1.1.0: {} + + error-ex@1.3.4: + dependencies: + is-arrayish: 0.2.1 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-module-lexer@1.7.0: {} + + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + escalade@3.2.0: {} + + escape-string-regexp@2.0.0: {} + + escape-string-regexp@4.0.0: {} + + escodegen@2.1.0: + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + + eslint-config-prettier@10.1.8(eslint@9.39.1): + dependencies: + eslint: 9.39.1 + + eslint-plugin-prettier@5.5.4(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.1))(eslint@9.39.1)(prettier@3.4.2): + dependencies: + eslint: 9.39.1 + prettier: 3.4.2 + prettier-linter-helpers: 1.0.0 + synckit: 0.11.11 + optionalDependencies: + "@types/eslint": 9.6.1 + eslint-config-prettier: 10.1.8(eslint@9.39.1) + + eslint-scope@5.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + + eslint-scope@8.4.0: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@4.2.1: {} + + eslint@9.39.1: + dependencies: + "@eslint-community/eslint-utils": 4.9.0(eslint@9.39.1) + "@eslint-community/regexpp": 4.12.2 + "@eslint/config-array": 0.21.1 + "@eslint/config-helpers": 0.4.2 + "@eslint/core": 0.17.0 + "@eslint/eslintrc": 3.3.3 + "@eslint/js": 9.39.1 + "@eslint/plugin-kit": 0.4.1 + "@humanfs/node": 0.16.7 + "@humanwhocodes/module-importer": 1.0.1 + "@humanwhocodes/retry": 0.4.3 + "@types/estree": 1.0.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.3 + escape-string-regexp: 4.0.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + transitivePeerDependencies: + - supports-color + + espree@10.4.0: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 4.2.1 + + esprima@4.0.1: {} + + esquery@1.6.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@4.3.0: {} + + estraverse@5.3.0: {} + + esutils@2.0.3: {} + + eventemitter3@5.0.1: {} + + events@3.3.0: {} + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + exit@0.1.2: {} + + expect@29.7.0: + dependencies: + "@jest/expect-utils": 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + + fast-deep-equal@3.1.3: {} + + fast-diff@1.3.0: {} + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fast-uri@3.1.0: {} + + fb-watchman@2.0.2: + dependencies: + bser: 2.1.1 + + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flat-cache@4.0.1: + dependencies: + flatted: 3.3.3 + keyv: 4.5.4 + + flatted@3.3.3: {} + + form-data@4.0.5: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.2 + mime-types: 2.1.35 + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-east-asian-width@1.4.0: {} + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + get-package-type@0.1.0: {} + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + + get-stream@6.0.1: {} + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob-to-regexp@0.4.1: {} + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + globals@14.0.0: {} + + gopd@1.2.0: {} + + graceful-fs@4.2.11: {} + + graphemer@1.4.0: {} + + graphql@16.12.0: {} + + handlebars@4.7.8: + dependencies: + minimist: 1.2.8 + neo-async: 2.6.2 + source-map: 0.6.1 + wordwrap: 1.0.0 + optionalDependencies: + uglify-js: 3.19.3 + + has-flag@4.0.0: {} + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + headers-polyfill@4.0.3: {} + + html-encoding-sniffer@3.0.0: + dependencies: + whatwg-encoding: 2.0.0 + + html-escaper@2.0.2: {} + + http-proxy-agent@5.0.0: + dependencies: + "@tootallnate/once": 2.0.0 + agent-base: 6.0.2 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + https-proxy-agent@5.0.1: + dependencies: + agent-base: 6.0.2 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + human-signals@2.1.0: {} + + husky@9.1.7: {} + + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + + ignore@5.3.2: {} + + ignore@7.0.5: {} + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + import-local@3.2.0: + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + + imurmurhash@0.1.4: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + is-arrayish@0.2.1: {} + + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-fullwidth-code-point@5.1.0: + dependencies: + get-east-asian-width: 1.4.0 + + is-generator-fn@2.1.0: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-node-process@1.2.0: {} + + is-number@7.0.0: {} + + is-potential-custom-element-name@1.0.1: {} + + is-stream@2.0.1: {} + + isexe@2.0.0: {} + + istanbul-lib-coverage@3.2.2: {} + + istanbul-lib-instrument@5.2.1: + dependencies: + "@babel/core": 7.28.5 + "@babel/parser": 7.28.5 + "@istanbuljs/schema": 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + istanbul-lib-instrument@6.0.3: + dependencies: + "@babel/core": 7.28.5 + "@babel/parser": 7.28.5 + "@istanbuljs/schema": 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 7.7.3 + transitivePeerDependencies: + - supports-color + + istanbul-lib-report@3.0.1: + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + + istanbul-lib-source-maps@4.0.1: + dependencies: + debug: 4.4.3 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + + istanbul-reports@3.2.0: + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + + jest-changed-files@29.7.0: + dependencies: + execa: 5.1.1 + jest-util: 29.7.0 + p-limit: 3.1.0 + + jest-circus@29.7.0: + dependencies: + "@jest/environment": 29.7.0 + "@jest/expect": 29.7.0 + "@jest/test-result": 29.7.0 + "@jest/types": 29.6.3 + "@types/node": 18.19.130 + chalk: 4.1.2 + co: 4.6.0 + dedent: 1.7.0 + is-generator-fn: 2.1.0 + jest-each: 29.7.0 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + p-limit: 3.1.0 + pretty-format: 29.7.0 + pure-rand: 6.1.0 + slash: 3.0.0 + stack-utils: 2.0.6 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-cli@29.7.0(@types/node@18.19.130): + dependencies: + "@jest/core": 29.7.0 + "@jest/test-result": 29.7.0 + "@jest/types": 29.6.3 + chalk: 4.1.2 + create-jest: 29.7.0(@types/node@18.19.130) + exit: 0.1.2 + import-local: 3.2.0 + jest-config: 29.7.0(@types/node@18.19.130) + jest-util: 29.7.0 + jest-validate: 29.7.0 + yargs: 17.7.2 + transitivePeerDependencies: + - "@types/node" + - babel-plugin-macros + - supports-color + - ts-node + + jest-config@29.7.0(@types/node@18.19.130): + dependencies: + "@babel/core": 7.28.5 + "@jest/test-sequencer": 29.7.0 + "@jest/types": 29.6.3 + babel-jest: 29.7.0(@babel/core@7.28.5) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + "@types/node": 18.19.130 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-diff@29.7.0: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-docblock@29.7.0: + dependencies: + detect-newline: 3.1.0 + + jest-each@29.7.0: + dependencies: + "@jest/types": 29.6.3 + chalk: 4.1.2 + jest-get-type: 29.6.3 + jest-util: 29.7.0 + pretty-format: 29.7.0 + + jest-environment-jsdom@29.7.0: + dependencies: + "@jest/environment": 29.7.0 + "@jest/fake-timers": 29.7.0 + "@jest/types": 29.6.3 + "@types/jsdom": 20.0.1 + "@types/node": 18.19.130 + jest-mock: 29.7.0 + jest-util: 29.7.0 + jsdom: 20.0.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + jest-environment-node@29.7.0: + dependencies: + "@jest/environment": 29.7.0 + "@jest/fake-timers": 29.7.0 + "@jest/types": 29.6.3 + "@types/node": 18.19.130 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-haste-map@29.7.0: + dependencies: + "@jest/types": 29.6.3 + "@types/graceful-fs": 4.1.9 + "@types/node": 18.19.130 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + jest-worker: 29.7.0 + micromatch: 4.0.8 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + + jest-leak-detector@29.7.0: + dependencies: + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-matcher-utils@29.7.0: + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-message-util@29.7.0: + dependencies: + "@babel/code-frame": 7.27.1 + "@jest/types": 29.6.3 + "@types/stack-utils": 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-mock@29.7.0: + dependencies: + "@jest/types": 29.6.3 + "@types/node": 18.19.130 + jest-util: 29.7.0 + + jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): + optionalDependencies: + jest-resolve: 29.7.0 + + jest-regex-util@29.6.3: {} + + jest-resolve-dependencies@29.7.0: + dependencies: + jest-regex-util: 29.6.3 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color + + jest-resolve@29.7.0: + dependencies: + chalk: 4.1.2 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) + jest-util: 29.7.0 + jest-validate: 29.7.0 + resolve: 1.22.11 + resolve.exports: 2.0.3 + slash: 3.0.0 + + jest-runner@29.7.0: + dependencies: + "@jest/console": 29.7.0 + "@jest/environment": 29.7.0 + "@jest/test-result": 29.7.0 + "@jest/transform": 29.7.0 + "@jest/types": 29.6.3 + "@types/node": 18.19.130 + chalk: 4.1.2 + emittery: 0.13.1 + graceful-fs: 4.2.11 + jest-docblock: 29.7.0 + jest-environment-node: 29.7.0 + jest-haste-map: 29.7.0 + jest-leak-detector: 29.7.0 + jest-message-util: 29.7.0 + jest-resolve: 29.7.0 + jest-runtime: 29.7.0 + jest-util: 29.7.0 + jest-watcher: 29.7.0 + jest-worker: 29.7.0 + p-limit: 3.1.0 + source-map-support: 0.5.13 + transitivePeerDependencies: + - supports-color + + jest-runtime@29.7.0: + dependencies: + "@jest/environment": 29.7.0 + "@jest/fake-timers": 29.7.0 + "@jest/globals": 29.7.0 + "@jest/source-map": 29.6.3 + "@jest/test-result": 29.7.0 + "@jest/transform": 29.7.0 + "@jest/types": 29.6.3 + "@types/node": 18.19.130 + chalk: 4.1.2 + cjs-module-lexer: 1.4.3 + collect-v8-coverage: 1.0.3 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + + jest-snapshot@29.7.0: + dependencies: + "@babel/core": 7.28.5 + "@babel/generator": 7.28.5 + "@babel/plugin-syntax-jsx": 7.27.1(@babel/core@7.28.5) + "@babel/plugin-syntax-typescript": 7.27.1(@babel/core@7.28.5) + "@babel/types": 7.28.5 + "@jest/expect-utils": 29.7.0 + "@jest/transform": 29.7.0 + "@jest/types": 29.6.3 + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.5) + chalk: 4.1.2 + expect: 29.7.0 + graceful-fs: 4.2.11 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + natural-compare: 1.4.0 + pretty-format: 29.7.0 + semver: 7.7.3 + transitivePeerDependencies: + - supports-color + + jest-util@29.7.0: + dependencies: + "@jest/types": 29.6.3 + "@types/node": 18.19.130 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + jest-validate@29.7.0: + dependencies: + "@jest/types": 29.6.3 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 29.6.3 + leven: 3.1.0 + pretty-format: 29.7.0 + + jest-watcher@29.7.0: + dependencies: + "@jest/test-result": 29.7.0 + "@jest/types": 29.6.3 + "@types/node": 18.19.130 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.13.1 + jest-util: 29.7.0 + string-length: 4.0.2 + + jest-worker@27.5.1: + dependencies: + "@types/node": 18.19.130 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest-worker@29.7.0: + dependencies: + "@types/node": 18.19.130 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest@29.7.0(@types/node@18.19.130): + dependencies: + "@jest/core": 29.7.0 + "@jest/types": 29.6.3 + import-local: 3.2.0 + jest-cli: 29.7.0(@types/node@18.19.130) + transitivePeerDependencies: + - "@types/node" + - babel-plugin-macros + - supports-color + - ts-node + + jose@4.15.9: {} + + js-tokens@4.0.0: {} + + js-yaml@3.14.2: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + js-yaml@4.1.1: + dependencies: + argparse: 2.0.1 + + jsdom@20.0.3: + dependencies: + abab: 2.0.6 + acorn: 8.15.0 + acorn-globals: 7.0.1 + cssom: 0.5.0 + cssstyle: 2.3.0 + data-urls: 3.0.2 + decimal.js: 10.6.0 + domexception: 4.0.0 + escodegen: 2.1.0 + form-data: 4.0.5 + html-encoding-sniffer: 3.0.0 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.22 + parse5: 7.3.0 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 4.1.4 + w3c-xmlserializer: 4.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 2.0.0 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + ws: 8.18.3 + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + jsesc@3.1.0: {} + + json-buffer@3.0.1: {} + + json-parse-even-better-errors@2.3.1: {} + + json-schema-traverse@0.4.1: {} + + json-schema-traverse@1.0.0: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json-stringify-safe@5.0.1: {} + + json5@2.2.3: {} + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + kleur@3.0.3: {} + + leven@3.1.0: {} + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + lines-and-columns@1.2.4: {} + + linkify-it@5.0.0: + dependencies: + uc.micro: 2.1.0 + + lint-staged@16.2.7: + dependencies: + commander: 14.0.2 + listr2: 9.0.5 + micromatch: 4.0.8 + nano-spawn: 2.0.0 + pidtree: 0.6.0 + string-argv: 0.3.2 + yaml: 2.8.2 + + listr2@9.0.5: + dependencies: + cli-truncate: 5.1.1 + colorette: 2.0.20 + eventemitter3: 5.0.1 + log-update: 6.1.0 + rfdc: 1.4.1 + wrap-ansi: 9.0.2 + + loader-runner@4.3.1: {} + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash.memoize@4.1.2: {} + + lodash.merge@4.6.2: {} + + log-update@6.1.0: + dependencies: + ansi-escapes: 7.2.0 + cli-cursor: 5.0.0 + slice-ansi: 7.1.2 + strip-ansi: 7.1.2 + wrap-ansi: 9.0.2 + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lunr@2.3.9: {} + + make-dir@4.0.0: + dependencies: + semver: 7.7.3 + + make-error@1.3.6: {} + + makeerror@1.0.12: + dependencies: + tmpl: 1.0.5 + + markdown-it@14.1.0: + dependencies: + argparse: 2.0.1 + entities: 4.5.0 + linkify-it: 5.0.0 + mdurl: 2.0.0 + punycode.js: 2.3.1 + uc.micro: 2.1.0 + + math-intrinsics@1.1.0: {} + + mdurl@2.0.0: {} + + merge-stream@2.0.0: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mimic-fn@2.1.0: {} + + mimic-function@5.0.1: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.12 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.2 + + minimist@1.2.8: {} + + mri@1.2.0: {} + + ms@2.1.3: {} + + msw@2.11.2(@types/node@18.19.130)(typescript@5.7.3): + dependencies: + "@bundled-es-modules/cookie": 2.0.1 + "@bundled-es-modules/statuses": 1.0.1 + "@inquirer/confirm": 5.1.21(@types/node@18.19.130) + "@mswjs/interceptors": 0.39.8 + "@open-draft/deferred-promise": 2.2.0 + "@open-draft/until": 2.1.0 + "@types/cookie": 0.6.0 + "@types/statuses": 2.0.6 + graphql: 16.12.0 + headers-polyfill: 4.0.3 + is-node-process: 1.2.0 + outvariant: 1.4.3 + path-to-regexp: 6.3.0 + picocolors: 1.1.1 + rettime: 0.7.0 + strict-event-emitter: 0.5.1 + tough-cookie: 6.0.0 + type-fest: 4.41.0 + yargs: 17.7.2 + optionalDependencies: + typescript: 5.7.3 + transitivePeerDependencies: + - "@types/node" + + mute-stream@2.0.0: {} + + nano-spawn@2.0.0: {} + + natural-compare@1.4.0: {} + + neo-async@2.6.2: {} + + nock@14.0.10: + dependencies: + "@mswjs/interceptors": 0.39.8 + json-stringify-safe: 5.0.1 + propagate: 2.0.1 + + node-int64@0.4.0: {} + + node-releases@2.0.27: {} + + normalize-path@3.0.0: {} + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + nwsapi@2.2.22: {} + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + onetime@7.0.0: + dependencies: + mimic-function: 5.0.1 + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + outvariant@1.4.3: {} + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + p-try@2.2.0: {} + + package-manager-detector@1.6.0: {} + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-json@5.2.0: + dependencies: + "@babel/code-frame": 7.27.1 + error-ex: 1.3.4 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + parse5@7.3.0: + dependencies: + entities: 6.0.1 + + path-exists@4.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-to-regexp@6.3.0: {} + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + picomatch@4.0.3: {} + + pidtree@0.6.0: {} + + pirates@4.0.7: {} + + pkg-dir@4.2.0: + dependencies: + find-up: 4.1.0 + + prelude-ls@1.2.1: {} + + prettier-linter-helpers@1.0.0: + dependencies: + fast-diff: 1.3.0 + + prettier@3.4.2: {} + + pretty-format@29.7.0: + dependencies: + "@jest/schemas": 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + propagate@2.0.1: {} + + psl@1.15.0: + dependencies: + punycode: 2.3.1 + + publint@0.3.15: + dependencies: + "@publint/pack": 0.1.2 + package-manager-detector: 1.6.0 + picocolors: 1.1.1 + sade: 1.8.1 + + punycode.js@2.3.1: {} + + punycode@2.3.1: {} + + pure-rand@6.1.0: {} + + querystringify@2.2.0: {} + + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + + react-is@18.3.1: {} + + require-directory@2.1.1: {} + + require-from-string@2.0.2: {} + + requires-port@1.0.0: {} + + resolve-cwd@3.0.0: + dependencies: + resolve-from: 5.0.0 + + resolve-from@4.0.0: {} + + resolve-from@5.0.0: {} + + resolve.exports@2.0.3: {} + + resolve@1.22.11: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + restore-cursor@5.1.0: + dependencies: + onetime: 7.0.0 + signal-exit: 4.1.0 + + rettime@0.7.0: {} + + rfdc@1.4.1: {} + + sade@1.8.1: + dependencies: + mri: 1.2.0 + + safe-buffer@5.2.1: {} + + safer-buffer@2.1.2: {} + + saxes@6.0.0: + dependencies: + xmlchars: 2.2.0 + + schema-utils@4.3.3: + dependencies: + "@types/json-schema": 7.0.15 + ajv: 8.17.1 + ajv-formats: 2.1.1(ajv@8.17.1) + ajv-keywords: 5.1.0(ajv@8.17.1) + + semver@6.3.1: {} + + semver@7.7.3: {} + + serialize-javascript@6.0.2: + dependencies: + randombytes: 2.1.0 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + sisteransi@1.0.5: {} + + slash@3.0.0: {} + + slice-ansi@7.1.2: + dependencies: + ansi-styles: 6.2.3 + is-fullwidth-code-point: 5.1.0 + + source-map-support@0.5.13: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + source-map@0.7.6: {} + + sprintf-js@1.0.3: {} + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + + statuses@2.0.2: {} + + strict-event-emitter@0.5.1: {} + + string-argv@0.3.2: {} + + string-length@4.0.2: + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@7.2.0: + dependencies: + emoji-regex: 10.6.0 + get-east-asian-width: 1.4.0 + strip-ansi: 7.1.2 + + string-width@8.1.0: + dependencies: + get-east-asian-width: 1.4.0 + strip-ansi: 7.1.2 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.2: + dependencies: + ansi-regex: 6.2.2 + + strip-bom@4.0.0: {} + + strip-final-newline@2.0.0: {} + + strip-json-comments@3.1.1: {} + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + symbol-tree@3.2.4: {} + + synckit@0.11.11: + dependencies: + "@pkgr/core": 0.2.9 + + tapable@2.3.0: {} + + terser-webpack-plugin@5.3.14(webpack@5.103.0): + dependencies: + "@jridgewell/trace-mapping": 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.3 + serialize-javascript: 6.0.2 + terser: 5.44.1 + webpack: 5.103.0 + + terser@5.44.1: + dependencies: + "@jridgewell/source-map": 0.3.11 + acorn: 8.15.0 + commander: 2.20.3 + source-map-support: 0.5.21 + + test-exclude@6.0.0: + dependencies: + "@istanbuljs/schema": 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + + tldts-core@7.0.19: {} + + tldts@7.0.19: + dependencies: + tldts-core: 7.0.19 + + tmpl@1.0.5: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + tough-cookie@4.1.4: + dependencies: + psl: 1.15.0 + punycode: 2.3.1 + universalify: 0.2.0 + url-parse: 1.5.10 + + tough-cookie@6.0.0: + dependencies: + tldts: 7.0.19 + + tr46@3.0.0: + dependencies: + punycode: 2.3.1 + + ts-api-utils@2.1.0(typescript@5.7.3): + dependencies: + typescript: 5.7.3 + + ts-jest@29.4.6(@babel/core@7.28.5)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.28.5))(jest-util@29.7.0)(jest@29.7.0(@types/node@18.19.130))(typescript@5.7.3): + dependencies: + bs-logger: 0.2.6 + fast-json-stable-stringify: 2.1.0 + handlebars: 4.7.8 + jest: 29.7.0(@types/node@18.19.130) + json5: 2.2.3 + lodash.memoize: 4.1.2 + make-error: 1.3.6 + semver: 7.7.3 + type-fest: 4.41.0 + typescript: 5.7.3 + yargs-parser: 21.1.1 + optionalDependencies: + "@babel/core": 7.28.5 + "@jest/transform": 29.7.0 + "@jest/types": 29.6.3 + babel-jest: 29.7.0(@babel/core@7.28.5) + jest-util: 29.7.0 + + ts-loader@9.5.4(typescript@5.7.3)(webpack@5.103.0): + dependencies: + chalk: 4.1.2 + enhanced-resolve: 5.18.3 + micromatch: 4.0.8 + semver: 7.7.3 + source-map: 0.7.6 + typescript: 5.7.3 + webpack: 5.103.0 + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + type-detect@4.0.8: {} + + type-fest@0.21.3: {} + + type-fest@4.41.0: {} + + typedoc-plugin-missing-exports@4.1.2(typedoc@0.28.15(typescript@5.7.3)): + dependencies: + typedoc: 0.28.15(typescript@5.7.3) + + typedoc@0.28.15(typescript@5.7.3): + dependencies: + "@gerrit0/mini-shiki": 3.19.0 + lunr: 2.3.9 + markdown-it: 14.1.0 + minimatch: 9.0.5 + typescript: 5.7.3 + yaml: 2.8.2 + + typescript@5.7.3: {} + + uc.micro@2.1.0: {} + + uglify-js@3.19.3: + optional: true + + undici-types@5.26.5: {} + + undici-types@6.21.0: {} + + undici@7.16.0: {} + + universalify@0.2.0: {} + + update-browserslist-db@1.2.2(browserslist@4.28.1): + dependencies: + browserslist: 4.28.1 + escalade: 3.2.0 + picocolors: 1.1.1 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + url-parse@1.5.10: + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + + uuid@11.1.0: {} + + uuid@9.0.1: {} + + v8-to-istanbul@9.3.0: + dependencies: + "@jridgewell/trace-mapping": 0.3.31 + "@types/istanbul-lib-coverage": 2.0.6 + convert-source-map: 2.0.0 + + w3c-xmlserializer@4.0.0: + dependencies: + xml-name-validator: 4.0.0 + + walker@1.0.8: + dependencies: + makeerror: 1.0.12 + + watchpack@2.4.4: + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + + webidl-conversions@7.0.0: {} + + webpack-sources@3.3.3: {} + + webpack@5.103.0: + dependencies: + "@types/eslint-scope": 3.7.7 + "@types/estree": 1.0.8 + "@types/json-schema": 7.0.15 + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/wasm-edit": 1.14.1 + "@webassemblyjs/wasm-parser": 1.14.1 + acorn: 8.15.0 + acorn-import-phases: 1.0.4(acorn@8.15.0) + browserslist: 4.28.1 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.18.3 + es-module-lexer: 1.7.0 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.1 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 4.3.3 + tapable: 2.3.0 + terser-webpack-plugin: 5.3.14(webpack@5.103.0) + watchpack: 2.4.4 + webpack-sources: 3.3.3 + transitivePeerDependencies: + - "@swc/core" + - esbuild + - uglify-js + + whatwg-encoding@2.0.0: + dependencies: + iconv-lite: 0.6.3 + + whatwg-mimetype@3.0.0: {} + + whatwg-url@11.0.0: + dependencies: + tr46: 3.0.0 + webidl-conversions: 7.0.0 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + word-wrap@1.2.5: {} + + wordwrap@1.0.0: {} + + wrap-ansi@6.2.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@9.0.2: + dependencies: + ansi-styles: 6.2.3 + string-width: 7.2.0 + strip-ansi: 7.1.2 + + wrappy@1.0.2: {} + + write-file-atomic@4.0.2: + dependencies: + imurmurhash: 0.1.4 + signal-exit: 3.0.7 + + ws@8.18.3: {} + + xml-name-validator@4.0.0: {} + + xmlchars@2.2.0: {} + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yaml@2.8.2: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yocto-queue@0.1.0: {} + + yoctocolors-cjs@2.1.3: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000000..339da38e3d --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1 @@ +packages: ["."] diff --git a/reference.md b/reference.md index 2633abfe85..733a8a0580 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`
@@ -1534,7 +1534,7 @@ const response = page.response;
-**requestOptions:** `Connections.RequestOptions` +**requestOptions:** `ConnectionsClient.RequestOptions`
@@ -1600,7 +1600,7 @@ await client.connections.create({
-**requestOptions:** `Connections.RequestOptions` +**requestOptions:** `ConnectionsClient.RequestOptions`
@@ -1674,7 +1674,7 @@ await client.connections.get("id", {
-**requestOptions:** `Connections.RequestOptions` +**requestOptions:** `ConnectionsClient.RequestOptions`
@@ -1737,7 +1737,7 @@ await client.connections.delete("id");
-**requestOptions:** `Connections.RequestOptions` +**requestOptions:** `ConnectionsClient.RequestOptions`
@@ -1810,7 +1810,7 @@ await client.connections.update("id");
-**requestOptions:** `Connections.RequestOptions` +**requestOptions:** `ConnectionsClient.RequestOptions`
@@ -1873,7 +1873,7 @@ await client.connections.checkStatus("id");
-**requestOptions:** `Connections.RequestOptions` +**requestOptions:** `ConnectionsClient.RequestOptions`
@@ -1930,7 +1930,7 @@ await client.customDomains.list();
-**requestOptions:** `CustomDomains.RequestOptions` +**requestOptions:** `CustomDomainsClient.RequestOptions`
@@ -2007,7 +2007,7 @@ await client.customDomains.create({
-**requestOptions:** `CustomDomains.RequestOptions` +**requestOptions:** `CustomDomainsClient.RequestOptions`
@@ -2070,7 +2070,7 @@ await client.customDomains.get("id");
-**requestOptions:** `CustomDomains.RequestOptions` +**requestOptions:** `CustomDomainsClient.RequestOptions`
@@ -2133,7 +2133,7 @@ await client.customDomains.delete("id");
-**requestOptions:** `CustomDomains.RequestOptions` +**requestOptions:** `CustomDomainsClient.RequestOptions`
@@ -2224,7 +2224,7 @@ await client.customDomains.update("id");
-**requestOptions:** `CustomDomains.RequestOptions` +**requestOptions:** `CustomDomainsClient.RequestOptions`
@@ -2287,7 +2287,7 @@ await client.customDomains.test("id");
-**requestOptions:** `CustomDomains.RequestOptions` +**requestOptions:** `CustomDomainsClient.RequestOptions`
@@ -2357,7 +2357,7 @@ await client.customDomains.verify("id");
-**requestOptions:** `CustomDomains.RequestOptions` +**requestOptions:** `CustomDomainsClient.RequestOptions`
@@ -2452,7 +2452,7 @@ const response = page.response;
-**requestOptions:** `DeviceCredentials.RequestOptions` +**requestOptions:** `DeviceCredentialsClient.RequestOptions`
@@ -2521,7 +2521,7 @@ await client.deviceCredentials.createPublicKey({
-**requestOptions:** `DeviceCredentials.RequestOptions` +**requestOptions:** `DeviceCredentialsClient.RequestOptions`
@@ -2584,7 +2584,7 @@ await client.deviceCredentials.delete("id");
-**requestOptions:** `DeviceCredentials.RequestOptions` +**requestOptions:** `DeviceCredentialsClient.RequestOptions`
@@ -2651,7 +2651,7 @@ await client.emailTemplates.create({
-**requestOptions:** `EmailTemplates.RequestOptions` +**requestOptions:** `EmailTemplatesClient.RequestOptions`
@@ -2714,7 +2714,7 @@ await client.emailTemplates.get("verify_email");
-**requestOptions:** `EmailTemplates.RequestOptions` +**requestOptions:** `EmailTemplatesClient.RequestOptions`
@@ -2787,7 +2787,7 @@ await client.emailTemplates.set("verify_email", {
-**requestOptions:** `EmailTemplates.RequestOptions` +**requestOptions:** `EmailTemplatesClient.RequestOptions`
@@ -2858,7 +2858,7 @@ await client.emailTemplates.update("verify_email");
-**requestOptions:** `EmailTemplates.RequestOptions` +**requestOptions:** `EmailTemplatesClient.RequestOptions`
@@ -2911,7 +2911,7 @@ await client.eventStreams.list({
-**requestOptions:** `EventStreams.RequestOptions` +**requestOptions:** `EventStreamsClient.RequestOptions`
@@ -2970,7 +2970,7 @@ await client.eventStreams.create({
-**requestOptions:** `EventStreams.RequestOptions` +**requestOptions:** `EventStreamsClient.RequestOptions`
@@ -3018,7 +3018,7 @@ await client.eventStreams.get("id");
-**requestOptions:** `EventStreams.RequestOptions` +**requestOptions:** `EventStreamsClient.RequestOptions`
@@ -3066,7 +3066,7 @@ await client.eventStreams.delete("id");
-**requestOptions:** `EventStreams.RequestOptions` +**requestOptions:** `EventStreamsClient.RequestOptions`
@@ -3122,7 +3122,7 @@ await client.eventStreams.update("id");
-**requestOptions:** `EventStreams.RequestOptions` +**requestOptions:** `EventStreamsClient.RequestOptions`
@@ -3180,7 +3180,7 @@ await client.eventStreams.test("id", {
-**requestOptions:** `EventStreams.RequestOptions` +**requestOptions:** `EventStreamsClient.RequestOptions`
@@ -3252,7 +3252,7 @@ const response = page.response;
-**requestOptions:** `Flows.RequestOptions` +**requestOptions:** `FlowsClient.RequestOptions`
@@ -3302,7 +3302,7 @@ await client.flows.create({
-**requestOptions:** `Flows.RequestOptions` +**requestOptions:** `FlowsClient.RequestOptions`
@@ -3358,7 +3358,7 @@ await client.flows.get("id");
-**requestOptions:** `Flows.RequestOptions` +**requestOptions:** `FlowsClient.RequestOptions`
@@ -3406,7 +3406,7 @@ await client.flows.delete("id");
-**requestOptions:** `Flows.RequestOptions` +**requestOptions:** `FlowsClient.RequestOptions`
@@ -3462,7 +3462,7 @@ await client.flows.update("id");
-**requestOptions:** `Flows.RequestOptions` +**requestOptions:** `FlowsClient.RequestOptions`
@@ -3532,7 +3532,7 @@ const response = page.response;
-**requestOptions:** `Forms.RequestOptions` +**requestOptions:** `FormsClient.RequestOptions`
@@ -3582,7 +3582,7 @@ await client.forms.create({
-**requestOptions:** `Forms.RequestOptions` +**requestOptions:** `FormsClient.RequestOptions`
@@ -3638,7 +3638,7 @@ await client.forms.get("id");
-**requestOptions:** `Forms.RequestOptions` +**requestOptions:** `FormsClient.RequestOptions`
@@ -3686,7 +3686,7 @@ await client.forms.delete("id");
-**requestOptions:** `Forms.RequestOptions` +**requestOptions:** `FormsClient.RequestOptions`
@@ -3742,7 +3742,7 @@ await client.forms.update("id");
-**requestOptions:** `Forms.RequestOptions` +**requestOptions:** `FormsClient.RequestOptions`
@@ -3833,7 +3833,7 @@ const response = page.response;
-**requestOptions:** `UserGrants.RequestOptions` +**requestOptions:** `UserGrantsClient.RequestOptions`
@@ -3898,7 +3898,7 @@ await client.userGrants.deleteByUserId({
-**requestOptions:** `UserGrants.RequestOptions` +**requestOptions:** `UserGrantsClient.RequestOptions`
@@ -3961,7 +3961,7 @@ await client.userGrants.delete("id");
-**requestOptions:** `UserGrants.RequestOptions` +**requestOptions:** `UserGrantsClient.RequestOptions`
@@ -4052,7 +4052,7 @@ const response = page.response;
-**requestOptions:** `Hooks.RequestOptions` +**requestOptions:** `HooksClient.RequestOptions`
@@ -4119,7 +4119,7 @@ await client.hooks.create({
-**requestOptions:** `Hooks.RequestOptions` +**requestOptions:** `HooksClient.RequestOptions`
@@ -4192,7 +4192,7 @@ await client.hooks.get("id", {
-**requestOptions:** `Hooks.RequestOptions` +**requestOptions:** `HooksClient.RequestOptions`
@@ -4255,7 +4255,7 @@ await client.hooks.delete("id");
-**requestOptions:** `Hooks.RequestOptions` +**requestOptions:** `HooksClient.RequestOptions`
@@ -4326,7 +4326,7 @@ await client.hooks.update("id");
-**requestOptions:** `Hooks.RequestOptions` +**requestOptions:** `HooksClient.RequestOptions`
@@ -4391,7 +4391,7 @@ await client.jobs.get("id");
-**requestOptions:** `Jobs.RequestOptions` +**requestOptions:** `JobsClient.RequestOptions`
@@ -4513,7 +4513,7 @@ await client.logStreams.list();
-**requestOptions:** `LogStreams.RequestOptions` +**requestOptions:** `LogStreamsClient.RequestOptions`
@@ -4706,7 +4706,7 @@ await client.logStreams.create({
-**requestOptions:** `LogStreams.RequestOptions` +**requestOptions:** `LogStreamsClient.RequestOptions`
@@ -4867,7 +4867,7 @@ await client.logStreams.get("id");
-**requestOptions:** `LogStreams.RequestOptions` +**requestOptions:** `LogStreamsClient.RequestOptions`
@@ -4930,7 +4930,7 @@ await client.logStreams.delete("id");
-**requestOptions:** `LogStreams.RequestOptions` +**requestOptions:** `LogStreamsClient.RequestOptions`
@@ -5035,7 +5035,7 @@ await client.logStreams.update("id");
-**requestOptions:** `LogStreams.RequestOptions` +**requestOptions:** `LogStreamsClient.RequestOptions`
@@ -5156,7 +5156,7 @@ const response = page.response;
-**requestOptions:** `Logs.RequestOptions` +**requestOptions:** `LogsClient.RequestOptions`
@@ -5219,7 +5219,7 @@ await client.logs.get("id");
-**requestOptions:** `Logs.RequestOptions` +**requestOptions:** `LogsClient.RequestOptions`
@@ -5304,7 +5304,7 @@ const response = page.response;
-**requestOptions:** `NetworkAcls.RequestOptions` +**requestOptions:** `NetworkAclsClient.RequestOptions`
@@ -5375,7 +5375,7 @@ await client.networkAcls.create({
-**requestOptions:** `NetworkAcls.RequestOptions` +**requestOptions:** `NetworkAclsClient.RequestOptions`
@@ -5438,7 +5438,7 @@ await client.networkAcls.get("id");
-**requestOptions:** `NetworkAcls.RequestOptions` +**requestOptions:** `NetworkAclsClient.RequestOptions`
@@ -5517,7 +5517,7 @@ await client.networkAcls.set("id", {
-**requestOptions:** `NetworkAcls.RequestOptions` +**requestOptions:** `NetworkAclsClient.RequestOptions`
@@ -5580,7 +5580,7 @@ await client.networkAcls.delete("id");
-**requestOptions:** `NetworkAcls.RequestOptions` +**requestOptions:** `NetworkAclsClient.RequestOptions`
@@ -5651,7 +5651,7 @@ await client.networkAcls.update("id");
-**requestOptions:** `NetworkAcls.RequestOptions` +**requestOptions:** `NetworkAclsClient.RequestOptions`
@@ -5756,7 +5756,7 @@ const response = page.response;
-**requestOptions:** `Organizations.RequestOptions` +**requestOptions:** `OrganizationsClient.RequestOptions`
@@ -5821,7 +5821,7 @@ await client.organizations.create({
-**requestOptions:** `Organizations.RequestOptions` +**requestOptions:** `OrganizationsClient.RequestOptions`
@@ -5884,7 +5884,7 @@ await client.organizations.getByName("name");
-**requestOptions:** `Organizations.RequestOptions` +**requestOptions:** `OrganizationsClient.RequestOptions`
@@ -5947,7 +5947,7 @@ await client.organizations.get("id");
-**requestOptions:** `Organizations.RequestOptions` +**requestOptions:** `OrganizationsClient.RequestOptions`
@@ -6012,7 +6012,7 @@ await client.organizations.delete("id");
-**requestOptions:** `Organizations.RequestOptions` +**requestOptions:** `OrganizationsClient.RequestOptions`
@@ -6083,7 +6083,7 @@ await client.organizations.update("id");
-**requestOptions:** `Organizations.RequestOptions` +**requestOptions:** `OrganizationsClient.RequestOptions`
@@ -6140,7 +6140,7 @@ await client.prompts.getSettings();
-**requestOptions:** `Prompts.RequestOptions` +**requestOptions:** `PromptsClient.RequestOptions`
@@ -6203,7 +6203,7 @@ await client.prompts.updateSettings();
-**requestOptions:** `Prompts.RequestOptions` +**requestOptions:** `PromptsClient.RequestOptions`
@@ -6268,7 +6268,7 @@ await client.refreshTokens.get("id");
-**requestOptions:** `RefreshTokens.RequestOptions` +**requestOptions:** `RefreshTokensClient.RequestOptions`
@@ -6331,7 +6331,7 @@ await client.refreshTokens.delete("id");
-**requestOptions:** `RefreshTokens.RequestOptions` +**requestOptions:** `RefreshTokensClient.RequestOptions`
@@ -6418,7 +6418,7 @@ const response = page.response;
-**requestOptions:** `ResourceServers.RequestOptions` +**requestOptions:** `ResourceServersClient.RequestOptions`
@@ -6483,7 +6483,7 @@ await client.resourceServers.create({
-**requestOptions:** `ResourceServers.RequestOptions` +**requestOptions:** `ResourceServersClient.RequestOptions`
@@ -6556,7 +6556,7 @@ await client.resourceServers.get("id", {
-**requestOptions:** `ResourceServers.RequestOptions` +**requestOptions:** `ResourceServersClient.RequestOptions`
@@ -6619,7 +6619,7 @@ await client.resourceServers.delete("id");
-**requestOptions:** `ResourceServers.RequestOptions` +**requestOptions:** `ResourceServersClient.RequestOptions`
@@ -6690,7 +6690,7 @@ await client.resourceServers.update("id");
-**requestOptions:** `ResourceServers.RequestOptions` +**requestOptions:** `ResourceServersClient.RequestOptions`
@@ -6779,7 +6779,7 @@ const response = page.response;
-**requestOptions:** `Roles.RequestOptions` +**requestOptions:** `RolesClient.RequestOptions`
@@ -6846,7 +6846,7 @@ await client.roles.create({
-**requestOptions:** `Roles.RequestOptions` +**requestOptions:** `RolesClient.RequestOptions`
@@ -6909,7 +6909,7 @@ await client.roles.get("id");
-**requestOptions:** `Roles.RequestOptions` +**requestOptions:** `RolesClient.RequestOptions`
@@ -6972,7 +6972,7 @@ await client.roles.delete("id");
-**requestOptions:** `Roles.RequestOptions` +**requestOptions:** `RolesClient.RequestOptions`
@@ -7043,7 +7043,7 @@ await client.roles.update("id");
-**requestOptions:** `Roles.RequestOptions` +**requestOptions:** `RolesClient.RequestOptions`
@@ -7134,7 +7134,7 @@ const response = page.response;
-**requestOptions:** `Rules.RequestOptions` +**requestOptions:** `RulesClient.RequestOptions`
@@ -7202,7 +7202,7 @@ await client.rules.create({
-**requestOptions:** `Rules.RequestOptions` +**requestOptions:** `RulesClient.RequestOptions`
@@ -7276,7 +7276,7 @@ await client.rules.get("id", {
-**requestOptions:** `Rules.RequestOptions` +**requestOptions:** `RulesClient.RequestOptions`
@@ -7339,7 +7339,7 @@ await client.rules.delete("id");
-**requestOptions:** `Rules.RequestOptions` +**requestOptions:** `RulesClient.RequestOptions`
@@ -7410,7 +7410,7 @@ await client.rules.update("id");
-**requestOptions:** `Rules.RequestOptions` +**requestOptions:** `RulesClient.RequestOptions`
@@ -7469,7 +7469,7 @@ await client.rulesConfigs.list();
-**requestOptions:** `RulesConfigs.RequestOptions` +**requestOptions:** `RulesConfigsClient.RequestOptions`
@@ -7542,7 +7542,7 @@ await client.rulesConfigs.set("key", {
-**requestOptions:** `RulesConfigs.RequestOptions` +**requestOptions:** `RulesConfigsClient.RequestOptions`
@@ -7605,7 +7605,7 @@ await client.rulesConfigs.delete("key");
-**requestOptions:** `RulesConfigs.RequestOptions` +**requestOptions:** `RulesConfigsClient.RequestOptions`
@@ -7690,7 +7690,7 @@ const response = page.response;
-**requestOptions:** `SelfServiceProfiles.RequestOptions` +**requestOptions:** `SelfServiceProfilesClient.RequestOptions`
@@ -7755,7 +7755,7 @@ await client.selfServiceProfiles.create({
-**requestOptions:** `SelfServiceProfiles.RequestOptions` +**requestOptions:** `SelfServiceProfilesClient.RequestOptions`
@@ -7818,7 +7818,7 @@ await client.selfServiceProfiles.get("id");
-**requestOptions:** `SelfServiceProfiles.RequestOptions` +**requestOptions:** `SelfServiceProfilesClient.RequestOptions`
@@ -7881,7 +7881,7 @@ await client.selfServiceProfiles.delete("id");
-**requestOptions:** `SelfServiceProfiles.RequestOptions` +**requestOptions:** `SelfServiceProfilesClient.RequestOptions`
@@ -7952,7 +7952,7 @@ await client.selfServiceProfiles.update("id");
-**requestOptions:** `SelfServiceProfiles.RequestOptions` +**requestOptions:** `SelfServiceProfilesClient.RequestOptions`
@@ -8017,7 +8017,7 @@ await client.sessions.get("id");
-**requestOptions:** `Sessions.RequestOptions` +**requestOptions:** `SessionsClient.RequestOptions`
@@ -8080,7 +8080,7 @@ await client.sessions.delete("id");
-**requestOptions:** `Sessions.RequestOptions` +**requestOptions:** `SessionsClient.RequestOptions`
@@ -8151,7 +8151,7 @@ await client.sessions.update("id");
-**requestOptions:** `Sessions.RequestOptions` +**requestOptions:** `SessionsClient.RequestOptions`
@@ -8214,7 +8214,7 @@ await client.sessions.revoke("id");
-**requestOptions:** `Sessions.RequestOptions` +**requestOptions:** `SessionsClient.RequestOptions`
@@ -8271,7 +8271,7 @@ await client.stats.getActiveUsersCount();
-**requestOptions:** `Stats.RequestOptions` +**requestOptions:** `StatsClient.RequestOptions`
@@ -8337,7 +8337,7 @@ await client.stats.getDaily({
-**requestOptions:** `Stats.RequestOptions` +**requestOptions:** `StatsClient.RequestOptions`
@@ -8394,7 +8394,7 @@ await client.supplementalSignals.get();
-**requestOptions:** `SupplementalSignals.RequestOptions` +**requestOptions:** `SupplementalSignalsClient.RequestOptions`
@@ -8459,7 +8459,7 @@ await client.supplementalSignals.patch({
-**requestOptions:** `SupplementalSignals.RequestOptions` +**requestOptions:** `SupplementalSignalsClient.RequestOptions`
@@ -8526,7 +8526,7 @@ await client.tickets.verifyEmail({
-**requestOptions:** `Tickets.RequestOptions` +**requestOptions:** `TicketsClient.RequestOptions`
@@ -8591,7 +8591,7 @@ await client.tickets.changePassword();
-**requestOptions:** `Tickets.RequestOptions` +**requestOptions:** `TicketsClient.RequestOptions`
@@ -8683,7 +8683,7 @@ const response = page.response;
-**requestOptions:** `TokenExchangeProfiles.RequestOptions` +**requestOptions:** `TokenExchangeProfilesClient.RequestOptions`
@@ -8750,7 +8750,7 @@ await client.tokenExchangeProfiles.create({
-**requestOptions:** `TokenExchangeProfiles.RequestOptions` +**requestOptions:** `TokenExchangeProfilesClient.RequestOptions`
@@ -8813,7 +8813,7 @@ await client.tokenExchangeProfiles.get("id");
-**requestOptions:** `TokenExchangeProfiles.RequestOptions` +**requestOptions:** `TokenExchangeProfilesClient.RequestOptions`
@@ -8876,7 +8876,7 @@ await client.tokenExchangeProfiles.delete("id");
-**requestOptions:** `TokenExchangeProfiles.RequestOptions` +**requestOptions:** `TokenExchangeProfilesClient.RequestOptions`
@@ -8947,7 +8947,7 @@ await client.tokenExchangeProfiles.update("id");
-**requestOptions:** `TokenExchangeProfiles.RequestOptions` +**requestOptions:** `TokenExchangeProfilesClient.RequestOptions`
@@ -9030,7 +9030,7 @@ const response = page.response;
-**requestOptions:** `UserAttributeProfiles.RequestOptions` +**requestOptions:** `UserAttributeProfilesClient.RequestOptions`
@@ -9103,7 +9103,7 @@ await client.userAttributeProfiles.create({
-**requestOptions:** `UserAttributeProfiles.RequestOptions` +**requestOptions:** `UserAttributeProfilesClient.RequestOptions`
@@ -9158,7 +9158,7 @@ await client.userAttributeProfiles.listTemplates();
-**requestOptions:** `UserAttributeProfiles.RequestOptions` +**requestOptions:** `UserAttributeProfilesClient.RequestOptions`
@@ -9221,7 +9221,7 @@ await client.userAttributeProfiles.getTemplate("id");
-**requestOptions:** `UserAttributeProfiles.RequestOptions` +**requestOptions:** `UserAttributeProfilesClient.RequestOptions`
@@ -9284,7 +9284,7 @@ await client.userAttributeProfiles.get("id");
-**requestOptions:** `UserAttributeProfiles.RequestOptions` +**requestOptions:** `UserAttributeProfilesClient.RequestOptions`
@@ -9347,7 +9347,7 @@ await client.userAttributeProfiles.delete("id");
-**requestOptions:** `UserAttributeProfiles.RequestOptions` +**requestOptions:** `UserAttributeProfilesClient.RequestOptions`
@@ -9418,7 +9418,7 @@ await client.userAttributeProfiles.update("id");
-**requestOptions:** `UserAttributeProfiles.RequestOptions` +**requestOptions:** `UserAttributeProfilesClient.RequestOptions`
@@ -9486,7 +9486,7 @@ await client.userBlocks.listByIdentifier({
-**requestOptions:** `UserBlocks.RequestOptions` +**requestOptions:** `UserBlocksClient.RequestOptions`
@@ -9553,7 +9553,7 @@ await client.userBlocks.deleteByIdentifier({
-**requestOptions:** `UserBlocks.RequestOptions` +**requestOptions:** `UserBlocksClient.RequestOptions`
@@ -9626,7 +9626,7 @@ await client.userBlocks.list("id", {
-**requestOptions:** `UserBlocks.RequestOptions` +**requestOptions:** `UserBlocksClient.RequestOptions`
@@ -9691,7 +9691,7 @@ await client.userBlocks.delete("id");
-**requestOptions:** `UserBlocks.RequestOptions` +**requestOptions:** `UserBlocksClient.RequestOptions`
@@ -9803,7 +9803,7 @@ const response = page.response;
-**requestOptions:** `Users.RequestOptions` +**requestOptions:** `UsersClient.RequestOptions`
@@ -9870,7 +9870,7 @@ await client.users.create({
-**requestOptions:** `Users.RequestOptions` +**requestOptions:** `UsersClient.RequestOptions`
@@ -9941,7 +9941,7 @@ await client.users.listUsersByEmail({
-**requestOptions:** `Users.RequestOptions` +**requestOptions:** `UsersClient.RequestOptions`
@@ -10015,7 +10015,7 @@ await client.users.get("id", {
-**requestOptions:** `Users.RequestOptions` +**requestOptions:** `UsersClient.RequestOptions`
@@ -10078,7 +10078,7 @@ await client.users.delete("id");
-**requestOptions:** `Users.RequestOptions` +**requestOptions:** `UsersClient.RequestOptions`
@@ -10220,7 +10220,7 @@ await client.users.update("id");
-**requestOptions:** `Users.RequestOptions` +**requestOptions:** `UsersClient.RequestOptions`
@@ -10283,7 +10283,7 @@ await client.users.regenerateRecoveryCode("id");
-**requestOptions:** `Users.RequestOptions` +**requestOptions:** `UsersClient.RequestOptions`
@@ -10354,7 +10354,7 @@ await client.users.revokeAccess("id");
-**requestOptions:** `Users.RequestOptions` +**requestOptions:** `UsersClient.RequestOptions`
@@ -10445,7 +10445,7 @@ const response = page.response;
-**requestOptions:** `Versions.RequestOptions` +**requestOptions:** `VersionsClient.RequestOptions`
@@ -10516,7 +10516,7 @@ await client.actions.versions.get("actionId", "id");
-**requestOptions:** `Versions.RequestOptions` +**requestOptions:** `VersionsClient.RequestOptions`
@@ -10595,7 +10595,7 @@ await client.actions.versions.deploy("actionId", "id");
-**requestOptions:** `Versions.RequestOptions` +**requestOptions:** `VersionsClient.RequestOptions`
@@ -10660,7 +10660,7 @@ await client.actions.executions.get("id");
-**requestOptions:** `Executions.RequestOptions` +**requestOptions:** `ExecutionsClient.RequestOptions`
@@ -10717,7 +10717,7 @@ await client.actions.triggers.list();
-**requestOptions:** `Triggers.RequestOptions` +**requestOptions:** `TriggersClient.RequestOptions`
@@ -10808,7 +10808,7 @@ const response = page.response;
-**requestOptions:** `Bindings.RequestOptions` +**requestOptions:** `BindingsClient.RequestOptions`
@@ -10879,7 +10879,7 @@ await client.actions.triggers.bindings.updateMany("triggerId");
-**requestOptions:** `Bindings.RequestOptions` +**requestOptions:** `BindingsClient.RequestOptions`
@@ -10944,7 +10944,7 @@ await client.anomaly.blocks.checkIp("id");
-**requestOptions:** `Blocks.RequestOptions` +**requestOptions:** `BlocksClient.RequestOptions`
@@ -11007,7 +11007,7 @@ await client.anomaly.blocks.unblockIp("id");
-**requestOptions:** `Blocks.RequestOptions` +**requestOptions:** `BlocksClient.RequestOptions`
@@ -11064,7 +11064,7 @@ await client.attackProtection.botDetection.get();
-**requestOptions:** `BotDetection.RequestOptions` +**requestOptions:** `BotDetectionClient.RequestOptions`
@@ -11127,7 +11127,7 @@ await client.attackProtection.botDetection.update();
-**requestOptions:** `BotDetection.RequestOptions` +**requestOptions:** `BotDetectionClient.RequestOptions`
@@ -11184,7 +11184,7 @@ await client.attackProtection.breachedPasswordDetection.get();
-**requestOptions:** `BreachedPasswordDetection.RequestOptions` +**requestOptions:** `BreachedPasswordDetectionClient.RequestOptions`
@@ -11247,7 +11247,7 @@ await client.attackProtection.breachedPasswordDetection.update();
-**requestOptions:** `BreachedPasswordDetection.RequestOptions` +**requestOptions:** `BreachedPasswordDetectionClient.RequestOptions`
@@ -11304,7 +11304,7 @@ await client.attackProtection.bruteForceProtection.get();
-**requestOptions:** `BruteForceProtection.RequestOptions` +**requestOptions:** `BruteForceProtectionClient.RequestOptions`
@@ -11367,7 +11367,7 @@ await client.attackProtection.bruteForceProtection.update();
-**requestOptions:** `BruteForceProtection.RequestOptions` +**requestOptions:** `BruteForceProtectionClient.RequestOptions`
@@ -11424,7 +11424,7 @@ await client.attackProtection.captcha.get();
-**requestOptions:** `Captcha.RequestOptions` +**requestOptions:** `CaptchaClient.RequestOptions`
@@ -11487,7 +11487,7 @@ await client.attackProtection.captcha.update();
-**requestOptions:** `Captcha.RequestOptions` +**requestOptions:** `CaptchaClient.RequestOptions`
@@ -11544,7 +11544,7 @@ await client.attackProtection.suspiciousIpThrottling.get();
-**requestOptions:** `SuspiciousIpThrottling.RequestOptions` +**requestOptions:** `SuspiciousIpThrottlingClient.RequestOptions`
@@ -11607,7 +11607,7 @@ await client.attackProtection.suspiciousIpThrottling.update();
-**requestOptions:** `SuspiciousIpThrottling.RequestOptions` +**requestOptions:** `SuspiciousIpThrottlingClient.RequestOptions`
@@ -11649,7 +11649,7 @@ await client.branding.templates.getUniversalLogin();
-**requestOptions:** `Templates.RequestOptions` +**requestOptions:** `TemplatesClient.RequestOptions`
@@ -11734,7 +11734,7 @@ await client.branding.templates.updateUniversalLogin("string");
-**requestOptions:** `Templates.RequestOptions` +**requestOptions:** `TemplatesClient.RequestOptions`
@@ -11774,7 +11774,7 @@ await client.branding.templates.deleteUniversalLogin();
-**requestOptions:** `Templates.RequestOptions` +**requestOptions:** `TemplatesClient.RequestOptions`
@@ -11910,7 +11910,7 @@ await client.branding.themes.create({
-**requestOptions:** `Themes.RequestOptions` +**requestOptions:** `ThemesClient.RequestOptions`
@@ -11965,7 +11965,7 @@ await client.branding.themes.getDefault();
-**requestOptions:** `Themes.RequestOptions` +**requestOptions:** `ThemesClient.RequestOptions`
@@ -12028,7 +12028,7 @@ await client.branding.themes.get("themeId");
-**requestOptions:** `Themes.RequestOptions` +**requestOptions:** `ThemesClient.RequestOptions`
@@ -12091,7 +12091,7 @@ await client.branding.themes.delete("themeId");
-**requestOptions:** `Themes.RequestOptions` +**requestOptions:** `ThemesClient.RequestOptions`
@@ -12233,7 +12233,7 @@ await client.branding.themes.update("themeId", {
-**requestOptions:** `Themes.RequestOptions` +**requestOptions:** `ThemesClient.RequestOptions`
@@ -12300,7 +12300,7 @@ await client.branding.phone.providers.list({
-**requestOptions:** `Providers.RequestOptions` +**requestOptions:** `ProvidersClient.RequestOptions`
@@ -12369,7 +12369,7 @@ await client.branding.phone.providers.create({
-**requestOptions:** `Providers.RequestOptions` +**requestOptions:** `ProvidersClient.RequestOptions`
@@ -12432,7 +12432,7 @@ await client.branding.phone.providers.get("id");
-**requestOptions:** `Providers.RequestOptions` +**requestOptions:** `ProvidersClient.RequestOptions`
@@ -12495,7 +12495,7 @@ await client.branding.phone.providers.delete("id");
-**requestOptions:** `Providers.RequestOptions` +**requestOptions:** `ProvidersClient.RequestOptions`
@@ -12567,7 +12567,7 @@ await client.branding.phone.providers.update("id");
-**requestOptions:** `Providers.RequestOptions` +**requestOptions:** `ProvidersClient.RequestOptions`
@@ -12625,7 +12625,7 @@ await client.branding.phone.providers.test("id", {
-**requestOptions:** `Providers.RequestOptions` +**requestOptions:** `ProvidersClient.RequestOptions`
@@ -12677,7 +12677,7 @@ await client.branding.phone.templates.list({
-**requestOptions:** `Templates.RequestOptions` +**requestOptions:** `TemplatesClient.RequestOptions`
@@ -12725,7 +12725,7 @@ await client.branding.phone.templates.create();
-**requestOptions:** `Templates.RequestOptions` +**requestOptions:** `TemplatesClient.RequestOptions`
@@ -12773,7 +12773,7 @@ await client.branding.phone.templates.get("id");
-**requestOptions:** `Templates.RequestOptions` +**requestOptions:** `TemplatesClient.RequestOptions`
@@ -12821,7 +12821,7 @@ await client.branding.phone.templates.delete("id");
-**requestOptions:** `Templates.RequestOptions` +**requestOptions:** `TemplatesClient.RequestOptions`
@@ -12877,7 +12877,7 @@ await client.branding.phone.templates.update("id");
-**requestOptions:** `Templates.RequestOptions` +**requestOptions:** `TemplatesClient.RequestOptions`
@@ -12935,7 +12935,7 @@ await client.branding.phone.templates.reset("id", {
-**requestOptions:** `Templates.RequestOptions` +**requestOptions:** `TemplatesClient.RequestOptions`
@@ -12993,7 +12993,7 @@ await client.branding.phone.templates.test("id", {
-**requestOptions:** `Templates.RequestOptions` +**requestOptions:** `TemplatesClient.RequestOptions`
@@ -13069,7 +13069,7 @@ const response = page.response;
-**requestOptions:** `Organizations.RequestOptions` +**requestOptions:** `OrganizationsClient.RequestOptions`
@@ -13082,7 +13082,7 @@ const response = page.response; ## Clients Credentials -
client.clients.credentials.list(clientId) -> Management.ClientCredential[] +
client.clients.credentials.list(client_id) -> Management.ClientCredential[]
@@ -13128,7 +13128,7 @@ await client.clients.credentials.list("client_id");
-**clientId:** `string` — ID of the client. +**client_id:** `string` — ID of the client.
@@ -13136,7 +13136,7 @@ await client.clients.credentials.list("client_id");
-**requestOptions:** `Credentials.RequestOptions` +**requestOptions:** `CredentialsClient.RequestOptions`
@@ -13147,7 +13147,7 @@ await client.clients.credentials.list("client_id");
-
client.clients.credentials.create(clientId, { ...params }) -> Management.PostClientCredentialResponseContent +
client.clients.credentials.create(client_id, { ...params }) -> Management.PostClientCredentialResponseContent
@@ -13226,7 +13226,7 @@ await client.clients.credentials.create("client_id", {
-**clientId:** `string` — ID of the client. +**client_id:** `string` — ID of the client.
@@ -13242,7 +13242,7 @@ await client.clients.credentials.create("client_id", {
-**requestOptions:** `Credentials.RequestOptions` +**requestOptions:** `CredentialsClient.RequestOptions`
@@ -13253,7 +13253,7 @@ await client.clients.credentials.create("client_id", {
-
client.clients.credentials.get(clientId, credentialId) -> Management.GetClientCredentialResponseContent +
client.clients.credentials.get(client_id, credential_id) -> Management.GetClientCredentialResponseContent
@@ -13299,7 +13299,7 @@ await client.clients.credentials.get("client_id", "credential_id");
-**clientId:** `string` — ID of the client. +**client_id:** `string` — ID of the client.
@@ -13307,7 +13307,7 @@ await client.clients.credentials.get("client_id", "credential_id");
-**credentialId:** `string` — ID of the credential. +**credential_id:** `string` — ID of the credential.
@@ -13315,7 +13315,7 @@ await client.clients.credentials.get("client_id", "credential_id");
-**requestOptions:** `Credentials.RequestOptions` +**requestOptions:** `CredentialsClient.RequestOptions`
@@ -13326,7 +13326,7 @@ await client.clients.credentials.get("client_id", "credential_id");
-
client.clients.credentials.delete(clientId, credentialId) -> void +
client.clients.credentials.delete(client_id, credential_id) -> void
@@ -13370,7 +13370,7 @@ await client.clients.credentials.delete("client_id", "credential_id");
-**clientId:** `string` — ID of the client. +**client_id:** `string` — ID of the client.
@@ -13378,7 +13378,7 @@ await client.clients.credentials.delete("client_id", "credential_id");
-**credentialId:** `string` — ID of the credential to delete. +**credential_id:** `string` — ID of the credential to delete.
@@ -13386,7 +13386,7 @@ await client.clients.credentials.delete("client_id", "credential_id");
-**requestOptions:** `Credentials.RequestOptions` +**requestOptions:** `CredentialsClient.RequestOptions`
@@ -13397,7 +13397,7 @@ await client.clients.credentials.delete("client_id", "credential_id");
-
client.clients.credentials.update(clientId, credentialId, { ...params }) -> Management.PatchClientCredentialResponseContent +
client.clients.credentials.update(client_id, credential_id, { ...params }) -> Management.PatchClientCredentialResponseContent
@@ -13441,7 +13441,7 @@ await client.clients.credentials.update("client_id", "credential_id");
-**clientId:** `string` — ID of the client. +**client_id:** `string` — ID of the client.
@@ -13449,7 +13449,7 @@ await client.clients.credentials.update("client_id", "credential_id");
-**credentialId:** `string` — ID of the credential. +**credential_id:** `string` — ID of the credential.
@@ -13465,7 +13465,7 @@ await client.clients.credentials.update("client_id", "credential_id");
-**requestOptions:** `Credentials.RequestOptions` +**requestOptions:** `CredentialsClient.RequestOptions`
@@ -13568,7 +13568,7 @@ const response = page.response;
-**requestOptions:** `Connections.RequestOptions` +**requestOptions:** `ConnectionsClient.RequestOptions`
@@ -13661,7 +13661,7 @@ const response = page.response;
-**requestOptions:** `Clients.RequestOptions` +**requestOptions:** `ClientsClient.RequestOptions`
@@ -13722,7 +13722,7 @@ await client.connections.clients.update("id", [
-**requestOptions:** `Clients.RequestOptions` +**requestOptions:** `ClientsClient.RequestOptions`
@@ -13787,7 +13787,7 @@ await client.connections.keys.get("id");
-**requestOptions:** `Keys.RequestOptions` +**requestOptions:** `KeysClient.RequestOptions`
@@ -13858,7 +13858,7 @@ await client.connections.keys.rotate("id");
-**requestOptions:** `Keys.RequestOptions` +**requestOptions:** `KeysClient.RequestOptions`
@@ -13923,7 +13923,7 @@ await client.connections.scimConfiguration.get("id");
-**requestOptions:** `ScimConfiguration.RequestOptions` +**requestOptions:** `ScimConfigurationClient.RequestOptions`
@@ -13994,7 +13994,7 @@ await client.connections.scimConfiguration.create("id");
-**requestOptions:** `ScimConfiguration.RequestOptions` +**requestOptions:** `ScimConfigurationClient.RequestOptions`
@@ -14057,7 +14057,7 @@ await client.connections.scimConfiguration.delete("id");
-**requestOptions:** `ScimConfiguration.RequestOptions` +**requestOptions:** `ScimConfigurationClient.RequestOptions`
@@ -14131,7 +14131,7 @@ await client.connections.scimConfiguration.update("id", {
-**requestOptions:** `ScimConfiguration.RequestOptions` +**requestOptions:** `ScimConfigurationClient.RequestOptions`
@@ -14194,7 +14194,7 @@ await client.connections.scimConfiguration.getDefaultMapping("id");
-**requestOptions:** `ScimConfiguration.RequestOptions` +**requestOptions:** `ScimConfigurationClient.RequestOptions`
@@ -14269,7 +14269,7 @@ await client.connections.users.deleteByEmail("id", {
-**requestOptions:** `Users.RequestOptions` +**requestOptions:** `UsersClient.RequestOptions`
@@ -14334,7 +14334,7 @@ await client.connections.scimConfiguration.tokens.get("id");
-**requestOptions:** `Tokens.RequestOptions` +**requestOptions:** `TokensClient.RequestOptions`
@@ -14405,7 +14405,7 @@ await client.connections.scimConfiguration.tokens.create("id");
-**requestOptions:** `Tokens.RequestOptions` +**requestOptions:** `TokensClient.RequestOptions`
@@ -14476,7 +14476,7 @@ await client.connections.scimConfiguration.tokens.delete("id", "tokenId");
-**requestOptions:** `Tokens.RequestOptions` +**requestOptions:** `TokensClient.RequestOptions`
@@ -14544,7 +14544,7 @@ await client.emails.provider.get({
-**requestOptions:** `Provider.RequestOptions` +**requestOptions:** `ProviderClient.RequestOptions`
@@ -14653,7 +14653,7 @@ await client.emails.provider.create({
-**requestOptions:** `Provider.RequestOptions` +**requestOptions:** `ProviderClient.RequestOptions`
@@ -14708,7 +14708,7 @@ await client.emails.provider.delete();
-**requestOptions:** `Provider.RequestOptions` +**requestOptions:** `ProviderClient.RequestOptions`
@@ -14810,7 +14810,7 @@ await client.emails.provider.update();
-**requestOptions:** `Provider.RequestOptions` +**requestOptions:** `ProviderClient.RequestOptions`
@@ -14875,7 +14875,7 @@ await client.eventStreams.deliveries.list("id", {
-**requestOptions:** `Deliveries.RequestOptions` +**requestOptions:** `DeliveriesClient.RequestOptions`
@@ -14886,7 +14886,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 +14923,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 +14931,7 @@ await client.eventStreams.deliveries.getHistory("id", "event_id");
-**requestOptions:** `Deliveries.RequestOptions` +**requestOptions:** `DeliveriesClient.RequestOptions`
@@ -14989,7 +14989,7 @@ await client.eventStreams.redeliveries.create("id");
-**requestOptions:** `Redeliveries.RequestOptions` +**requestOptions:** `RedeliveriesClient.RequestOptions`
@@ -15000,7 +15000,7 @@ await client.eventStreams.redeliveries.create("id");
-
client.eventStreams.redeliveries.createById(id, eventId) -> void +
client.eventStreams.redeliveries.createById(id, event_id) -> void
@@ -15037,7 +15037,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 +15045,7 @@ await client.eventStreams.redeliveries.createById("id", "event_id");
-**requestOptions:** `Redeliveries.RequestOptions` +**requestOptions:** `RedeliveriesClient.RequestOptions`
@@ -15058,7 +15058,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 +15105,7 @@ const response = page.response;
-**flowId:** `string` — Flow id +**flow_id:** `string` — Flow id
@@ -15121,7 +15121,7 @@ const response = page.response;
-**requestOptions:** `Executions.RequestOptions` +**requestOptions:** `ExecutionsClient.RequestOptions`
@@ -15132,7 +15132,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 +15161,7 @@ await client.flows.executions.get("flow_id", "execution_id");
-**flowId:** `string` — Flow id +**flow_id:** `string` — Flow id
@@ -15169,7 +15169,7 @@ await client.flows.executions.get("flow_id", "execution_id");
-**executionId:** `string` — Flow execution id +**execution_id:** `string` — Flow execution id
@@ -15185,7 +15185,7 @@ await client.flows.executions.get("flow_id", "execution_id");
-**requestOptions:** `Executions.RequestOptions` +**requestOptions:** `ExecutionsClient.RequestOptions`
@@ -15196,7 +15196,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 +15225,7 @@ await client.flows.executions.delete("flow_id", "execution_id");
-**flowId:** `string` — Flows id +**flow_id:** `string` — Flows id
@@ -15233,7 +15233,7 @@ await client.flows.executions.delete("flow_id", "execution_id");
-**executionId:** `string` — Flow execution identifier +**execution_id:** `string` — Flow execution identifier
@@ -15241,7 +15241,7 @@ await client.flows.executions.delete("flow_id", "execution_id");
-**requestOptions:** `Executions.RequestOptions` +**requestOptions:** `ExecutionsClient.RequestOptions`
@@ -15311,7 +15311,7 @@ const response = page.response;
-**requestOptions:** `Connections.RequestOptions` +**requestOptions:** `ConnectionsClient.RequestOptions`
@@ -15367,7 +15367,7 @@ await client.flows.vault.connections.create({
-**requestOptions:** `Connections.RequestOptions` +**requestOptions:** `ConnectionsClient.RequestOptions`
@@ -15415,7 +15415,7 @@ await client.flows.vault.connections.get("id");
-**requestOptions:** `Connections.RequestOptions` +**requestOptions:** `ConnectionsClient.RequestOptions`
@@ -15463,7 +15463,7 @@ await client.flows.vault.connections.delete("id");
-**requestOptions:** `Connections.RequestOptions` +**requestOptions:** `ConnectionsClient.RequestOptions`
@@ -15519,7 +15519,7 @@ await client.flows.vault.connections.update("id");
-**requestOptions:** `Connections.RequestOptions` +**requestOptions:** `ConnectionsClient.RequestOptions`
@@ -15589,7 +15589,7 @@ await client.guardian.enrollments.createTicket({
-**requestOptions:** `Enrollments.RequestOptions` +**requestOptions:** `EnrollmentsClient.RequestOptions`
@@ -15652,7 +15652,7 @@ await client.guardian.enrollments.get("id");
-**requestOptions:** `Enrollments.RequestOptions` +**requestOptions:** `EnrollmentsClient.RequestOptions`
@@ -15715,7 +15715,7 @@ await client.guardian.enrollments.delete("id");
-**requestOptions:** `Enrollments.RequestOptions` +**requestOptions:** `EnrollmentsClient.RequestOptions`
@@ -15772,7 +15772,7 @@ await client.guardian.factors.list();
-**requestOptions:** `Factors.RequestOptions` +**requestOptions:** `FactorsClient.RequestOptions`
@@ -15845,7 +15845,7 @@ await client.guardian.factors.set("push-notification", {
-**requestOptions:** `Factors.RequestOptions` +**requestOptions:** `FactorsClient.RequestOptions`
@@ -15911,7 +15911,7 @@ await client.guardian.policies.list();
-**requestOptions:** `Policies.RequestOptions` +**requestOptions:** `PoliciesClient.RequestOptions`
@@ -15983,7 +15983,7 @@ await client.guardian.policies.set(["all-applications"]);
-**requestOptions:** `Policies.RequestOptions` +**requestOptions:** `PoliciesClient.RequestOptions`
@@ -16040,7 +16040,7 @@ await client.guardian.factors.phone.getMessageTypes();
-**requestOptions:** `Phone.RequestOptions` +**requestOptions:** `PhoneClient.RequestOptions`
@@ -16105,7 +16105,7 @@ await client.guardian.factors.phone.setMessageTypes({
-**requestOptions:** `Phone.RequestOptions` +**requestOptions:** `PhoneClient.RequestOptions`
@@ -16160,7 +16160,7 @@ await client.guardian.factors.phone.getTwilioProvider();
-**requestOptions:** `Phone.RequestOptions` +**requestOptions:** `PhoneClient.RequestOptions`
@@ -16223,7 +16223,7 @@ await client.guardian.factors.phone.setTwilioProvider();
-**requestOptions:** `Phone.RequestOptions` +**requestOptions:** `PhoneClient.RequestOptions`
@@ -16278,7 +16278,7 @@ await client.guardian.factors.phone.getSelectedProvider();
-**requestOptions:** `Phone.RequestOptions` +**requestOptions:** `PhoneClient.RequestOptions`
@@ -16328,7 +16328,7 @@ await client.guardian.factors.phone.setProvider({
-**requestOptions:** `Phone.RequestOptions` +**requestOptions:** `PhoneClient.RequestOptions`
@@ -16383,7 +16383,7 @@ await client.guardian.factors.phone.getTemplates();
-**requestOptions:** `Phone.RequestOptions` +**requestOptions:** `PhoneClient.RequestOptions`
@@ -16449,7 +16449,7 @@ await client.guardian.factors.phone.setTemplates({
-**requestOptions:** `Phone.RequestOptions` +**requestOptions:** `PhoneClient.RequestOptions`
@@ -16506,7 +16506,7 @@ await client.guardian.factors.pushNotification.getApnsProvider();
-**requestOptions:** `PushNotification.RequestOptions` +**requestOptions:** `PushNotificationClient.RequestOptions`
@@ -16569,7 +16569,7 @@ await client.guardian.factors.pushNotification.setApnsProvider({});
-**requestOptions:** `PushNotification.RequestOptions` +**requestOptions:** `PushNotificationClient.RequestOptions`
@@ -16632,7 +16632,7 @@ await client.guardian.factors.pushNotification.setFcmProvider({});
-**requestOptions:** `PushNotification.RequestOptions` +**requestOptions:** `PushNotificationClient.RequestOptions`
@@ -16695,7 +16695,7 @@ await client.guardian.factors.pushNotification.setFcmv1Provider({});
-**requestOptions:** `PushNotification.RequestOptions` +**requestOptions:** `PushNotificationClient.RequestOptions`
@@ -16750,7 +16750,7 @@ await client.guardian.factors.pushNotification.getSnsProvider();
-**requestOptions:** `PushNotification.RequestOptions` +**requestOptions:** `PushNotificationClient.RequestOptions`
@@ -16813,7 +16813,7 @@ await client.guardian.factors.pushNotification.setSnsProvider();
-**requestOptions:** `PushNotification.RequestOptions` +**requestOptions:** `PushNotificationClient.RequestOptions`
@@ -16876,7 +16876,7 @@ await client.guardian.factors.pushNotification.updateSnsProvider();
-**requestOptions:** `PushNotification.RequestOptions` +**requestOptions:** `PushNotificationClient.RequestOptions`
@@ -16931,7 +16931,7 @@ await client.guardian.factors.pushNotification.getSelectedProvider();
-**requestOptions:** `PushNotification.RequestOptions` +**requestOptions:** `PushNotificationClient.RequestOptions`
@@ -16996,7 +16996,7 @@ await client.guardian.factors.pushNotification.setProvider({
-**requestOptions:** `PushNotification.RequestOptions` +**requestOptions:** `PushNotificationClient.RequestOptions`
@@ -17055,7 +17055,7 @@ await client.guardian.factors.sms.getTwilioProvider();
-**requestOptions:** `Sms.RequestOptions` +**requestOptions:** `SmsClient.RequestOptions`
@@ -17120,7 +17120,7 @@ await client.guardian.factors.sms.setTwilioProvider();
-**requestOptions:** `Sms.RequestOptions` +**requestOptions:** `SmsClient.RequestOptions`
@@ -17177,7 +17177,7 @@ await client.guardian.factors.sms.getSelectedProvider();
-**requestOptions:** `Sms.RequestOptions` +**requestOptions:** `SmsClient.RequestOptions`
@@ -17244,7 +17244,7 @@ await client.guardian.factors.sms.setProvider({
-**requestOptions:** `Sms.RequestOptions` +**requestOptions:** `SmsClient.RequestOptions`
@@ -17301,7 +17301,7 @@ await client.guardian.factors.sms.getTemplates();
-**requestOptions:** `Sms.RequestOptions` +**requestOptions:** `SmsClient.RequestOptions`
@@ -17369,7 +17369,7 @@ await client.guardian.factors.sms.setTemplates({
-**requestOptions:** `Sms.RequestOptions` +**requestOptions:** `SmsClient.RequestOptions`
@@ -17426,7 +17426,7 @@ await client.guardian.factors.duo.settings.get();
-**requestOptions:** `Settings.RequestOptions` +**requestOptions:** `SettingsClient.RequestOptions`
@@ -17489,7 +17489,7 @@ await client.guardian.factors.duo.settings.set();
-**requestOptions:** `Settings.RequestOptions` +**requestOptions:** `SettingsClient.RequestOptions`
@@ -17537,7 +17537,7 @@ await client.guardian.factors.duo.settings.update();
-**requestOptions:** `Settings.RequestOptions` +**requestOptions:** `SettingsClient.RequestOptions`
@@ -17602,7 +17602,7 @@ await client.hooks.secrets.get("id");
-**requestOptions:** `Secrets.RequestOptions` +**requestOptions:** `SecretsClient.RequestOptions`
@@ -17675,7 +17675,7 @@ await client.hooks.secrets.create("id", {
-**requestOptions:** `Secrets.RequestOptions` +**requestOptions:** `SecretsClient.RequestOptions`
@@ -17746,7 +17746,7 @@ await client.hooks.secrets.delete("id", ["string"]);
-**requestOptions:** `Secrets.RequestOptions` +**requestOptions:** `SecretsClient.RequestOptions`
@@ -17819,7 +17819,7 @@ await client.hooks.secrets.update("id", {
-**requestOptions:** `Secrets.RequestOptions` +**requestOptions:** `SecretsClient.RequestOptions`
@@ -17884,7 +17884,7 @@ await client.jobs.usersExports.create();
-**requestOptions:** `UsersExports.RequestOptions` +**requestOptions:** `UsersExportsClient.RequestOptions`
@@ -17952,7 +17952,7 @@ await client.jobs.usersImports.create({
-**requestOptions:** `UsersImports.RequestOptions` +**requestOptions:** `UsersImportsClient.RequestOptions`
@@ -18021,7 +18021,7 @@ await client.jobs.verificationEmail.create({
-**requestOptions:** `VerificationEmail.RequestOptions` +**requestOptions:** `VerificationEmailClient.RequestOptions`
@@ -18086,7 +18086,7 @@ await client.jobs.errors.get("id");
-**requestOptions:** `Errors.RequestOptions` +**requestOptions:** `ErrorsClient.RequestOptions`
@@ -18143,7 +18143,7 @@ await client.keys.customSigning.get();
-**requestOptions:** `CustomSigning.RequestOptions` +**requestOptions:** `CustomSigningClient.RequestOptions`
@@ -18212,7 +18212,7 @@ await client.keys.customSigning.set({
-**requestOptions:** `CustomSigning.RequestOptions` +**requestOptions:** `CustomSigningClient.RequestOptions`
@@ -18267,7 +18267,7 @@ await client.keys.customSigning.delete();
-**requestOptions:** `CustomSigning.RequestOptions` +**requestOptions:** `CustomSigningClient.RequestOptions`
@@ -18352,7 +18352,7 @@ const response = page.response;
-**requestOptions:** `Encryption.RequestOptions` +**requestOptions:** `EncryptionClient.RequestOptions`
@@ -18417,7 +18417,7 @@ await client.keys.encryption.create({
-**requestOptions:** `Encryption.RequestOptions` +**requestOptions:** `EncryptionClient.RequestOptions`
@@ -18472,7 +18472,7 @@ await client.keys.encryption.rekey();
-**requestOptions:** `Encryption.RequestOptions` +**requestOptions:** `EncryptionClient.RequestOptions`
@@ -18535,7 +18535,7 @@ await client.keys.encryption.get("kid");
-**requestOptions:** `Encryption.RequestOptions` +**requestOptions:** `EncryptionClient.RequestOptions`
@@ -18608,7 +18608,7 @@ await client.keys.encryption.import("kid", {
-**requestOptions:** `Encryption.RequestOptions` +**requestOptions:** `EncryptionClient.RequestOptions`
@@ -18671,7 +18671,7 @@ await client.keys.encryption.delete("kid");
-**requestOptions:** `Encryption.RequestOptions` +**requestOptions:** `EncryptionClient.RequestOptions`
@@ -18734,7 +18734,7 @@ await client.keys.encryption.createPublicWrappingKey("kid");
-**requestOptions:** `Encryption.RequestOptions` +**requestOptions:** `EncryptionClient.RequestOptions`
@@ -18791,7 +18791,7 @@ await client.keys.signing.list();
-**requestOptions:** `Signing.RequestOptions` +**requestOptions:** `SigningClient.RequestOptions`
@@ -18846,7 +18846,7 @@ await client.keys.signing.rotate();
-**requestOptions:** `Signing.RequestOptions` +**requestOptions:** `SigningClient.RequestOptions`
@@ -18909,7 +18909,7 @@ await client.keys.signing.get("kid");
-**requestOptions:** `Signing.RequestOptions` +**requestOptions:** `SigningClient.RequestOptions`
@@ -18972,7 +18972,7 @@ await client.keys.signing.revoke("kid");
-**requestOptions:** `Signing.RequestOptions` +**requestOptions:** `SigningClient.RequestOptions`
@@ -19054,7 +19054,7 @@ const response = page.response;
-**requestOptions:** `ClientGrants.RequestOptions` +**requestOptions:** `ClientGrantsClient.RequestOptions`
@@ -19112,7 +19112,7 @@ await client.organizations.clientGrants.create("id", {
-**requestOptions:** `ClientGrants.RequestOptions` +**requestOptions:** `ClientGrantsClient.RequestOptions`
@@ -19123,7 +19123,7 @@ await client.organizations.clientGrants.create("id", {
-
client.organizations.clientGrants.delete(id, grantId) -> void +
client.organizations.clientGrants.delete(id, grant_id) -> void
@@ -19160,7 +19160,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 +19168,7 @@ await client.organizations.clientGrants.delete("id", "grant_id");
-**requestOptions:** `ClientGrants.RequestOptions` +**requestOptions:** `ClientGrantsClient.RequestOptions`
@@ -19259,7 +19259,7 @@ const response = page.response;
-**requestOptions:** `DiscoveryDomains.RequestOptions` +**requestOptions:** `DiscoveryDomainsClient.RequestOptions`
@@ -19332,7 +19332,7 @@ await client.organizations.discoveryDomains.create("id", {
-**requestOptions:** `DiscoveryDomains.RequestOptions` +**requestOptions:** `DiscoveryDomainsClient.RequestOptions`
@@ -19343,7 +19343,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 +19395,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 +19403,7 @@ await client.organizations.discoveryDomains.get("id", "discovery_domain_id");
-**requestOptions:** `DiscoveryDomains.RequestOptions` +**requestOptions:** `DiscoveryDomainsClient.RequestOptions`
@@ -19414,7 +19414,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 +19466,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 +19474,7 @@ await client.organizations.discoveryDomains.delete("id", "discovery_domain_id");
-**requestOptions:** `DiscoveryDomains.RequestOptions` +**requestOptions:** `DiscoveryDomainsClient.RequestOptions`
@@ -19485,7 +19485,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 +19537,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 +19553,7 @@ await client.organizations.discoveryDomains.update("id", "discovery_domain_id");
-**requestOptions:** `DiscoveryDomains.RequestOptions` +**requestOptions:** `DiscoveryDomainsClient.RequestOptions`
@@ -19646,7 +19646,7 @@ const response = page.response;
-**requestOptions:** `EnabledConnections.RequestOptions` +**requestOptions:** `EnabledConnectionsClient.RequestOptions`
@@ -19721,7 +19721,7 @@ await client.organizations.enabledConnections.add("id", {
-**requestOptions:** `EnabledConnections.RequestOptions` +**requestOptions:** `EnabledConnectionsClient.RequestOptions`
@@ -19792,7 +19792,7 @@ await client.organizations.enabledConnections.get("id", "connectionId");
-**requestOptions:** `EnabledConnections.RequestOptions` +**requestOptions:** `EnabledConnectionsClient.RequestOptions`
@@ -19865,7 +19865,7 @@ await client.organizations.enabledConnections.delete("id", "connectionId");
-**requestOptions:** `EnabledConnections.RequestOptions` +**requestOptions:** `EnabledConnectionsClient.RequestOptions`
@@ -19944,7 +19944,7 @@ await client.organizations.enabledConnections.update("id", "connectionId");
-**requestOptions:** `EnabledConnections.RequestOptions` +**requestOptions:** `EnabledConnectionsClient.RequestOptions`
@@ -20043,7 +20043,7 @@ const response = page.response;
-**requestOptions:** `Invitations.RequestOptions` +**requestOptions:** `InvitationsClient.RequestOptions`
@@ -20122,7 +20122,7 @@ await client.organizations.invitations.create("id", {
-**requestOptions:** `Invitations.RequestOptions` +**requestOptions:** `InvitationsClient.RequestOptions`
@@ -20133,7 +20133,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 +20173,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 +20189,7 @@ await client.organizations.invitations.get("id", "invitation_id", {
-**requestOptions:** `Invitations.RequestOptions` +**requestOptions:** `InvitationsClient.RequestOptions`
@@ -20200,7 +20200,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 +20237,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 +20245,7 @@ await client.organizations.invitations.delete("id", "invitation_id");
-**requestOptions:** `Invitations.RequestOptions` +**requestOptions:** `InvitationsClient.RequestOptions`
@@ -20361,7 +20361,7 @@ const response = page.response;
-**requestOptions:** `Members.RequestOptions` +**requestOptions:** `MembersClient.RequestOptions`
@@ -20436,7 +20436,7 @@ await client.organizations.members.create("id", {
-**requestOptions:** `Members.RequestOptions` +**requestOptions:** `MembersClient.RequestOptions`
@@ -20494,7 +20494,7 @@ await client.organizations.members.delete("id", {
-**requestOptions:** `Members.RequestOptions` +**requestOptions:** `MembersClient.RequestOptions`
@@ -20507,7 +20507,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 +20581,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 +20597,7 @@ const response = page.response;
-**requestOptions:** `Roles.RequestOptions` +**requestOptions:** `RolesClient.RequestOptions`
@@ -20608,7 +20608,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 +20664,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 +20680,7 @@ await client.organizations.members.roles.assign("id", "user_id", {
-**requestOptions:** `Roles.RequestOptions` +**requestOptions:** `RolesClient.RequestOptions`
@@ -20691,7 +20691,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 +20747,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 +20763,7 @@ await client.organizations.members.roles.delete("id", "user_id", {
-**requestOptions:** `Roles.RequestOptions` +**requestOptions:** `RolesClient.RequestOptions`
@@ -20858,7 +20858,7 @@ const response = page.response;
-**requestOptions:** `Rendering.RequestOptions` +**requestOptions:** `RenderingClient.RequestOptions`
@@ -20956,7 +20956,7 @@ await client.prompts.rendering.bulkUpdate({
-**requestOptions:** `Rendering.RequestOptions` +**requestOptions:** `RenderingClient.RequestOptions`
@@ -21027,7 +21027,7 @@ await client.prompts.rendering.get("login", "login");
-**requestOptions:** `Rendering.RequestOptions` +**requestOptions:** `RenderingClient.RequestOptions`
@@ -21135,7 +21135,7 @@ await client.prompts.rendering.update("login", "login", {
-**requestOptions:** `Rendering.RequestOptions` +**requestOptions:** `RenderingClient.RequestOptions`
@@ -21208,7 +21208,7 @@ await client.prompts.customText.get("login", "am");
-**requestOptions:** `CustomText.RequestOptions` +**requestOptions:** `CustomTextClient.RequestOptions`
@@ -21289,7 +21289,7 @@ await client.prompts.customText.set("login", "am", {
-**requestOptions:** `CustomText.RequestOptions` +**requestOptions:** `CustomTextClient.RequestOptions`
@@ -21354,7 +21354,7 @@ await client.prompts.partials.get("login");
-**requestOptions:** `Partials.RequestOptions` +**requestOptions:** `PartialsClient.RequestOptions`
@@ -21427,7 +21427,7 @@ await client.prompts.partials.set("login", {
-**requestOptions:** `Partials.RequestOptions` +**requestOptions:** `PartialsClient.RequestOptions`
@@ -21484,7 +21484,7 @@ await client.riskAssessments.settings.get();
-**requestOptions:** `Settings.RequestOptions` +**requestOptions:** `SettingsClient.RequestOptions`
@@ -21549,7 +21549,7 @@ await client.riskAssessments.settings.update({
-**requestOptions:** `Settings.RequestOptions` +**requestOptions:** `SettingsClient.RequestOptions`
@@ -21606,7 +21606,7 @@ await client.riskAssessments.settings.newDevice.get();
-**requestOptions:** `NewDevice.RequestOptions` +**requestOptions:** `NewDeviceClient.RequestOptions`
@@ -21671,7 +21671,7 @@ await client.riskAssessments.settings.newDevice.update({
-**requestOptions:** `NewDevice.RequestOptions` +**requestOptions:** `NewDeviceClient.RequestOptions`
@@ -21764,7 +21764,7 @@ const response = page.response;
-**requestOptions:** `Permissions.RequestOptions` +**requestOptions:** `PermissionsClient.RequestOptions`
@@ -21842,7 +21842,7 @@ await client.roles.permissions.add("id", {
-**requestOptions:** `Permissions.RequestOptions` +**requestOptions:** `PermissionsClient.RequestOptions`
@@ -21920,7 +21920,7 @@ await client.roles.permissions.delete("id", {
-**requestOptions:** `Permissions.RequestOptions` +**requestOptions:** `PermissionsClient.RequestOptions`
@@ -22031,7 +22031,7 @@ const response = page.response;
-**requestOptions:** `Users.RequestOptions` +**requestOptions:** `UsersClient.RequestOptions`
@@ -22106,7 +22106,7 @@ await client.roles.users.assign("id", {
-**requestOptions:** `Users.RequestOptions` +**requestOptions:** `UsersClient.RequestOptions`
@@ -22187,7 +22187,7 @@ await client.selfServiceProfiles.customText.list("id", "en", "get-started");
-**requestOptions:** `CustomText.RequestOptions` +**requestOptions:** `CustomTextClient.RequestOptions`
@@ -22276,7 +22276,7 @@ await client.selfServiceProfiles.customText.set("id", "en", "get-started", {
-**requestOptions:** `CustomText.RequestOptions` +**requestOptions:** `CustomTextClient.RequestOptions`
@@ -22349,7 +22349,7 @@ await client.selfServiceProfiles.ssoTicket.create("id");
-**requestOptions:** `SsoTicket.RequestOptions` +**requestOptions:** `SsoTicketClient.RequestOptions`
@@ -22421,7 +22421,7 @@ await client.selfServiceProfiles.ssoTicket.revoke("profileId", "id");
-**requestOptions:** `SsoTicket.RequestOptions` +**requestOptions:** `SsoTicketClient.RequestOptions`
@@ -22489,7 +22489,7 @@ await client.tenants.settings.get({
-**requestOptions:** `Settings.RequestOptions` +**requestOptions:** `SettingsClient.RequestOptions`
@@ -22552,7 +22552,7 @@ await client.tenants.settings.update();
-**requestOptions:** `Settings.RequestOptions` +**requestOptions:** `SettingsClient.RequestOptions`
@@ -22645,7 +22645,7 @@ const response = page.response;
-**requestOptions:** `AuthenticationMethods.RequestOptions` +**requestOptions:** `AuthenticationMethodsClient.RequestOptions`
@@ -22718,7 +22718,7 @@ await client.users.authenticationMethods.create("id", {
-**requestOptions:** `AuthenticationMethods.RequestOptions` +**requestOptions:** `AuthenticationMethodsClient.RequestOptions`
@@ -22795,7 +22795,7 @@ await client.users.authenticationMethods.set("id", [
-**requestOptions:** `AuthenticationMethods.RequestOptions` +**requestOptions:** `AuthenticationMethodsClient.RequestOptions`
@@ -22858,7 +22858,7 @@ await client.users.authenticationMethods.deleteAll("id");
-**requestOptions:** `AuthenticationMethods.RequestOptions` +**requestOptions:** `AuthenticationMethodsClient.RequestOptions`
@@ -22869,7 +22869,7 @@ await client.users.authenticationMethods.deleteAll("id");
-
client.users.authenticationMethods.get(id, authenticationMethodId) -> Management.GetUserAuthenticationMethodResponseContent +
client.users.authenticationMethods.get(id, authentication_method_id) -> Management.GetUserAuthenticationMethodResponseContent
@@ -22906,7 +22906,7 @@ await client.users.authenticationMethods.get("id", "authentication_method_id");
-**authenticationMethodId:** `string` — The ID of the authentication methods in question. +**authentication_method_id:** `string` — The ID of the authentication methods in question.
@@ -22914,7 +22914,7 @@ await client.users.authenticationMethods.get("id", "authentication_method_id");
-**requestOptions:** `AuthenticationMethods.RequestOptions` +**requestOptions:** `AuthenticationMethodsClient.RequestOptions`
@@ -22925,7 +22925,7 @@ await client.users.authenticationMethods.get("id", "authentication_method_id");
-
client.users.authenticationMethods.delete(id, authenticationMethodId) -> void +
client.users.authenticationMethods.delete(id, authentication_method_id) -> void
@@ -22977,7 +22977,7 @@ await client.users.authenticationMethods.delete("id", "authentication_method_id"
-**authenticationMethodId:** `string` — The ID of the authentication method to delete. +**authentication_method_id:** `string` — The ID of the authentication method to delete.
@@ -22985,7 +22985,7 @@ await client.users.authenticationMethods.delete("id", "authentication_method_id"
-**requestOptions:** `AuthenticationMethods.RequestOptions` +**requestOptions:** `AuthenticationMethodsClient.RequestOptions`
@@ -22996,7 +22996,7 @@ await client.users.authenticationMethods.delete("id", "authentication_method_id"
-
client.users.authenticationMethods.update(id, authenticationMethodId, { ...params }) -> Management.UpdateUserAuthenticationMethodResponseContent +
client.users.authenticationMethods.update(id, authentication_method_id, { ...params }) -> Management.UpdateUserAuthenticationMethodResponseContent
@@ -23048,7 +23048,7 @@ await client.users.authenticationMethods.update("id", "authentication_method_id"
-**authenticationMethodId:** `string` — The ID of the authentication method to update. +**authentication_method_id:** `string` — The ID of the authentication method to update.
@@ -23064,7 +23064,7 @@ await client.users.authenticationMethods.update("id", "authentication_method_id"
-**requestOptions:** `AuthenticationMethods.RequestOptions` +**requestOptions:** `AuthenticationMethodsClient.RequestOptions`
@@ -23129,7 +23129,7 @@ await client.users.authenticators.deleteAll("id");
-**requestOptions:** `Authenticators.RequestOptions` +**requestOptions:** `AuthenticatorsClient.RequestOptions`
@@ -23220,7 +23220,7 @@ const response = page.response;
-**requestOptions:** `ConnectedAccounts.RequestOptions` +**requestOptions:** `ConnectedAccountsClient.RequestOptions`
@@ -23285,7 +23285,7 @@ await client.users.enrollments.get("id");
-**requestOptions:** `Enrollments.RequestOptions` +**requestOptions:** `EnrollmentsClient.RequestOptions`
@@ -23350,7 +23350,7 @@ await client.users.federatedConnectionsTokensets.list("id");
-**requestOptions:** `FederatedConnectionsTokensets.RequestOptions` +**requestOptions:** `FederatedConnectionsTokensetsClient.RequestOptions`
@@ -23361,7 +23361,7 @@ await client.users.federatedConnectionsTokensets.list("id");
-
client.users.federatedConnectionsTokensets.delete(id, tokensetId) -> void +
client.users.federatedConnectionsTokensets.delete(id, tokenset_id) -> void
@@ -23398,7 +23398,7 @@ await client.users.federatedConnectionsTokensets.delete("id", "tokenset_id");
-**tokensetId:** `string` — The tokenset id +**tokenset_id:** `string` — The tokenset id
@@ -23406,7 +23406,7 @@ await client.users.federatedConnectionsTokensets.delete("id", "tokenset_id");
-**requestOptions:** `FederatedConnectionsTokensets.RequestOptions` +**requestOptions:** `FederatedConnectionsTokensetsClient.RequestOptions`
@@ -23505,7 +23505,7 @@ await client.users.identities.link("id");
-**requestOptions:** `Identities.RequestOptions` +**requestOptions:** `IdentitiesClient.RequestOptions`
@@ -23516,7 +23516,7 @@ await client.users.identities.link("id");
-
client.users.identities.delete(id, provider, userId) -> Management.DeleteUserIdentityResponseContent +
client.users.identities.delete(id, provider, user_id) -> Management.DeleteUserIdentityResponseContent
@@ -23578,7 +23578,7 @@ await client.users.identities.delete("id", "ad", "user_id");
-**userId:** `string` — ID of the secondary linked account (e.g. `123456789081523216417` part after the `|` in `google-oauth2|123456789081523216417`). +**user_id:** `string` — ID of the secondary linked account (e.g. `123456789081523216417` part after the `|` in `google-oauth2|123456789081523216417`).
@@ -23586,7 +23586,7 @@ await client.users.identities.delete("id", "ad", "user_id");
-**requestOptions:** `Identities.RequestOptions` +**requestOptions:** `IdentitiesClient.RequestOptions`
@@ -23687,7 +23687,7 @@ const response = page.response;
-**requestOptions:** `Logs.RequestOptions` +**requestOptions:** `LogsClient.RequestOptions`
@@ -23752,7 +23752,7 @@ await client.users.multifactor.invalidateRememberBrowser("id");
-**requestOptions:** `Multifactor.RequestOptions` +**requestOptions:** `MultifactorClient.RequestOptions`
@@ -23823,7 +23823,7 @@ await client.users.multifactor.deleteProvider("id", "duo");
-**requestOptions:** `Multifactor.RequestOptions` +**requestOptions:** `MultifactorClient.RequestOptions`
@@ -23916,7 +23916,7 @@ const response = page.response;
-**requestOptions:** `Organizations.RequestOptions` +**requestOptions:** `OrganizationsClient.RequestOptions`
@@ -24009,7 +24009,7 @@ const response = page.response;
-**requestOptions:** `Permissions.RequestOptions` +**requestOptions:** `PermissionsClient.RequestOptions`
@@ -24087,7 +24087,7 @@ await client.users.permissions.create("id", {
-**requestOptions:** `Permissions.RequestOptions` +**requestOptions:** `PermissionsClient.RequestOptions`
@@ -24165,7 +24165,7 @@ await client.users.permissions.delete("id", {
-**requestOptions:** `Permissions.RequestOptions` +**requestOptions:** `PermissionsClient.RequestOptions`
@@ -24241,7 +24241,7 @@ await client.users.riskAssessments.clear("id", {
-**requestOptions:** `RiskAssessments.RequestOptions` +**requestOptions:** `RiskAssessmentsClient.RequestOptions`
@@ -24336,7 +24336,7 @@ const response = page.response;
-**requestOptions:** `Roles.RequestOptions` +**requestOptions:** `RolesClient.RequestOptions`
@@ -24411,7 +24411,7 @@ await client.users.roles.assign("id", {
-**requestOptions:** `Roles.RequestOptions` +**requestOptions:** `RolesClient.RequestOptions`
@@ -24486,7 +24486,7 @@ await client.users.roles.delete("id", {
-**requestOptions:** `Roles.RequestOptions` +**requestOptions:** `RolesClient.RequestOptions`
@@ -24499,7 +24499,7 @@ await client.users.roles.delete("id", { ## Users RefreshToken -
client.users.refreshToken.list(userId, { ...params }) -> core.Page +
client.users.refreshToken.list(user_id, { ...params }) -> core.Page
@@ -24561,7 +24561,7 @@ const response = page.response;
-**userId:** `string` — ID of the user to get refresh tokens for +**user_id:** `string` — ID of the user to get refresh tokens for
@@ -24577,7 +24577,7 @@ const response = page.response;
-**requestOptions:** `RefreshToken.RequestOptions` +**requestOptions:** `RefreshTokenClient.RequestOptions`
@@ -24588,7 +24588,7 @@ const response = page.response;
-
client.users.refreshToken.delete(userId) -> void +
client.users.refreshToken.delete(user_id) -> void
@@ -24632,7 +24632,7 @@ await client.users.refreshToken.delete("user_id");
-**userId:** `string` — ID of the user to get remove refresh tokens for +**user_id:** `string` — ID of the user to get remove refresh tokens for
@@ -24640,7 +24640,7 @@ await client.users.refreshToken.delete("user_id");
-**requestOptions:** `RefreshToken.RequestOptions` +**requestOptions:** `RefreshTokenClient.RequestOptions`
@@ -24653,7 +24653,7 @@ await client.users.refreshToken.delete("user_id"); ## Users Sessions -
client.users.sessions.list(userId, { ...params }) -> core.Page +
client.users.sessions.list(user_id, { ...params }) -> core.Page
@@ -24715,7 +24715,7 @@ const response = page.response;
-**userId:** `string` — ID of the user to get sessions for +**user_id:** `string` — ID of the user to get sessions for
@@ -24731,7 +24731,7 @@ const response = page.response;
-**requestOptions:** `Sessions.RequestOptions` +**requestOptions:** `SessionsClient.RequestOptions`
@@ -24742,7 +24742,7 @@ const response = page.response;
-
client.users.sessions.delete(userId) -> void +
client.users.sessions.delete(user_id) -> void
@@ -24786,7 +24786,7 @@ await client.users.sessions.delete("user_id");
-**userId:** `string` — ID of the user to get sessions for +**user_id:** `string` — ID of the user to get sessions for
@@ -24794,7 +24794,7 @@ await client.users.sessions.delete("user_id");
-**requestOptions:** `Sessions.RequestOptions` +**requestOptions:** `SessionsClient.RequestOptions`
@@ -24877,7 +24877,7 @@ const response = page.response;
-**requestOptions:** `Templates.RequestOptions` +**requestOptions:** `TemplatesClient.RequestOptions`
@@ -24950,7 +24950,7 @@ await client.verifiableCredentials.verification.templates.create({
-**requestOptions:** `Templates.RequestOptions` +**requestOptions:** `TemplatesClient.RequestOptions`
@@ -25013,7 +25013,7 @@ await client.verifiableCredentials.verification.templates.get("id");
-**requestOptions:** `Templates.RequestOptions` +**requestOptions:** `TemplatesClient.RequestOptions`
@@ -25076,7 +25076,7 @@ await client.verifiableCredentials.verification.templates.delete("id");
-**requestOptions:** `Templates.RequestOptions` +**requestOptions:** `TemplatesClient.RequestOptions`
@@ -25147,7 +25147,7 @@ await client.verifiableCredentials.verification.templates.update("id");
-**requestOptions:** `Templates.RequestOptions` +**requestOptions:** `TemplatesClient.RequestOptions`
diff --git a/src/management/BaseClient.ts b/src/management/BaseClient.ts index 036ee7c7e5..55076911d8 100644 --- a/src/management/BaseClient.ts +++ b/src/management/BaseClient.ts @@ -1,5 +1,7 @@ // This file was auto-generated by Fern from our API Definition. +import { BearerAuthProvider } from "./auth/BearerAuthProvider.js"; +import type { AuthProvider } from "./core/auth/index.js"; import * as environments from "./environments.js"; import * as core from "./core/index.js"; @@ -17,6 +19,8 @@ export interface BaseClientOptions { /** Provide a custom fetch implementation. Useful for platforms that don't have a built-in fetch or need a custom implementation. */ fetch?: typeof fetch; fetcher?: core.FetchFunction; + /** Configure logging for the client. */ + logging?: core.logging.LogConfig | core.logging.Logger; } export interface BaseRequestOptions { @@ -31,3 +35,37 @@ export interface BaseRequestOptions { /** Additional headers to include in the request. */ headers?: Record | 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..78aa76db78 100644 --- a/src/management/Client.ts +++ b/src/management/Client.ts @@ -1,49 +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 { 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 { 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 {} @@ -52,214 +53,214 @@ export declare namespace ManagementClient { } 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 _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 connections(): ConnectionsClient { + return (this._connections ??= new ConnectionsClient(this._options)); } - public get customDomains(): CustomDomains { - return (this._customDomains ??= new CustomDomains(this._options)); + public get customDomains(): CustomDomainsClient { + return (this._customDomains ??= new CustomDomainsClient(this._options)); } - public get deviceCredentials(): DeviceCredentials { - return (this._deviceCredentials ??= new DeviceCredentials(this._options)); + public get deviceCredentials(): DeviceCredentialsClient { + return (this._deviceCredentials ??= new DeviceCredentialsClient(this._options)); } - public get emailTemplates(): EmailTemplates { - return (this._emailTemplates ??= new EmailTemplates(this._options)); + public get emailTemplates(): EmailTemplatesClient { + return (this._emailTemplates ??= new EmailTemplatesClient(this._options)); } - public get eventStreams(): EventStreams { - return (this._eventStreams ??= new EventStreams(this._options)); + public get eventStreams(): EventStreamsClient { + return (this._eventStreams ??= new EventStreamsClient(this._options)); } - public get flows(): Flows { - return (this._flows ??= new Flows(this._options)); + public get flows(): FlowsClient { + return (this._flows ??= new FlowsClient(this._options)); } - public get forms(): Forms { - return (this._forms ??= new Forms(this._options)); + public get forms(): FormsClient { + return (this._forms ??= new FormsClient(this._options)); } - public get userGrants(): UserGrants { - return (this._userGrants ??= new UserGrants(this._options)); + public get userGrants(): UserGrantsClient { + return (this._userGrants ??= new UserGrantsClient(this._options)); } - public get hooks(): Hooks { - return (this._hooks ??= new Hooks(this._options)); + public get hooks(): HooksClient { + return (this._hooks ??= new HooksClient(this._options)); } - public get jobs(): Jobs { - return (this._jobs ??= new Jobs(this._options)); + public get jobs(): JobsClient { + return (this._jobs ??= new JobsClient(this._options)); } - public get logStreams(): LogStreams { - return (this._logStreams ??= new LogStreams(this._options)); + public get logStreams(): LogStreamsClient { + return (this._logStreams ??= new LogStreamsClient(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 networkAcls(): NetworkAcls { - return (this._networkAcls ??= new NetworkAcls(this._options)); + public get networkAcls(): NetworkAclsClient { + return (this._networkAcls ??= new NetworkAclsClient(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 prompts(): Prompts { - return (this._prompts ??= new Prompts(this._options)); + public get prompts(): PromptsClient { + return (this._prompts ??= new PromptsClient(this._options)); } - public get refreshTokens(): RefreshTokens { - return (this._refreshTokens ??= new RefreshTokens(this._options)); + public get refreshTokens(): RefreshTokensClient { + return (this._refreshTokens ??= new RefreshTokensClient(this._options)); } - public get resourceServers(): ResourceServers { - return (this._resourceServers ??= new ResourceServers(this._options)); + public get resourceServers(): ResourceServersClient { + return (this._resourceServers ??= new ResourceServersClient(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 rules(): Rules { - return (this._rules ??= new Rules(this._options)); + public get rules(): RulesClient { + return (this._rules ??= new RulesClient(this._options)); } - public get rulesConfigs(): RulesConfigs { - return (this._rulesConfigs ??= new RulesConfigs(this._options)); + public get rulesConfigs(): RulesConfigsClient { + return (this._rulesConfigs ??= new RulesConfigsClient(this._options)); } - public get selfServiceProfiles(): SelfServiceProfiles { - return (this._selfServiceProfiles ??= new SelfServiceProfiles(this._options)); + public get selfServiceProfiles(): SelfServiceProfilesClient { + return (this._selfServiceProfiles ??= new SelfServiceProfilesClient(this._options)); } - public get sessions(): Sessions { - return (this._sessions ??= new Sessions(this._options)); + public get sessions(): SessionsClient { + return (this._sessions ??= new SessionsClient(this._options)); } - public get stats(): Stats { - return (this._stats ??= new Stats(this._options)); + public get stats(): StatsClient { + return (this._stats ??= new StatsClient(this._options)); } - public get supplementalSignals(): SupplementalSignals { - return (this._supplementalSignals ??= new SupplementalSignals(this._options)); + public get supplementalSignals(): SupplementalSignalsClient { + return (this._supplementalSignals ??= new SupplementalSignalsClient(this._options)); } - public get tickets(): Tickets { - return (this._tickets ??= new Tickets(this._options)); + public get tickets(): TicketsClient { + return (this._tickets ??= new TicketsClient(this._options)); } - public get tokenExchangeProfiles(): TokenExchangeProfiles { - return (this._tokenExchangeProfiles ??= new TokenExchangeProfiles(this._options)); + public get tokenExchangeProfiles(): TokenExchangeProfilesClient { + return (this._tokenExchangeProfiles ??= new TokenExchangeProfilesClient(this._options)); } - public get userAttributeProfiles(): UserAttributeProfiles { - return (this._userAttributeProfiles ??= new UserAttributeProfiles(this._options)); + public get userAttributeProfiles(): UserAttributeProfilesClient { + return (this._userAttributeProfiles ??= new UserAttributeProfilesClient(this._options)); } - public get userBlocks(): UserBlocks { - return (this._userBlocks ??= new UserBlocks(this._options)); + public get userBlocks(): UserBlocksClient { + return (this._userBlocks ??= new UserBlocksClient(this._options)); } - public get users(): Users { - return (this._users ??= new Users(this._options)); + public get users(): UsersClient { + return (this._users ??= new UsersClient(this._options)); } - public get anomaly(): Anomaly { - return (this._anomaly ??= new Anomaly(this._options)); + public get anomaly(): AnomalyClient { + return (this._anomaly ??= new AnomalyClient(this._options)); } - public get attackProtection(): AttackProtection { - return (this._attackProtection ??= new AttackProtection(this._options)); + public get attackProtection(): AttackProtectionClient { + return (this._attackProtection ??= new AttackProtectionClient(this._options)); } - public get emails(): Emails { - return (this._emails ??= new Emails(this._options)); + public get emails(): EmailsClient { + return (this._emails ??= new EmailsClient(this._options)); } - public get guardian(): Guardian { - return (this._guardian ??= new Guardian(this._options)); + public get guardian(): GuardianClient { + return (this._guardian ??= new GuardianClient(this._options)); } - public get keys(): Keys { - return (this._keys ??= new Keys(this._options)); + public get keys(): KeysClient { + return (this._keys ??= new KeysClient(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 tenants(): Tenants { - return (this._tenants ??= new Tenants(this._options)); + public get tenants(): TenantsClient { + return (this._tenants ??= new TenantsClient(this._options)); } - public get verifiableCredentials(): VerifiableCredentials { - return (this._verifiableCredentials ??= new VerifiableCredentials(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/resources/actions/client/Client.ts b/src/management/api/resources/actions/client/Client.ts index f4c582ddc3..b261fc5577 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 declare namespace ActionsClient { export interface Options extends 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..3f5755e836 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 declare namespace ExecutionsClient { export interface Options extends 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..b564f8b83a 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 declare namespace TriggersClient { export interface Options extends 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..5db96ab660 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 declare namespace BindingsClient { export interface Options extends 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..94c5de9574 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 declare namespace VersionsClient { export interface Options extends 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..5a26f34dda 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 declare namespace AnomalyClient { export interface Options extends 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..7fb4dcfc38 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 declare namespace BlocksClient { export interface Options extends 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..2783be17c3 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"; +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 AttackProtection { +export declare namespace AttackProtectionClient { export interface Options extends 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..e86992e19e 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 declare namespace BotDetectionClient { export interface Options extends 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..37ad4e4bdd 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 declare namespace BreachedPasswordDetectionClient { export interface Options extends 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..a98edf7adc 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 declare namespace BruteForceProtectionClient { export interface Options extends 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..819ca1a69f 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 declare namespace CaptchaClient { export interface Options extends 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..3015d2793f 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 declare namespace SuspiciousIpThrottlingClient { export interface Options extends 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..a402b81d45 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 declare namespace BrandingClient { export interface Options extends 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..75c517eeb0 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 declare namespace PhoneClient { export interface Options extends 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..30ad298eff 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 declare namespace ProvidersClient { export interface Options extends 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..705ebf913d 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 declare namespace TemplatesClient { export interface Options extends 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..e9af7f16b6 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 declare namespace TemplatesClient { export interface Options extends 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..ee7ed74c09 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 declare namespace ThemesClient { export interface Options extends 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..06da2e4b8e 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 declare namespace ClientGrantsClient { export interface Options extends 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..d8cb258c47 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 declare namespace OrganizationsClient { export interface Options extends 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..9e25b882b7 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 declare namespace ClientsClient { export interface Options extends 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..579593dce5 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 declare namespace ConnectionsClient { export interface Options extends 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..74acaafb85 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 declare namespace CredentialsClient { export interface Options extends 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/connections/client/Client.ts b/src/management/api/resources/connections/client/Client.ts index 5891d0c2cf..d49ca14347 100644 --- a/src/management/api/resources/connections/client/Client.ts +++ b/src/management/api/resources/connections/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 { 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 { 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 declare namespace ConnectionsClient { export interface Options extends 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 _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 keys(): KeysClient { + return (this._keys ??= new KeysClient(this._options)); } - public get scimConfiguration(): ScimConfiguration { - return (this._scimConfiguration ??= new ScimConfiguration(this._options)); + public get scimConfiguration(): ScimConfigurationClient { + return (this._scimConfiguration ??= new ScimConfigurationClient(this._options)); } - public get users(): Users { - return (this._users ??= new Users(this._options)); + public get users(): UsersClient { + return (this._users ??= new UsersClient(this._options)); } /** @@ -66,7 +68,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 +86,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 +116,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 +136,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 +171,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 +194,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 +210,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 +242,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 +272,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 +280,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 +297,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 +305,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 +317,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 +337,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 +367,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 +384,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 +412,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 +437,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 +447,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 +462,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 +470,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 +495,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 +527,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 +545,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 +573,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 +600,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..d347ed2c8d 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 declare namespace ClientsClient { export interface Options extends 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/keys/client/Client.ts b/src/management/api/resources/connections/resources/keys/client/Client.ts index 8a9df9dde6..94e27edb59 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 declare namespace KeysClient { export interface Options extends 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..c1fc6610f8 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 declare namespace ScimConfigurationClient { export interface Options extends 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..45a71191fd 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 declare namespace TokensClient { export interface Options extends 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..5e43ab2516 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 declare namespace UsersClient { export interface Options extends 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..a20717b14e 100644 --- a/src/management/api/resources/customDomains/client/Client.ts +++ b/src/management/api/resources/customDomains/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 CustomDomains { +export declare namespace CustomDomainsClient { export interface Options extends 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 {CustomDomainsClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Management.UnauthorizedError} * @throws {@link Management.ForbiddenError} @@ -33,17 +35,18 @@ export class CustomDomains { * await client.customDomains.list() */ public list( - requestOptions?: CustomDomains.RequestOptions, + requestOptions?: CustomDomainsClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__list(requestOptions)); } private async __list( - 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)({ @@ -60,6 +63,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 { @@ -85,21 +89,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 +109,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 +125,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 +157,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 +187,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 +207,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 +236,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 +266,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 +283,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 +311,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 +336,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 +367,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 +380,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 +388,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 +413,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 +441,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 +461,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 +490,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 +520,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 +534,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 +547,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 +576,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 +606,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..e09d8b96c5 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 declare namespace DeviceCredentialsClient { export interface Options extends 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..0ac605636f 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 declare namespace EmailTemplatesClient { export interface Options extends 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..b12d5857cf 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 declare namespace EmailsClient { export interface Options extends 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..c342d8726f 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 declare namespace ProviderClient { export interface Options extends 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..35a4f30dff 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 declare namespace EventStreamsClient { export interface Options extends 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..6816163762 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 declare namespace DeliveriesClient { export interface Options extends 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..b4ef4538e2 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 declare namespace RedeliveriesClient { export interface Options extends 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..e72a0666cd 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 declare namespace FlowsClient { export interface Options extends 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..25264820ea 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 declare namespace ExecutionsClient { export interface Options extends 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..ea73c5d5bb 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 declare namespace VaultClient { export interface Options extends 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..0511bb35f8 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 declare namespace ConnectionsClient { export interface Options extends 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..c5c476d27d 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 declare namespace FormsClient { export interface Options extends 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..83331ccc9d 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 declare namespace GuardianClient { export interface Options extends 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..6a5eaef1c9 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 declare namespace EnrollmentsClient { export interface Options extends 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..fa0d28b6e2 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 declare namespace FactorsClient { export interface Options extends 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..f3c9051bfb 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 declare namespace DuoClient { export interface Options extends 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..07105c4793 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 declare namespace SettingsClient { export interface Options extends 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..e4989da600 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 declare namespace PhoneClient { export interface Options extends 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..97c528a287 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 declare namespace PushNotificationClient { export interface Options extends 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..67bb45c1f5 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 declare namespace SmsClient { export interface Options extends 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..21be336d11 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 declare namespace PoliciesClient { export interface Options extends 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..61fce0776e 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 declare namespace HooksClient { export interface Options extends 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..b61bd4ab60 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 declare namespace SecretsClient { export interface Options extends 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/jobs/client/Client.ts b/src/management/api/resources/jobs/client/Client.ts index 9d0ef33724..1497a482c1 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 declare namespace JobsClient { export interface Options extends 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..b8e582cc42 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 declare namespace ErrorsClient { export interface Options extends 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..91b26f9863 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 declare namespace UsersExportsClient { export interface Options extends 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..adfa683822 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 declare namespace UsersImportsClient { export interface Options extends 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..8afbd75f1e 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 declare namespace VerificationEmailClient { export interface Options extends 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..f55c54f38c 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 declare namespace KeysClient { export interface Options extends 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..02b5e682d1 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 declare namespace CustomSigningClient { export interface Options extends 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..711d22858c 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 declare namespace EncryptionClient { export interface Options extends 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..d4f1215ab9 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 declare namespace SigningClient { export interface Options extends 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..5dea9f8d22 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 declare namespace LogStreamsClient { export interface Options extends 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..bd3fe2f29f 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 declare namespace LogsClient { export interface Options extends 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..ca42e411fb 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 declare namespace NetworkAclsClient { export interface Options extends 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..a08a0a1e74 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"; - -export declare namespace Organizations { +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 OrganizationsClient { export interface Options extends 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..b9ee68b467 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 declare namespace ClientGrantsClient { export interface Options extends 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..c6f5711c18 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 declare namespace DiscoveryDomainsClient { export interface Options extends 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..bbdb3c7189 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 declare namespace EnabledConnectionsClient { export interface Options extends 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..02a8303510 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 declare namespace InvitationsClient { export interface Options extends 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..7e544faba8 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 declare namespace MembersClient { export interface Options extends 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..9a6c365a2f 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 declare namespace RolesClient { export interface Options extends 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..e3b783d870 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 declare namespace PromptsClient { export interface Options extends 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..ac86fd6e6c 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 declare namespace CustomTextClient { export interface Options extends 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..ba0abcc122 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 declare namespace PartialsClient { export interface Options extends 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..060298752d 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 declare namespace RenderingClient { export interface Options extends 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)); }, }); @@ -209,7 +197,7 @@ export class Rendering { * * * @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} @@ -229,18 +217,19 @@ export class Rendering { */ 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 +249,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 +279,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 +287,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 +302,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 +310,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 +332,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,23 +361,12 @@ 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", + ); } /** @@ -435,7 +402,7 @@ export class Rendering { * @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} @@ -453,7 +420,7 @@ export class Rendering { prompt: Management.PromptGroupNameEnum, screen: Management.ScreenGroupNameEnum, request: Management.UpdateAculRequestContent, - requestOptions?: Rendering.RequestOptions, + requestOptions?: RenderingClient.RequestOptions, ): core.HttpResponsePromise { return core.HttpResponsePromise.fromPromise(this.__update(prompt, screen, request, requestOptions)); } @@ -462,11 +429,12 @@ export class Rendering { prompt: Management.PromptGroupNameEnum, screen: Management.ScreenGroupNameEnum, request: Management.UpdateAculRequestContent, - 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)({ @@ -486,6 +454,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 +481,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..6a8eaa0c9f 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 declare namespace RefreshTokensClient { export interface Options extends 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..4a363e21e8 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 declare namespace ResourceServersClient { export interface Options extends 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..32c8b9c810 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 declare namespace RiskAssessmentsClient { export interface Options extends 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..b8339a0e91 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 declare namespace SettingsClient { export interface Options extends 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..9b2169681d 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 declare namespace NewDeviceClient { export interface Options extends 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..02b3289ceb 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 declare namespace RolesClient { export interface Options extends 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..599fdae014 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 declare namespace PermissionsClient { export interface Options extends 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..2033c4f91e 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 declare namespace UsersClient { export interface Options extends 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..ddbfcd00a5 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 declare namespace RulesClient { export interface Options extends 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..cc2519c823 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 declare namespace RulesConfigsClient { export interface Options extends 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..7654594cdb 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 declare namespace SelfServiceProfilesClient { export interface Options extends 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..a69713512e 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 declare namespace CustomTextClient { export interface Options extends 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..5c53bc478a 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 declare namespace SsoTicketClient { export interface Options extends 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..bea0f7dfc1 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 declare namespace SessionsClient { export interface Options extends 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..cdc8d3168f 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 declare namespace StatsClient { export interface Options extends 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..bf3ee5b174 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 declare namespace SupplementalSignalsClient { export interface Options extends 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..de4f9b3382 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 declare namespace TenantsClient { export interface Options extends 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..603d8928f7 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 declare namespace SettingsClient { export interface Options extends 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..1a9ed26048 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 declare namespace TicketsClient { export interface Options extends 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..376532276f 100644 --- a/src/management/api/resources/tokenExchangeProfiles/client/Client.ts +++ b/src/management/api/resources/tokenExchangeProfiles/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 TokenExchangeProfiles { +export declare namespace TokenExchangeProfilesClient { export interface Options extends 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); } /** @@ -32,7 +34,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 +49,7 @@ export class TokenExchangeProfiles { */ public async list( request: Management.TokenExchangeProfilesListRequest = {}, - requestOptions?: TokenExchangeProfiles.RequestOptions, + requestOptions?: TokenExchangeProfilesClient.RequestOptions, ): Promise< core.Page > { @@ -63,9 +65,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 +85,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 +120,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(); @@ -155,7 +148,7 @@ export class TokenExchangeProfiles { * Create a new Token Exchange Profile within your tenant. * * @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 +165,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 +197,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 +227,14 @@ 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. * * @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 +247,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 +276,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 +306,14 @@ 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. * * @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 +322,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 +353,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,23 +376,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 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}", + ); } /** @@ -428,7 +389,7 @@ export class TokenExchangeProfiles { * * @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 +403,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 +411,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 +436,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 +463,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..22d23f706a 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 declare namespace UserAttributeProfilesClient { export interface Options extends 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..34a09562a7 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 declare namespace UserBlocksClient { export interface Options extends 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..ba7f38e57d 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 declare namespace UserGrantsClient { export interface Options extends 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..3af0928488 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 { +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 interface Options extends 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..8b1c04778d 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 declare namespace AuthenticationMethodsClient { export interface Options extends 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..da5083e7a3 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 declare namespace AuthenticatorsClient { export interface Options extends 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..bc7c7db693 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 declare namespace ConnectedAccountsClient { export interface Options extends 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..b17483a6a4 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 declare namespace EnrollmentsClient { export interface Options extends 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..f936255fe7 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 declare namespace FederatedConnectionsTokensetsClient { export interface Options extends 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..a483a7af9c 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 declare namespace IdentitiesClient { export interface Options extends 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..e3242903ea 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 declare namespace LogsClient { export interface Options extends 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..301e2270e7 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 declare namespace MultifactorClient { export interface Options extends 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..a52946527c 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 declare namespace OrganizationsClient { export interface Options extends 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..69d9ca4ea8 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 declare namespace PermissionsClient { export interface Options extends 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..5d6dd04922 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 declare namespace RefreshTokenClient { export interface Options extends 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..182ecd2f3c 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 declare namespace RiskAssessmentsClient { export interface Options extends 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..39f84a41ea 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 declare namespace RolesClient { export interface Options extends 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..25e2af9648 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 declare namespace SessionsClient { export interface Options extends 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..5c7d9e8985 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 declare namespace VerifiableCredentialsClient { export interface Options extends 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..88d5a17164 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 declare namespace VerificationClient { export interface Options extends 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..aba87763be 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 declare namespace TemplatesClient { export interface Options extends 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..592e86ea17 100644 --- a/src/management/api/types/types.ts +++ b/src/management/api/types/types.ts @@ -3032,7 +3032,29 @@ export type ConnectionOptionsApple = Record; /** * options for the 'auth0' connection */ -export type ConnectionOptionsAuth0 = Record; +export interface ConnectionOptionsAuth0 { + attributes?: Management.ConnectionAttributes; + authentication_methods?: Management.ConnectionAuthenticationMethods | null; + brute_force_protection?: unknown; + configuration?: unknown; + customScripts?: Management.ConnectionCustomScripts; + disable_self_service_change_password?: unknown; + disable_signup?: unknown; + enable_script_context?: unknown; + enabledDatabaseCustomization?: unknown; + import_mode?: unknown; + mfa?: unknown; + 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?: unknown; + realm_fallback?: unknown; + requires_username?: unknown; + validation?: Management.ConnectionValidationOptions | null; +} /** * options for the 'auth0-oidc' connection diff --git a/src/management/auth/BearerAuthProvider.ts b/src/management/auth/BearerAuthProvider.ts new file mode 100644 index 0000000000..1d838ba62c --- /dev/null +++ b/src/management/auth/BearerAuthProvider.ts @@ -0,0 +1,35 @@ +// 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 Options { + token: core.Supplier; + } +} + +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..451bcce3a2 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); @@ -126,6 +128,7 @@ describe("Test fetcherImpl", () => { url, method: "GET", headers: { "X-Test": "x-test-header" }, + maxRetries: 0, responseType: "binary-response", }; @@ -145,7 +148,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 +174,7 @@ describe("Test fetcherImpl", () => { url, method: "GET", headers: { "X-Test": "x-test-header" }, + maxRetries: 0, responseType: "binary-response", }; @@ -190,7 +194,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 +218,7 @@ describe("Test fetcherImpl", () => { url, method: "GET", headers: { "X-Test": "x-test-header" }, + maxRetries: 0, responseType: "binary-response", }; @@ -233,7 +238,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..453e28e08c 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, @@ -61,7 +61,13 @@ describe("Clients", () => { }, ], }; - 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, @@ -145,10 +151,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 +169,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 +187,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 +205,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 +223,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", @@ -678,7 +708,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 +729,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 +750,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 +771,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 +792,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 +813,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", @@ -1262,7 +1292,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 +1304,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 +1316,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 +1328,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 +1340,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 +1352,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 +1362,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 +1374,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 +1386,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 +1398,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 +1410,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", @@ -1863,7 +1893,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 +1912,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 +1931,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 +1950,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 +1969,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 +1988,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", @@ -2440,7 +2470,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 +2488,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 +2506,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 +2524,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 +2542,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/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/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..ad5ccc2dda 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 = [ { @@ -69,7 +69,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 +81,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 +93,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 +105,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", @@ -171,7 +171,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 +193,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 +215,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 +237,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 +259,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 +281,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", @@ -339,7 +339,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 +351,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 +363,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 +375,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 +387,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 +399,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 +409,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 +427,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 +445,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 +463,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 +481,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", @@ -544,7 +544,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 +563,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 +582,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 +601,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 +620,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 +640,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 +658,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 +676,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 +694,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 +712,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 +730,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", @@ -796,7 +796,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 +814,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 +832,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 +850,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 +868,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..1b28b30024 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: [ @@ -23,7 +23,13 @@ describe("Rendering", () => { 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: [ @@ -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,7 +154,7 @@ describe("Rendering", () => { test("bulkUpdate (1)", async () => { const server = 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: [{}] }], }; @@ -171,7 +207,7 @@ 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: [{}, {}] }, @@ -210,7 +246,7 @@ 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: [{}, {}] }, @@ -249,7 +285,7 @@ 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: [{}, {}] }, @@ -288,7 +324,7 @@ 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: [{}, {}] }, @@ -327,7 +363,7 @@ 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: [{}, {}] }, @@ -366,7 +402,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", @@ -430,7 +466,7 @@ describe("Rendering", () => { 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 +484,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 +502,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 +520,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 +538,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 +556,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,7 +574,7 @@ describe("Rendering", () => { 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 = { rendering_mode: "advanced", head_tags: [{}] }; const rawResponseBody = { rendering_mode: "advanced", @@ -600,7 +636,7 @@ describe("Rendering", () => { 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 = { rendering_mode: "advanced", head_tags: [{}, {}] }; const rawResponseBody = { key: "value" }; server @@ -622,7 +658,7 @@ describe("Rendering", () => { 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 = { rendering_mode: "advanced", head_tags: [{}, {}] }; const rawResponseBody = { key: "value" }; server @@ -644,7 +680,7 @@ describe("Rendering", () => { 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 = { rendering_mode: "advanced", head_tags: [{}, {}] }; const rawResponseBody = { key: "value" }; server @@ -666,7 +702,7 @@ describe("Rendering", () => { 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 = { rendering_mode: "advanced", head_tags: [{}, {}] }; const rawResponseBody = { key: "value" }; server @@ -688,7 +724,7 @@ describe("Rendering", () => { 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 = { rendering_mode: "advanced", head_tags: [{}, {}] }; const rawResponseBody = { key: "value" }; server 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..e22a95cd7f 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" }, @@ -175,7 +175,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.mockEndpoint().get("/tenants/settings").respondWith().statusCode(400).jsonBody(rawResponseBody).build(); @@ -187,7 +187,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 +199,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 +211,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 +223,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" }, @@ -395,7 +395,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 @@ -414,7 +414,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 +433,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 +452,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 deleted file mode 100644 index d6cfacbcda..0000000000 --- a/yarn.lock +++ /dev/null @@ -1,4228 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" - integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== - dependencies: - "@babel/helper-validator-identifier" "^7.27.1" - js-tokens "^4.0.0" - picocolors "^1.1.1" - -"@babel/compat-data@^7.27.2": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.28.5.tgz#a8a4962e1567121ac0b3b487f52107443b455c7f" - integrity sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA== - -"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.5.tgz#4c81b35e51e1b734f510c99b07dfbc7bbbb48f7e" - integrity sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.28.5" - "@babel/helper-compilation-targets" "^7.27.2" - "@babel/helper-module-transforms" "^7.28.3" - "@babel/helpers" "^7.28.4" - "@babel/parser" "^7.28.5" - "@babel/template" "^7.27.2" - "@babel/traverse" "^7.28.5" - "@babel/types" "^7.28.5" - "@jridgewell/remapping" "^2.3.5" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.28.5", "@babel/generator@^7.7.2": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.5.tgz#712722d5e50f44d07bc7ac9fe84438742dd61298" - integrity sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ== - dependencies: - "@babel/parser" "^7.28.5" - "@babel/types" "^7.28.5" - "@jridgewell/gen-mapping" "^0.3.12" - "@jridgewell/trace-mapping" "^0.3.28" - jsesc "^3.0.2" - -"@babel/helper-compilation-targets@^7.27.2": - version "7.27.2" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d" - integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ== - dependencies: - "@babel/compat-data" "^7.27.2" - "@babel/helper-validator-option" "^7.27.1" - browserslist "^4.24.0" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-globals@^7.28.0": - version "7.28.0" - resolved "https://registry.yarnpkg.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz#b9430df2aa4e17bc28665eadeae8aa1d985e6674" - integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw== - -"@babel/helper-module-imports@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204" - integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w== - dependencies: - "@babel/traverse" "^7.27.1" - "@babel/types" "^7.27.1" - -"@babel/helper-module-transforms@^7.28.3": - version "7.28.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz#a2b37d3da3b2344fe085dab234426f2b9a2fa5f6" - integrity sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw== - dependencies: - "@babel/helper-module-imports" "^7.27.1" - "@babel/helper-validator-identifier" "^7.27.1" - "@babel/traverse" "^7.28.3" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.27.1", "@babel/helper-plugin-utils@^7.8.0": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c" - integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw== - -"@babel/helper-string-parser@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" - integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== - -"@babel/helper-validator-identifier@^7.27.1", "@babel/helper-validator-identifier@^7.28.5": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz#010b6938fab7cb7df74aa2bbc06aa503b8fe5fb4" - integrity sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q== - -"@babel/helper-validator-option@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" - integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== - -"@babel/helpers@^7.28.4": - version "7.28.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.4.tgz#fe07274742e95bdf7cf1443593eeb8926ab63827" - integrity sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w== - dependencies: - "@babel/template" "^7.27.2" - "@babel/types" "^7.28.4" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.27.2", "@babel/parser@^7.28.5": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.5.tgz#0b0225ee90362f030efd644e8034c99468893b08" - integrity sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ== - dependencies: - "@babel/types" "^7.28.5" - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-import-attributes@^7.24.7": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz#34c017d54496f9b11b61474e7ea3dfd5563ffe07" - integrity sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-syntax-import-meta@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.7.2": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz#2f9beb5eff30fa507c5532d107daac7b888fa34c" - integrity sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.7.2": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz#5147d29066a793450f220c63fa3a9431b7e6dd18" - integrity sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/template@^7.27.2", "@babel/template@^7.3.3": - version "7.27.2" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d" - integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/parser" "^7.27.2" - "@babel/types" "^7.27.1" - -"@babel/traverse@^7.27.1", "@babel/traverse@^7.28.3", "@babel/traverse@^7.28.5": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.5.tgz#450cab9135d21a7a2ca9d2d35aa05c20e68c360b" - integrity sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.28.5" - "@babel/helper-globals" "^7.28.0" - "@babel/parser" "^7.28.5" - "@babel/template" "^7.27.2" - "@babel/types" "^7.28.5" - debug "^4.3.1" - -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.27.1", "@babel/types@^7.28.2", "@babel/types@^7.28.4", "@babel/types@^7.28.5", "@babel/types@^7.3.3": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.5.tgz#10fc405f60897c35f07e85493c932c7b5ca0592b" - integrity sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA== - dependencies: - "@babel/helper-string-parser" "^7.27.1" - "@babel/helper-validator-identifier" "^7.28.5" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@bundled-es-modules/cookie@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@bundled-es-modules/cookie/-/cookie-2.0.1.tgz#b41376af6a06b3e32a15241d927b840a9b4de507" - integrity sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw== - dependencies: - cookie "^0.7.2" - -"@bundled-es-modules/statuses@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@bundled-es-modules/statuses/-/statuses-1.0.1.tgz#761d10f44e51a94902c4da48675b71a76cc98872" - integrity sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg== - dependencies: - statuses "^2.0.1" - -"@eslint-community/eslint-utils@^4.7.0", "@eslint-community/eslint-utils@^4.8.0": - version "4.9.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz#7308df158e064f0dd8b8fdb58aa14fa2a7f913b3" - integrity sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g== - dependencies: - eslint-visitor-keys "^3.4.3" - -"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.12.1": - version "4.12.2" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.2.tgz#bccdf615bcf7b6e8db830ec0b8d21c9a25de597b" - integrity sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew== - -"@eslint/config-array@^0.21.1": - version "0.21.1" - resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.21.1.tgz#7d1b0060fea407f8301e932492ba8c18aff29713" - integrity sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA== - dependencies: - "@eslint/object-schema" "^2.1.7" - debug "^4.3.1" - minimatch "^3.1.2" - -"@eslint/config-helpers@^0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.4.2.tgz#1bd006ceeb7e2e55b2b773ab318d300e1a66aeda" - integrity sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw== - dependencies: - "@eslint/core" "^0.17.0" - -"@eslint/core@^0.17.0": - version "0.17.0" - resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.17.0.tgz#77225820413d9617509da9342190a2019e78761c" - integrity sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ== - dependencies: - "@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== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^10.0.1" - globals "^14.0.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@9.39.1", "@eslint/js@^9.32.0": - version "9.39.1" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.39.1.tgz#0dd59c3a9f40e3f1882975c321470969243e0164" - integrity sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw== - -"@eslint/object-schema@^2.1.7": - version "2.1.7" - resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.7.tgz#6e2126a1347e86a4dedf8706ec67ff8e107ebbad" - integrity sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA== - -"@eslint/plugin-kit@^0.4.1": - version "0.4.1" - resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz#9779e3fd9b7ee33571a57435cf4335a1794a6cb2" - integrity sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA== - dependencies: - "@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== - dependencies: - "@shikijs/engine-oniguruma" "^3.14.0" - "@shikijs/langs" "^3.14.0" - "@shikijs/themes" "^3.14.0" - "@shikijs/types" "^3.14.0" - "@shikijs/vscode-textmate" "^10.0.2" - -"@humanfs/core@^0.19.1": - version "0.19.1" - resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.1.tgz#17c55ca7d426733fe3c561906b8173c336b40a77" - integrity sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA== - -"@humanfs/node@^0.16.6": - version "0.16.7" - resolved "https://registry.yarnpkg.com/@humanfs/node/-/node-0.16.7.tgz#822cb7b3a12c5a240a24f621b5a2413e27a45f26" - integrity sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ== - dependencies: - "@humanfs/core" "^0.19.1" - "@humanwhocodes/retry" "^0.4.0" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/retry@^0.4.0", "@humanwhocodes/retry@^0.4.2": - version "0.4.3" - 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/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== - dependencies: - "@inquirer/core" "^10.3.0" - "@inquirer/type" "^3.0.9" - -"@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== - dependencies: - "@inquirer/ansi" "^1.0.1" - "@inquirer/figures" "^1.0.14" - "@inquirer/type" "^3.0.9" - 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" - -"@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/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== - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" - integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - -"@jest/core@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" - integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== - dependencies: - "@jest/console" "^29.7.0" - "@jest/reporters" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - ci-info "^3.2.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^29.7.0" - jest-config "^29.7.0" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-resolve-dependencies "^29.7.0" - jest-runner "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - jest-watcher "^29.7.0" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" - integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== - dependencies: - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - -"@jest/expect-utils@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" - integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== - dependencies: - jest-get-type "^29.6.3" - -"@jest/expect@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" - integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== - dependencies: - expect "^29.7.0" - jest-snapshot "^29.7.0" - -"@jest/fake-timers@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" - integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== - dependencies: - "@jest/types" "^29.6.3" - "@sinonjs/fake-timers" "^10.0.2" - "@types/node" "*" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-util "^29.7.0" - -"@jest/globals@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" - integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/types" "^29.6.3" - jest-mock "^29.7.0" - -"@jest/reporters@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" - integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^6.0.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - jest-worker "^29.7.0" - slash "^3.0.0" - string-length "^4.0.1" - strip-ansi "^6.0.0" - v8-to-istanbul "^9.0.1" - -"@jest/schemas@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" - integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== - dependencies: - "@sinclair/typebox" "^0.27.8" - -"@jest/source-map@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" - integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== - dependencies: - "@jridgewell/trace-mapping" "^0.3.18" - callsites "^3.0.0" - graceful-fs "^4.2.9" - -"@jest/test-result@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" - integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== - dependencies: - "@jest/console" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" - integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== - dependencies: - "@jest/test-result" "^29.7.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - slash "^3.0.0" - -"@jest/transform@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" - integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== - dependencies: - "@babel/core" "^7.11.6" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^2.0.0" - fast-json-stable-stringify "^2.1.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - write-file-atomic "^4.0.2" - -"@jest/types@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" - integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== - dependencies: - "@jest/schemas" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.5": - version "0.3.13" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f" - integrity sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA== - dependencies: - "@jridgewell/sourcemap-codec" "^1.5.0" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/remapping@^2.3.5": - version "2.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/remapping/-/remapping-2.3.5.tgz#375c476d1972947851ba1e15ae8f123047445aa1" - integrity sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/source-map@^0.3.3": - version "0.3.11" - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.11.tgz#b21835cbd36db656b857c2ad02ebd413cc13a9ba" - integrity sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - -"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba" - integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== - -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.28": - version "0.3.31" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz#db15d6781c931f3a251a3dac39501c98a6082fd0" - integrity sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@mswjs/interceptors@^0.39.1", "@mswjs/interceptors@^0.39.5": - version "0.39.8" - resolved "https://registry.yarnpkg.com/@mswjs/interceptors/-/interceptors-0.39.8.tgz#0a2cf4cf26a731214ca4156273121f67dff7ebf8" - integrity sha512-2+BzZbjRO7Ct61k8fMNHEtoKjeWI9pIlHFTqBwZ5icHpqszIgEZbjb1MW5Z0+bITTCTl3gk4PDBxs9tA/csXvA== - dependencies: - "@open-draft/deferred-promise" "^2.2.0" - "@open-draft/logger" "^0.3.0" - "@open-draft/until" "^2.0.0" - is-node-process "^1.2.0" - 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" - integrity sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA== - -"@open-draft/logger@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@open-draft/logger/-/logger-0.3.0.tgz#2b3ab1242b360aa0adb28b85f5d7da1c133a0954" - integrity sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ== - dependencies: - is-node-process "^1.2.0" - outvariant "^1.4.0" - -"@open-draft/until@^2.0.0", "@open-draft/until@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@open-draft/until/-/until-2.1.0.tgz#0acf32f470af2ceaf47f095cdecd40d68666efda" - integrity sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg== - -"@pkgr/core@^0.2.9": - version "0.2.9" - resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.2.9.tgz#d229a7b7f9dac167a156992ef23c7f023653f53b" - integrity sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA== - -"@publint/pack@^0.1.2": - version "0.1.2" - 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== - dependencies: - "@shikijs/types" "3.14.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== - dependencies: - "@shikijs/types" "3.14.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== - dependencies: - "@shikijs/types" "3.14.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== - dependencies: - "@shikijs/vscode-textmate" "^10.0.2" - "@types/hast" "^3.0.4" - -"@shikijs/vscode-textmate@^10.0.2": - version "10.0.2" - resolved "https://registry.yarnpkg.com/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz#a90ab31d0cc1dfb54c66a69e515bf624fa7b2224" - integrity sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg== - -"@sinclair/typebox@^0.27.8": - version "0.27.8" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" - integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== - -"@sinonjs/commons@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" - integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^10.0.2": - version "10.3.0" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" - integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== - dependencies: - "@sinonjs/commons" "^3.0.0" - -"@tootallnate/once@2": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" - integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== - -"@types/babel__core@^7.1.14": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" - integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== - dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.27.0" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.27.0.tgz#b5819294c51179957afaec341442f9341e4108a9" - integrity sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" - integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.28.0" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.28.0.tgz#07d713d6cce0d265c9849db0cbe62d3f61f36f74" - integrity sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q== - dependencies: - "@babel/types" "^7.28.2" - -"@types/cookie@^0.6.0": - version "0.6.0" - resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.6.0.tgz#eac397f28bf1d6ae0ae081363eca2f425bedf0d5" - integrity sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA== - -"@types/eslint-scope@^3.7.7": - version "3.7.7" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" - integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*": - version "9.6.1" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-9.6.1.tgz#d5795ad732ce81715f27f75da913004a56751584" - integrity sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*", "@types/estree@^1.0.6", "@types/estree@^1.0.8": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" - integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== - -"@types/graceful-fs@^4.1.3": - version "4.1.9" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" - integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== - dependencies: - "@types/node" "*" - -"@types/hast@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/hast/-/hast-3.0.4.tgz#1d6b39993b82cea6ad783945b0508c25903e15aa" - integrity sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ== - dependencies: - "@types/unist" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" - integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== - -"@types/istanbul-lib-report@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" - integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" - integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@^29.5.14": - version "29.5.14" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.14.tgz#2b910912fa1d6856cadcd0c1f95af7df1d6049e5" - integrity sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ== - dependencies: - expect "^29.0.0" - pretty-format "^29.0.0" - -"@types/jsdom@^20.0.0": - version "20.0.1" - resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-20.0.1.tgz#07c14bc19bd2f918c1929541cdaacae894744808" - integrity sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ== - dependencies: - "@types/node" "*" - "@types/tough-cookie" "*" - parse5 "^7.0.0" - -"@types/json-schema@*", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.9": - version "7.0.15" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" - 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== - dependencies: - undici-types "~7.16.0" - -"@types/node@^18.19.70": - version "18.19.130" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.130.tgz#da4c6324793a79defb7a62cba3947ec5add00d59" - integrity sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg== - dependencies: - undici-types "~5.26.4" - -"@types/stack-utils@^2.0.0": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" - integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== - -"@types/statuses@^2.0.4": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/statuses/-/statuses-2.0.6.tgz#66748315cc9a96d63403baa8671b2c124f8633aa" - integrity sha512-xMAgYwceFhRA2zY+XbEA7mxYbA093wdiW8Vu6gZPGWy9cmOyU9XesH1tNcEWsKFd5Vzrqx5T3D38PWx1FIIXkA== - -"@types/tough-cookie@*": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304" - integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== - -"@types/unist@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.3.tgz#acaab0f919ce69cce629c2d4ed2eb4adc1b6c20c" - integrity sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q== - -"@types/yargs-parser@*": - version "21.0.3" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" - 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== - 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== - 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" - 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" - 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== - dependencies: - "@typescript-eslint/tsconfig-utils" "^8.46.3" - "@typescript-eslint/types" "^8.46.3" - 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== - dependencies: - "@typescript-eslint/types" "8.46.3" - "@typescript-eslint/visitor-keys" "8.46.3" - -"@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/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== - dependencies: - "@typescript-eslint/types" "8.46.3" - "@typescript-eslint/typescript-estree" "8.46.3" - "@typescript-eslint/utils" "8.46.3" - 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/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== - 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" - debug "^4.3.4" - fast-glob "^3.3.2" - is-glob "^4.0.3" - minimatch "^9.0.4" - semver "^7.6.0" - 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== - 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/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== - dependencies: - "@typescript-eslint/types" "8.46.3" - eslint-visitor-keys "^4.2.1" - -"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1": - version "1.14.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.14.1.tgz#a9f6a07f2b03c95c8d38c4536a1fdfb521ff55b6" - integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== - dependencies: - "@webassemblyjs/helper-numbers" "1.13.2" - "@webassemblyjs/helper-wasm-bytecode" "1.13.2" - -"@webassemblyjs/floating-point-hex-parser@1.13.2": - version "1.13.2" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz#fcca1eeddb1cc4e7b6eed4fc7956d6813b21b9fb" - integrity sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA== - -"@webassemblyjs/helper-api-error@1.13.2": - version "1.13.2" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz#e0a16152248bc38daee76dd7e21f15c5ef3ab1e7" - integrity sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ== - -"@webassemblyjs/helper-buffer@1.14.1": - version "1.14.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz#822a9bc603166531f7d5df84e67b5bf99b72b96b" - integrity sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA== - -"@webassemblyjs/helper-numbers@1.13.2": - version "1.13.2" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz#dbd932548e7119f4b8a7877fd5a8d20e63490b2d" - integrity sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.13.2" - "@webassemblyjs/helper-api-error" "1.13.2" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.13.2": - version "1.13.2" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz#e556108758f448aae84c850e593ce18a0eb31e0b" - integrity sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA== - -"@webassemblyjs/helper-wasm-section@1.14.1": - version "1.14.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz#9629dda9c4430eab54b591053d6dc6f3ba050348" - integrity sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw== - dependencies: - "@webassemblyjs/ast" "1.14.1" - "@webassemblyjs/helper-buffer" "1.14.1" - "@webassemblyjs/helper-wasm-bytecode" "1.13.2" - "@webassemblyjs/wasm-gen" "1.14.1" - -"@webassemblyjs/ieee754@1.13.2": - version "1.13.2" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz#1c5eaace1d606ada2c7fd7045ea9356c59ee0dba" - integrity sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.13.2": - version "1.13.2" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz#57c5c3deb0105d02ce25fa3fd74f4ebc9fd0bbb0" - integrity sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.13.2": - version "1.13.2" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz#917a20e93f71ad5602966c2d685ae0c6c21f60f1" - integrity sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ== - -"@webassemblyjs/wasm-edit@^1.14.1": - version "1.14.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz#ac6689f502219b59198ddec42dcd496b1004d597" - integrity sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ== - dependencies: - "@webassemblyjs/ast" "1.14.1" - "@webassemblyjs/helper-buffer" "1.14.1" - "@webassemblyjs/helper-wasm-bytecode" "1.13.2" - "@webassemblyjs/helper-wasm-section" "1.14.1" - "@webassemblyjs/wasm-gen" "1.14.1" - "@webassemblyjs/wasm-opt" "1.14.1" - "@webassemblyjs/wasm-parser" "1.14.1" - "@webassemblyjs/wast-printer" "1.14.1" - -"@webassemblyjs/wasm-gen@1.14.1": - version "1.14.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz#991e7f0c090cb0bb62bbac882076e3d219da9570" - integrity sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg== - dependencies: - "@webassemblyjs/ast" "1.14.1" - "@webassemblyjs/helper-wasm-bytecode" "1.13.2" - "@webassemblyjs/ieee754" "1.13.2" - "@webassemblyjs/leb128" "1.13.2" - "@webassemblyjs/utf8" "1.13.2" - -"@webassemblyjs/wasm-opt@1.14.1": - version "1.14.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz#e6f71ed7ccae46781c206017d3c14c50efa8106b" - integrity sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw== - dependencies: - "@webassemblyjs/ast" "1.14.1" - "@webassemblyjs/helper-buffer" "1.14.1" - "@webassemblyjs/wasm-gen" "1.14.1" - "@webassemblyjs/wasm-parser" "1.14.1" - -"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.14.1": - version "1.14.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz#b3e13f1893605ca78b52c68e54cf6a865f90b9fb" - integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== - dependencies: - "@webassemblyjs/ast" "1.14.1" - "@webassemblyjs/helper-api-error" "1.13.2" - "@webassemblyjs/helper-wasm-bytecode" "1.13.2" - "@webassemblyjs/ieee754" "1.13.2" - "@webassemblyjs/leb128" "1.13.2" - "@webassemblyjs/utf8" "1.13.2" - -"@webassemblyjs/wast-printer@1.14.1": - version "1.14.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz#3bb3e9638a8ae5fdaf9610e7a06b4d9f9aa6fe07" - integrity sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw== - dependencies: - "@webassemblyjs/ast" "1.14.1" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -abab@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" - integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== - -acorn-globals@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-7.0.1.tgz#0dbf05c44fa7c94332914c02066d5beff62c40c3" - integrity sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q== - dependencies: - acorn "^8.1.0" - acorn-walk "^8.0.2" - -acorn-import-phases@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz#16eb850ba99a056cb7cbfe872ffb8972e18c8bd7" - integrity sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ== - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^8.0.2: - version "8.3.4" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" - integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== - dependencies: - acorn "^8.11.0" - -acorn@^8.1.0, acorn@^8.11.0, acorn@^8.15.0, acorn@^8.8.1: - version "8.15.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816" - integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== - -agent-base@6: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -ajv-formats@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" - integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== - dependencies: - ajv "^8.0.0" - -ajv-keywords@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" - integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== - dependencies: - fast-deep-equal "^3.1.3" - -ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.0, ajv@^8.9.0: - version "8.17.1" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" - integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== - dependencies: - fast-deep-equal "^3.1.3" - fast-uri "^3.0.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - -ansi-escapes@^4.2.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-escapes@^7.0.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-7.2.0.tgz#31b25afa3edd3efc09d98c2fee831d460ff06b49" - integrity sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw== - dependencies: - environment "^1.0.0" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.2.2" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.2.2.tgz#60216eea464d864597ce2832000738a0589650c1" - integrity sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg== - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -ansi-styles@^6.2.1: - version "6.2.3" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.3.tgz#c044d5dcc521a076413472597a1acb1f103c4041" - integrity sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg== - -anymatch@^3.0.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - 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== - dependencies: - jose "^4.13.2" - undici-types "^6.15.0" - uuid "^9.0.0" - -babel-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" - integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== - dependencies: - "@jest/transform" "^29.7.0" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.6.3" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" - integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.1.14" - "@types/babel__traverse" "^7.0.6" - -babel-preset-current-node-syntax@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz#20730d6cdc7dda5d89401cab10ac6a32067acde6" - integrity sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-import-attributes" "^7.24.7" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - -babel-preset-jest@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" - integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== - dependencies: - babel-plugin-jest-hoist "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - -balanced-match@^1.0.0: - version "1.0.2" - 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== - -brace-expansion@^1.1.7: - version "1.1.12" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.12.tgz#ab9b454466e5a8cc3a187beaad580412a9c5b843" - integrity sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.2.tgz#54fc53237a613d854c7bd37463aad17df87214e7" - integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" - integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== - dependencies: - 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== - 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" - -bs-logger@^0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" - integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== - dependencies: - fast-json-stable-stringify "2.x" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" - integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.2.0: - version "6.3.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== - -chalk@^4.0.0, chalk@^4.1.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -chrome-trace-event@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b" - integrity sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ== - -ci-info@^3.2.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" - integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== - -cjs-module-lexer@^1.0.0: - version "1.4.3" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz#0f79731eb8cfe1ec72acd4066efac9d61991b00d" - integrity sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q== - -cli-cursor@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-5.0.0.tgz#24a4831ecf5a6b01ddeb32fb71a4b2088b0dce38" - integrity sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw== - dependencies: - restore-cursor "^5.0.0" - -cli-truncate@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-5.1.1.tgz#455476face9904d94b7d11e98d9adbca15292ea5" - integrity sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A== - dependencies: - slice-ansi "^7.1.0" - string-width "^8.0.0" - -cli-width@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-4.1.0.tgz#42daac41d3c254ef38ad8ac037672130173691c5" - integrity sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ== - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -collect-v8-coverage@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.3.tgz#cc1f01eb8d02298cbc9a437c74c70ab4e5210b80" - integrity sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw== - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colorette@^2.0.20: - version "2.0.20" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" - integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@^14.0.1: - version "14.0.2" - resolved "https://registry.yarnpkg.com/commander/-/commander-14.0.2.tgz#b71fd37fe4069e4c3c7c13925252ada4eba14e8e" - integrity sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ== - -commander@^2.20.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -cookie@^0.7.2: - version "0.7.2" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.2.tgz#556369c472a2ba910f2979891b526b3436237ed7" - integrity sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w== - -create-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" - integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-config "^29.7.0" - jest-util "^29.7.0" - prompts "^2.0.1" - -cross-spawn@^7.0.3, cross-spawn@^7.0.6: - version "7.0.6" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" - integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -cssom@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36" - integrity sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -data-urls@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143" - integrity sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ== - dependencies: - abab "^2.0.6" - whatwg-mimetype "^3.0.0" - whatwg-url "^11.0.0" - -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.4.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" - integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== - dependencies: - ms "^2.1.3" - -decimal.js@^10.4.2: - version "10.6.0" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.6.0.tgz#e649a43e3ab953a72192ff5983865e509f37ed9a" - integrity sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg== - -dedent@^1.0.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.7.0.tgz#c1f9445335f0175a96587be245a282ff451446ca" - integrity sha512-HGFtf8yhuhGhqO07SV79tRp+br4MnbdjeVxotpn1QBl30pcLLCQjX5b2295ll0fv8RKDKsmWYrl05usHM9CewQ== - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -deepmerge@^4.2.2: - version "4.3.1" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -diff-sequences@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" - integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== - -domexception@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673" - integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw== - dependencies: - webidl-conversions "^7.0.0" - -dunder-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" - integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== - dependencies: - call-bind-apply-helpers "^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== - -emittery@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" - integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== - -emoji-regex@^10.3.0: - version "10.6.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.6.0.tgz#bf3d6e8f7f8fd22a65d9703475bc0147357a6b0d" - integrity sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -enhanced-resolve@^5.0.0, enhanced-resolve@^5.17.3: - version "5.18.3" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz#9b5f4c5c076b8787c78fe540392ce76a88855b44" - integrity sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -entities@^4.4.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" - integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== - -entities@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/entities/-/entities-6.0.1.tgz#c28c34a43379ca7f61d074130b2f5f7020a30694" - integrity sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g== - -environment@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/environment/-/environment-1.1.0.tgz#8e86c66b180f363c7ab311787e0259665f45a9f1" - integrity sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q== - -error-ex@^1.3.1: - version "1.3.4" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.4.tgz#b3a8d8bb6f92eecc1629e3e27d3c8607a8a32414" - integrity sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ== - dependencies: - is-arrayish "^0.2.1" - -es-define-property@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" - integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== - -es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== - -es-module-lexer@^1.2.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz#9159601561880a85f2734560a9099b2c31e5372a" - integrity sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA== - -es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" - integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== - dependencies: - es-errors "^1.3.0" - -es-set-tostringtag@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" - integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== - dependencies: - es-errors "^1.3.0" - get-intrinsic "^1.2.6" - has-tostringtag "^1.0.2" - hasown "^2.0.2" - -escalade@^3.1.1, escalade@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" - integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escodegen@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" - integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionalDependencies: - source-map "~0.6.1" - -eslint-config-prettier@^10.1.8: - version "10.1.8" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz#15734ce4af8c2778cc32f0b01b37b0b5cd1ecb97" - integrity sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w== - -eslint-plugin-prettier@^5.5.3: - version "5.5.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.4.tgz#9d61c4ea11de5af704d4edf108c82ccfa7f2e61c" - integrity sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg== - dependencies: - prettier-linter-helpers "^1.0.0" - synckit "^0.11.7" - -eslint-scope@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-scope@^8.4.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.4.0.tgz#88e646a207fad61436ffa39eb505147200655c82" - integrity sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint-visitor-keys@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz#4cfea60fe7dd0ad8e816e1ed026c1d5251b512c1" - integrity sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ== - -eslint@^9.32.0: - version "9.39.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.39.1.tgz#be8bf7c6de77dcc4252b5a8dcb31c2efff74a6e5" - integrity sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g== - dependencies: - "@eslint-community/eslint-utils" "^4.8.0" - "@eslint-community/regexpp" "^4.12.1" - "@eslint/config-array" "^0.21.1" - "@eslint/config-helpers" "^0.4.2" - "@eslint/core" "^0.17.0" - "@eslint/eslintrc" "^3.3.1" - "@eslint/js" "9.39.1" - "@eslint/plugin-kit" "^0.4.1" - "@humanfs/node" "^0.16.6" - "@humanwhocodes/module-importer" "^1.0.1" - "@humanwhocodes/retry" "^0.4.2" - "@types/estree" "^1.0.6" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.6" - debug "^4.3.2" - escape-string-regexp "^4.0.0" - eslint-scope "^8.4.0" - eslint-visitor-keys "^4.2.1" - espree "^10.4.0" - esquery "^1.5.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^8.0.0" - find-up "^5.0.0" - glob-parent "^6.0.2" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - json-stable-stringify-without-jsonify "^1.0.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - -espree@^10.0.1, espree@^10.4.0: - version "10.4.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-10.4.0.tgz#d54f4949d4629005a1fa168d937c3ff1f7e2a837" - integrity sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ== - dependencies: - acorn "^8.15.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^4.2.1" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" - integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -eventemitter3@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" - integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== - -events@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== - -expect@^29.0.0, expect@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" - integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== - dependencies: - "@jest/expect-utils" "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-diff@^1.1.2: - version "1.3.0" - 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" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fast-uri@^3.0.1: - version "3.1.0" - 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" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== - dependencies: - bser "2.1.1" - -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" - integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== - dependencies: - flat-cache "^4.0.0" - -fill-range@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" - integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== - dependencies: - to-regex-range "^5.0.1" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" - integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== - dependencies: - flatted "^3.2.9" - keyv "^4.5.4" - -flatted@^3.2.9: - version "3.3.3" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.3.tgz#67c8fad95454a7c7abebf74bb78ee74a44023358" - 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== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - es-set-tostringtag "^2.1.0" - hasown "^2.0.2" - mime-types "^2.1.12" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@^2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-east-asian-width@^1.0.0, get-east-asian-width@^1.3.0, get-east-asian-width@^1.3.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz#9bc4caa131702b4b61729cb7e42735bc550c9ee6" - integrity sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q== - -get-intrinsic@^1.2.6: - version "1.3.0" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" - integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== - dependencies: - call-bind-apply-helpers "^1.0.2" - es-define-property "^1.0.1" - es-errors "^1.3.0" - es-object-atoms "^1.1.1" - function-bind "^1.1.2" - get-proto "^1.0.1" - gopd "^1.2.0" - has-symbols "^1.1.0" - hasown "^2.0.2" - math-intrinsics "^1.1.0" - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" - integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== - dependencies: - dunder-proto "^1.0.1" - es-object-atoms "^1.0.0" - -get-stream@^6.0.0: - version "6.0.1" - 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" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@^7.1.3, glob@^7.1.4: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^14.0.0: - version "14.0.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" - integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== - -gopd@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" - integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== - -graceful-fs@^4.1.2, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.9: - version "4.2.11" - 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" - integrity sha512-DKKrynuQRne0PNpEbzuEdHlYOMksHSUI8Zc9Unei5gTsMNA2/vMpoMz/yKba50pejK56qj98qM0SjYxAKi13gQ== - -handlebars@^4.7.8: - version "4.7.8" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" - integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== - dependencies: - minimist "^1.2.5" - neo-async "^2.6.2" - source-map "^0.6.1" - wordwrap "^1.0.0" - optionalDependencies: - uglify-js "^3.1.4" - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-symbols@^1.0.3, has-symbols@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" - integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== - -has-tostringtag@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" - integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== - dependencies: - has-symbols "^1.0.3" - -hasown@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" - integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== - dependencies: - function-bind "^1.1.2" - -headers-polyfill@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/headers-polyfill/-/headers-polyfill-4.0.3.tgz#922a0155de30ecc1f785bcf04be77844ca95ad07" - integrity sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ== - -html-encoding-sniffer@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" - integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== - dependencies: - whatwg-encoding "^2.0.0" - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -http-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" - integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== - dependencies: - "@tootallnate/once" "2" - agent-base "6" - debug "4" - -https-proxy-agent@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -husky@^9.1.7: - version "9.1.7" - resolved "https://registry.yarnpkg.com/husky/-/husky-9.1.7.tgz#d46a38035d101b46a70456a850ff4201344c0b2d" - integrity sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA== - -iconv-lite@0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -ignore@^5.2.0: - version "5.3.2" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" - integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== - -ignore@^7.0.0: - version "7.0.5" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.5.tgz#4cb5f6cd7d4c7ab0365738c7aea888baa6d7efd9" - integrity sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg== - -import-fresh@^3.2.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" - integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.2.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" - integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-core-module@^2.16.1: - version "2.16.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" - integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== - dependencies: - hasown "^2.0.2" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-fullwidth-code-point@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz#046b2a6d4f6b156b2233d3207d4b5a9783999b98" - integrity sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ== - dependencies: - get-east-asian-width "^1.3.1" - -is-generator-fn@^2.0.0: - version "2.1.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: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-node-process@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-node-process/-/is-node-process-1.2.0.tgz#ea02a1b90ddb3934a19aea414e88edef7e11d134" - integrity sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw== - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" - integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== - -istanbul-lib-instrument@^5.0.4: - version "5.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" - -istanbul-lib-instrument@^6.0.0: - version "6.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz#fa15401df6c15874bcb2105f773325d78c666765" - integrity sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q== - dependencies: - "@babel/core" "^7.23.9" - "@babel/parser" "^7.23.9" - "@istanbuljs/schema" "^0.1.3" - istanbul-lib-coverage "^3.2.0" - semver "^7.5.4" - -istanbul-lib-report@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" - integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^4.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.3: - version "3.2.0" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.2.0.tgz#cb4535162b5784aa623cee21a7252cf2c807ac93" - integrity sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" - integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== - dependencies: - execa "^5.0.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - -jest-circus@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" - integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^1.0.0" - is-generator-fn "^2.0.0" - jest-each "^29.7.0" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - pretty-format "^29.7.0" - pure-rand "^6.0.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-cli@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" - integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== - dependencies: - "@jest/core" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - chalk "^4.0.0" - create-jest "^29.7.0" - exit "^0.1.2" - import-local "^3.0.2" - jest-config "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - yargs "^17.3.1" - -jest-config@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" - integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== - dependencies: - "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.7.0" - "@jest/types" "^29.6.3" - babel-jest "^29.7.0" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-circus "^29.7.0" - jest-environment-node "^29.7.0" - jest-get-type "^29.6.3" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-runner "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" - integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.6.3" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-docblock@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" - integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== - dependencies: - detect-newline "^3.0.0" - -jest-each@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" - integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - jest-get-type "^29.6.3" - jest-util "^29.7.0" - pretty-format "^29.7.0" - -jest-environment-jsdom@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz#d206fa3551933c3fd519e5dfdb58a0f5139a837f" - integrity sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/jsdom" "^20.0.0" - "@types/node" "*" - jest-mock "^29.7.0" - jest-util "^29.7.0" - jsdom "^20.0.0" - -jest-environment-node@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" - integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - jest-util "^29.7.0" - -jest-get-type@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" - integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== - -jest-haste-map@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" - integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== - dependencies: - "@jest/types" "^29.6.3" - "@types/graceful-fs" "^4.1.3" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - jest-worker "^29.7.0" - micromatch "^4.0.4" - walker "^1.0.8" - optionalDependencies: - fsevents "^2.3.2" - -jest-leak-detector@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" - integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== - dependencies: - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-matcher-utils@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" - integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== - dependencies: - chalk "^4.0.0" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-message-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" - integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.6.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" - integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-util "^29.7.0" - -jest-pnp-resolver@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" - integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== - -jest-regex-util@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" - integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== - -jest-resolve-dependencies@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" - integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== - dependencies: - jest-regex-util "^29.6.3" - jest-snapshot "^29.7.0" - -jest-resolve@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" - integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== - dependencies: - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-pnp-resolver "^1.2.2" - jest-util "^29.7.0" - jest-validate "^29.7.0" - resolve "^1.20.0" - resolve.exports "^2.0.0" - slash "^3.0.0" - -jest-runner@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" - integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== - dependencies: - "@jest/console" "^29.7.0" - "@jest/environment" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.13.1" - graceful-fs "^4.2.9" - jest-docblock "^29.7.0" - jest-environment-node "^29.7.0" - jest-haste-map "^29.7.0" - jest-leak-detector "^29.7.0" - jest-message-util "^29.7.0" - jest-resolve "^29.7.0" - jest-runtime "^29.7.0" - jest-util "^29.7.0" - jest-watcher "^29.7.0" - jest-worker "^29.7.0" - p-limit "^3.1.0" - source-map-support "0.5.13" - -jest-runtime@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" - integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/globals" "^29.7.0" - "@jest/source-map" "^29.6.3" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-snapshot@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" - integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== - dependencies: - "@babel/core" "^7.11.6" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-jsx" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^29.7.0" - graceful-fs "^4.2.9" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - natural-compare "^1.4.0" - pretty-format "^29.7.0" - semver "^7.5.3" - -jest-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" - integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" - integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== - dependencies: - "@jest/types" "^29.6.3" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^29.6.3" - leven "^3.1.0" - pretty-format "^29.7.0" - -jest-watcher@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" - integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== - dependencies: - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.13.1" - jest-util "^29.7.0" - string-length "^4.0.1" - -jest-worker@^27.4.5: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest-worker@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" - integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== - dependencies: - "@types/node" "*" - jest-util "^29.7.0" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" - integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== - dependencies: - "@jest/core" "^29.7.0" - "@jest/types" "^29.6.3" - import-local "^3.0.2" - jest-cli "^29.7.0" - -jose@^4.13.2: - version "4.15.9" - resolved "https://registry.yarnpkg.com/jose/-/jose-4.15.9.tgz#9b68eda29e9a0614c042fa29387196c7dd800100" - integrity sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA== - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - 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== - 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== - dependencies: - argparse "^2.0.1" - -jsdom@^20.0.0: - version "20.0.3" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.3.tgz#886a41ba1d4726f67a8858028c99489fed6ad4db" - integrity sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ== - dependencies: - abab "^2.0.6" - acorn "^8.8.1" - acorn-globals "^7.0.0" - cssom "^0.5.0" - cssstyle "^2.3.0" - data-urls "^3.0.2" - decimal.js "^10.4.2" - domexception "^4.0.0" - escodegen "^2.0.0" - form-data "^4.0.0" - html-encoding-sniffer "^3.0.0" - http-proxy-agent "^5.0.0" - https-proxy-agent "^5.0.1" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.2" - parse5 "^7.1.1" - saxes "^6.0.0" - symbol-tree "^3.2.4" - tough-cookie "^4.1.2" - w3c-xmlserializer "^4.0.0" - webidl-conversions "^7.0.0" - whatwg-encoding "^2.0.0" - whatwg-mimetype "^3.0.0" - whatwg-url "^11.0.0" - ws "^8.11.0" - xml-name-validator "^4.0.0" - -jsesc@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" - integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json-stringify-safe@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - -json5@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -keyv@^4.5.4: - version "4.5.4" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -linkify-it@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-5.0.0.tgz#9ef238bfa6dc70bd8e7f9572b52d369af569b421" - integrity sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ== - dependencies: - 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== - dependencies: - commander "^14.0.1" - listr2 "^9.0.5" - micromatch "^4.0.8" - nano-spawn "^2.0.0" - pidtree "^0.6.0" - string-argv "^0.3.2" - yaml "^2.8.1" - -listr2@^9.0.5: - version "9.0.5" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-9.0.5.tgz#92df7c4416a6da630eb9ef46da469b70de97b316" - integrity sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g== - dependencies: - cli-truncate "^5.0.0" - colorette "^2.0.20" - eventemitter3 "^5.0.1" - log-update "^6.1.0" - rfdc "^1.4.1" - wrap-ansi "^9.0.0" - -loader-runner@^4.2.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.1.tgz#6c76ed29b0ccce9af379208299f07f876de737e3" - integrity sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q== - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -log-update@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-6.1.0.tgz#1a04ff38166f94647ae1af562f4bd6a15b1b7cd4" - integrity sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w== - dependencies: - ansi-escapes "^7.0.0" - cli-cursor "^5.0.0" - slice-ansi "^7.1.0" - strip-ansi "^7.1.0" - wrap-ansi "^9.0.0" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lunr@^2.3.9: - version "2.3.9" - resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" - integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== - -make-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" - integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== - dependencies: - semver "^7.5.3" - -make-error@^1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - -markdown-it@^14.1.0: - version "14.1.0" - resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-14.1.0.tgz#3c3c5992883c633db4714ccb4d7b5935d98b7d45" - integrity sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg== - dependencies: - argparse "^2.0.1" - entities "^4.4.0" - linkify-it "^5.0.0" - mdurl "^2.0.0" - punycode.js "^2.3.1" - uc.micro "^2.1.0" - -math-intrinsics@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" - integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== - -mdurl@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-2.0.0.tgz#80676ec0433025dd3e17ee983d0fe8de5a2237e0" - integrity sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w== - -merge-stream@^2.0.0: - version "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" - integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== - dependencies: - braces "^3.0.3" - picomatch "^2.3.1" - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12, mime-types@^2.1.27: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mimic-function@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/mimic-function/-/mimic-function-5.0.1.tgz#acbe2b3349f99b9deaca7fb70e48b83e94e67076" - integrity sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA== - -minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^9.0.4, minimatch@^9.0.5: - version "9.0.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" - integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.5: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -mri@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" - integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== - -ms@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -msw@2.11.2: - version "2.11.2" - resolved "https://registry.yarnpkg.com/msw/-/msw-2.11.2.tgz#622d83855f456a5f93b1528f6eb6f4c0114623c3" - integrity sha512-MI54hLCsrMwiflkcqlgYYNJJddY5/+S0SnONvhv1owOplvqohKSQyGejpNdUGyCwgs4IH7PqaNbPw/sKOEze9Q== - dependencies: - "@bundled-es-modules/cookie" "^2.0.1" - "@bundled-es-modules/statuses" "^1.0.1" - "@inquirer/confirm" "^5.0.0" - "@mswjs/interceptors" "^0.39.1" - "@open-draft/deferred-promise" "^2.2.0" - "@open-draft/until" "^2.1.0" - "@types/cookie" "^0.6.0" - "@types/statuses" "^2.0.4" - graphql "^16.8.1" - headers-polyfill "^4.0.2" - is-node-process "^1.2.0" - outvariant "^1.4.3" - path-to-regexp "^6.3.0" - picocolors "^1.1.1" - rettime "^0.7.0" - strict-event-emitter "^0.5.1" - tough-cookie "^6.0.0" - type-fest "^4.26.1" - yargs "^17.7.2" - -mute-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-2.0.0.tgz#a5446fc0c512b71c83c44d908d5c7b7b4c493b2b" - integrity sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA== - -nano-spawn@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/nano-spawn/-/nano-spawn-2.0.0.tgz#f1250434c09ae18870d4f729fc54b406cf85a3e1" - integrity sha512-tacvGzUY5o2D8CBh2rrwxyNojUsZNU2zjNTzKQrkgGJQTbGAfArVWXSKMBokBeeg6C7OLRGUEyoFlYbfeWQIqw== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -nock@^14.0.6: - version "14.0.10" - resolved "https://registry.yarnpkg.com/nock/-/nock-14.0.10.tgz#d6f4e73e1c6b4b7aa19d852176e68940e15cd19d" - integrity sha512-Q7HjkpyPeLa0ZVZC5qpxBt5EyLczFJ91MEewQiIi9taWuA0KB/MDJlUWtON+7dGouVdADTQsf9RA7TZk6D8VMw== - dependencies: - "@mswjs/interceptors" "^0.39.5" - json-stringify-safe "^5.0.1" - propagate "^2.0.0" - -node-int64@^0.4.0: - version "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: - 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== - -normalize-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - 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== - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -onetime@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-7.0.0.tgz#9f16c92d8c9ef5120e3acd9dd9957cceecc1ab60" - integrity sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ== - dependencies: - mimic-function "^5.0.0" - -optionator@^0.9.3: - version "0.9.4" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" - integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.5" - -outvariant@^1.4.0, outvariant@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.4.3.tgz#221c1bfc093e8fec7075497e7799fdbf43d14873" - integrity sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA== - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2, p-limit@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - 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== - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse5@^7.0.0, parse5@^7.1.1: - version "7.3.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.3.0.tgz#d7e224fa72399c7a175099f45fc2ad024b05ec05" - integrity sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw== - dependencies: - entities "^6.0.0" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-regexp@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.3.0.tgz#2b6a26a337737a8e1416f9272ed0766b1c0389f4" - integrity sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ== - -picocolors@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" - integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== - -picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pidtree@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" - integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== - -pirates@^4.0.4: - version "4.0.7" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.7.tgz#643b4a18c4257c8a65104b73f3049ce9a0a15e22" - integrity sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA== - -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - -prettier@3.4.2: - version "3.4.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.4.2.tgz#a5ce1fb522a588bf2b78ca44c6e6fe5aa5a2b13f" - integrity sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ== - -pretty-format@^29.0.0, pretty-format@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" - integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== - dependencies: - "@jest/schemas" "^29.6.3" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -prompts@^2.0.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -propagate@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/propagate/-/propagate-2.0.1.tgz#40cdedab18085c792334e64f0ac17256d38f9a45" - integrity sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag== - -psl@^1.1.33: - version "1.15.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.15.0.tgz#bdace31896f1d97cec6a79e8224898ce93d974c6" - integrity sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w== - dependencies: - punycode "^2.3.1" - -publint@^0.3.12: - version "0.3.15" - resolved "https://registry.yarnpkg.com/publint/-/publint-0.3.15.tgz#1f14793fb0cea14ad1dce2c524e9de6f6d64c311" - integrity sha512-xPbRAPW+vqdiaKy5sVVY0uFAu3LaviaPO3pZ9FaRx59l9+U/RKR1OEbLhkug87cwiVKxPXyB4txsv5cad67u+A== - dependencies: - "@publint/pack" "^0.1.2" - package-manager-detector "^1.3.0" - picocolors "^1.1.1" - sade "^1.8.1" - -punycode.js@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode.js/-/punycode.js-2.3.1.tgz#6b53e56ad75588234e79f4affa90972c7dd8cdb7" - integrity sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA== - -punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -pure-rand@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.1.0.tgz#d173cf23258231976ccbdb05247c9787957604f2" - integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== - -querystringify@^2.1.1: - version "2.2.0" - 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" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -react-is@^18.0.0: - version "18.3.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" - integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve.exports@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.3.tgz#41955e6f1b4013b7586f873749a635dea07ebe3f" - integrity sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A== - -resolve@^1.20.0: - version "1.22.11" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.11.tgz#aad857ce1ffb8bfa9b0b1ac29f1156383f68c262" - integrity sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ== - dependencies: - is-core-module "^2.16.1" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -restore-cursor@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-5.1.0.tgz#0766d95699efacb14150993f55baf0953ea1ebe7" - integrity sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA== - dependencies: - onetime "^7.0.0" - signal-exit "^4.1.0" - -rettime@^0.7.0: - version "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" - integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A== - dependencies: - mri "^1.1.0" - -safe-buffer@^5.1.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -"safer-buffer@>= 2.1.2 < 3.0.0": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -saxes@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5" - integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== - dependencies: - xmlchars "^2.2.0" - -schema-utils@^4.3.0, schema-utils@^4.3.3: - version "4.3.3" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.3.3.tgz#5b1850912fa31df90716963d45d9121fdfc09f46" - integrity sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA== - dependencies: - "@types/json-schema" "^7.0.9" - ajv "^8.9.0" - ajv-formats "^2.1.1" - ajv-keywords "^5.1.0" - -semver@^6.3.0, semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.3.4, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.7.3: - version "7.7.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.3.tgz#4b5f4143d007633a8dc671cd0a6ef9147b8bb946" - integrity sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q== - -serialize-javascript@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" - integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== - dependencies: - randombytes "^2.1.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -signal-exit@^3.0.3, signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -signal-exit@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" - integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slice-ansi@^7.1.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-7.1.2.tgz#adf7be70aa6d72162d907cd0e6d5c11f507b5403" - integrity sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w== - dependencies: - ansi-styles "^6.2.1" - is-fullwidth-code-point "^5.0.0" - -source-map-support@0.5.13: - version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.4: - version "0.7.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.6.tgz#a3658ab87e5b6429c8a1f3ba0083d4c61ca3ef02" - integrity sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== - dependencies: - escape-string-regexp "^2.0.0" - -statuses@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.2.tgz#8f75eecef765b5e1cfcdc080da59409ed424e382" - integrity sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw== - -strict-event-emitter@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz#1602ece81c51574ca39c6815e09f1a3e8550bd93" - integrity sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ== - -string-argv@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" - integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== - -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^7.0.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-7.2.0.tgz#b5bb8e2165ce275d4d43476dd2700ad9091db6dc" - integrity sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ== - dependencies: - emoji-regex "^10.3.0" - get-east-asian-width "^1.0.0" - strip-ansi "^7.1.0" - -string-width@^8.0.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-8.1.0.tgz#9e9fb305174947cf45c30529414b5da916e9e8d1" - integrity sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg== - dependencies: - get-east-asian-width "^1.3.0" - strip-ansi "^7.1.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.1.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.2.tgz#132875abde678c7ea8d691533f2e7e22bb744dba" - integrity sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA== - dependencies: - ansi-regex "^6.0.1" - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -synckit@^0.11.7: - version "0.11.11" - resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.11.11.tgz#c0b619cf258a97faa209155d9cd1699b5c998cb0" - integrity sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw== - dependencies: - "@pkgr/core" "^0.2.9" - -tapable@^2.2.0, tapable@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.3.0.tgz#7e3ea6d5ca31ba8e078b560f0d83ce9a14aa8be6" - integrity sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg== - -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== - dependencies: - "@jridgewell/trace-mapping" "^0.3.25" - jest-worker "^27.4.5" - schema-utils "^4.3.0" - serialize-javascript "^6.0.2" - 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== - dependencies: - "@jridgewell/source-map" "^0.3.3" - acorn "^8.15.0" - commander "^2.20.0" - source-map-support "~0.5.20" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - 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== - -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== - dependencies: - tldts-core "^7.0.17" - -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -tough-cookie@^4.1.2: - version "4.1.4" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36" - integrity sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.2.0" - url-parse "^1.5.3" - -tough-cookie@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-6.0.0.tgz#11e418b7864a2c0d874702bc8ce0f011261940e5" - integrity sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w== - dependencies: - tldts "^7.0.5" - -tr46@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" - integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA== - dependencies: - punycode "^2.1.1" - -ts-api-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-2.1.0.tgz#595f7094e46eed364c13fd23e75f9513d29baf91" - 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== - dependencies: - bs-logger "^0.2.6" - fast-json-stable-stringify "^2.1.0" - handlebars "^4.7.8" - json5 "^2.2.3" - lodash.memoize "^4.1.2" - make-error "^1.3.6" - semver "^7.7.3" - type-fest "^4.41.0" - yargs-parser "^21.1.1" - -ts-loader@^9.5.1: - version "9.5.4" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.5.4.tgz#44b571165c10fb5a90744aa5b7e119233c4f4585" - integrity sha512-nCz0rEwunlTZiy6rXFByQU1kVVpCIgUpc/psFiKVrUwrizdnIbRFu8w7bxhUF0X613DYwT4XzrZHpVyMe758hQ== - dependencies: - chalk "^4.1.0" - enhanced-resolve "^5.0.0" - micromatch "^4.0.0" - semver "^7.3.4" - source-map "^0.7.4" - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-fest@^4.26.1, type-fest@^4.41.0: - version "4.41.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.41.0.tgz#6ae1c8e5731273c2bf1f58ad39cbae2c91a46c58" - integrity sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA== - -typedoc-plugin-missing-exports@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/typedoc-plugin-missing-exports/-/typedoc-plugin-missing-exports-4.1.2.tgz#a125a679782082caad123e8b086b4ac9b28d08da" - 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== - dependencies: - "@gerrit0/mini-shiki" "^3.12.0" - lunr "^2.3.9" - markdown-it "^14.1.0" - minimatch "^9.0.5" - yaml "^2.8.1" - -typescript@~5.7.2: - version "5.7.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.7.3.tgz#919b44a7dbb8583a9b856d162be24a54bf80073e" - integrity sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw== - -uc.micro@^2.0.0, uc.micro@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-2.1.0.tgz#f8d3f7d0ec4c3dea35a7e3c8efa4cb8b45c9e7ee" - integrity sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A== - -uglify-js@^3.1.4: - version "3.19.3" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.19.3.tgz#82315e9bbc6f2b25888858acd1fff8441035b77f" - integrity sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ== - -undici-types@^6.15.0: - version "6.21.0" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" - integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -undici-types@~7.16.0: - version "7.16.0" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.16.0.tgz#ffccdff36aea4884cbfce9a750a0580224f58a46" - integrity sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw== - -undici@^7.12.0: - version "7.16.0" - resolved "https://registry.yarnpkg.com/undici/-/undici-7.16.0.tgz#cb2a1e957726d458b536e3f076bf51f066901c1a" - integrity sha512-QEg3HPMll0o3t2ourKwOeUAZ159Kn9mx5pnzHRQO8+Wixmh88YdZRiIwat0iNzNNXn0yoEtXJqFpyW7eM8BV7g== - -universalify@^0.2.0: - version "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== - dependencies: - escalade "^3.2.0" - picocolors "^1.1.1" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -url-parse@^1.5.3: - version "1.5.10" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" - integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -uuid@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-11.1.0.tgz#9549028be1753bb934fc96e2bca09bb4105ae912" - integrity sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A== - -uuid@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" - integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== - -v8-to-istanbul@^9.0.1: - version "9.3.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz#b9572abfa62bd556c16d75fdebc1a411d5ff3175" - integrity sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA== - dependencies: - "@jridgewell/trace-mapping" "^0.3.12" - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^2.0.0" - -w3c-xmlserializer@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073" - integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw== - dependencies: - xml-name-validator "^4.0.0" - -walker@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - -watchpack@^2.4.4: - version "2.4.4" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.4.tgz#473bda72f0850453da6425081ea46fc0d7602947" - integrity sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -webidl-conversions@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" - integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== - -webpack-sources@^3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.3.3.tgz#d4bf7f9909675d7a070ff14d0ef2a4f3c982c723" - 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== - dependencies: - "@types/eslint-scope" "^3.7.7" - "@types/estree" "^1.0.8" - "@types/json-schema" "^7.0.15" - "@webassemblyjs/ast" "^1.14.1" - "@webassemblyjs/wasm-edit" "^1.14.1" - "@webassemblyjs/wasm-parser" "^1.14.1" - acorn "^8.15.0" - acorn-import-phases "^1.0.3" - browserslist "^4.26.3" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.17.3" - es-module-lexer "^1.2.1" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.11" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^4.3.3" - tapable "^2.3.0" - terser-webpack-plugin "^5.3.11" - watchpack "^2.4.4" - webpack-sources "^3.3.3" - -whatwg-encoding@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" - integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== - dependencies: - iconv-lite "0.6.3" - -whatwg-mimetype@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" - integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== - -whatwg-url@^11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018" - integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ== - dependencies: - tr46 "^3.0.0" - webidl-conversions "^7.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -word-wrap@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" - integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== - -wordwrap@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^9.0.0: - version "9.0.2" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-9.0.2.tgz#956832dea9494306e6d209eb871643bb873d7c98" - integrity sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww== - dependencies: - ansi-styles "^6.2.1" - string-width "^7.0.0" - strip-ansi "^7.1.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^3.0.7" - -ws@^8.11.0: - version "8.18.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.3.tgz#b56b88abffde62791c639170400c93dcb0c95472" - integrity sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg== - -xml-name-validator@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" - integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - 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== - -yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs@^17.3.1, yargs@^17.7.2: - version "17.7.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yocto-queue@^0.1.0: - version "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: - version "2.1.3" - resolved "https://registry.yarnpkg.com/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz#7e4964ea8ec422b7a40ac917d3a344cfd2304baa" - integrity sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==